From a7703662a4ee043c1ba684d30ede016bb5dc2e41 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Tue, 15 Jan 2008 00:55:21 +0000 Subject: [PATCH] Merged with trunk svn path=/nixpkgs/branches/stdenv-updates/; revision=10145 --- pkgs/applications/audio/flac/default.nix | 6 +- pkgs/applications/editors/eclipse/default.nix | 7 +- .../applications/editors/vim/configurable.nix | 72 +++++ pkgs/applications/editors/vim/default.nix | 15 +- .../graphics/ImageMagick/default.nix | 8 +- pkgs/applications/graphics/gimp/default.nix | 6 +- pkgs/applications/misc/freemind/default.nix | 45 +++ pkgs/applications/misc/pinfo/default.nix | 12 +- pkgs/applications/misc/qgis_svn/default.nix | 74 +++++ .../misc/rxvt_unicode/default.nix | 12 +- pkgs/applications/misc/xterm/default.nix | 3 +- .../networking/browsers/firefox/default.nix | 7 +- .../networking/browsers/firefox3b1/3b2.nix | 57 ++++ .../networking/browsers/firefox3b1/binary.nix | 55 ++++ .../mozilla-plugins/flashplayer-9/default.nix | 18 +- .../mplayerplug-in/default.nix | 6 +- .../instant-messengers/pidgin/default.nix | 6 +- .../instant-messengers/teamspeak/client.nix | 71 +++++ .../networking/irc/chatzilla/default.nix | 6 +- .../networking/irc/irssi/default.nix | 6 +- .../networking/irc/xchat/default.nix | 6 +- .../mailreaders/sylpheed/default.nix | 6 +- .../networking/sniffers/wireshark/default.nix | 6 +- .../applications/office/openoffice/builder.sh | 2 + .../subversion-1.4.x/default.nix | 7 +- pkgs/applications/video/vlc/default.nix | 7 +- .../virtualization/qemu/0.9.0.nix | 26 ++ .../virtualization/qemu/linux-img/0.2.nix | 27 ++ .../virtualization/virtualbox/1.5.2.nix | 21 ++ pkgs/data/fonts/fontWrap/default.nix | 27 ++ pkgs/data/misc/xkeyboard-config/default.nix | 5 +- .../xkeyboard-config/level3-deadkeys-us-intl | 95 +++++++ .../compilers/ghc-6.6.1/builder.sh | 26 -- .../compilers/ghc-6.6.1/default.nix | 31 ++- pkgs/development/compilers/ghc-6.8/builder.sh | 26 -- .../development/compilers/ghc-6.8/default.nix | 37 ++- .../compilers/ghc-6.8/setup-hook.sh | 2 +- pkgs/development/compilers/ghc/boot.nix | 65 ++++- pkgs/development/compilers/ghc/boot.sh | 10 - .../interpreters/guile/default.nix | 6 +- .../interpreters/php_configurable/default.nix | 62 ++++- pkgs/development/interpreters/tcl/default.nix | 6 +- .../libraries/acl/acl-2.2.45-patch | 222 +++++++++++++++ pkgs/development/libraries/acl/builder.sh | 12 + pkgs/development/libraries/acl/default.nix | 14 + pkgs/development/libraries/attr/builder.sh | 2 + .../libraries/audiofile/default.nix | 6 +- .../libraries/boehm-gc/default.nix | 10 +- .../libraries/coredumper/default.nix | 6 +- .../libraries/cracklib/default.nix | 6 +- pkgs/development/libraries/db4/db4-4.4.nix | 5 +- pkgs/development/libraries/expat/default.nix | 6 +- .../libraries/ffmpeg_svn_snapshot/default.nix | 3 +- pkgs/development/libraries/giflib/default.nix | 10 + .../default.nix => giflib/libungif.nix} | 2 +- pkgs/development/libraries/gmp/default.nix | 15 +- .../development/libraries/libcaca/default.nix | 6 +- pkgs/development/libraries/libdv/default.nix | 30 ++ .../development/libraries/libpcap/default.nix | 6 +- pkgs/development/libraries/libpng/default.nix | 6 +- .../libraries/libraw1394/default.nix | 17 ++ .../libraries/libtheora/default.nix | 6 +- .../libraries/libvorbis/default.nix | 6 +- pkgs/development/libraries/libwpd/default.nix | 6 +- pkgs/development/libraries/popt/popt-1.7.nix | 5 +- .../libraries/readline/readline5.nix | 1 + .../libraries/readline/shobj-darwin.patch | 11 + pkgs/development/libraries/speex/default.nix | 6 +- pkgs/development/libraries/t1lib/default.nix | 9 +- pkgs/development/libraries/tk/default.nix | 6 +- .../misc/elfutils/{default.nix => 0.127.nix} | 4 +- .../development/tools/misc/elfutils/0.131.nix | 9 + .../development/tools/misc/strace/default.nix | 6 +- pkgs/development/tools/misc/swig/default.nix | 2 +- .../tools/misc/valgrind/default.nix | 7 +- .../tools/parsing/alex/default.nix | 23 ++ .../tools/parsing/bison/bison-1.875.nix | 4 +- .../tools/parsing/flex/flex-2.5.4a.nix | 2 +- pkgs/lib/default-unstable.nix | 63 ++++- pkgs/lib/default.nix | 61 ++++- pkgs/misc/maven/maven-2.nix | 23 ++ pkgs/misc/tex/auctex/default.nix | 2 +- pkgs/misc/xsane/default.nix | 6 +- pkgs/os-specific/linux/atheros/0.9.3.3.nix | 34 +++ pkgs/os-specific/linux/atheros/r2756.nix | 35 +++ pkgs/os-specific/linux/atheros/r3122.nix | 22 ++ .../linux/bridge_utils/default.nix | 2 +- pkgs/os-specific/linux/dmidecode/2.9.nix | 22 ++ pkgs/os-specific/linux/dvd+rw-tools/7.0.nix | 27 ++ pkgs/os-specific/linux/fuse/builder.sh | 2 + pkgs/os-specific/linux/fuse/default.nix | 18 +- .../linux/kernel/2.6.22-paravirt-nvidia.patch | 14 - pkgs/os-specific/linux/kernel/2.6.23.12.nix | 38 +++ .../linux/kernel/config-2.6.23-i686-smp | 2 +- pkgs/os-specific/linux/kqemu/1.3.0pre11.nix | 30 ++ .../linux/module-init-tools/aggregator.nix | 34 +++ pkgs/os-specific/linux/nvidia/builder.sh | 169 +++++------- pkgs/os-specific/linux/nvidia/default.nix | 44 +-- pkgs/os-specific/linux/sdparm/1.02.nix | 21 ++ pkgs/os-specific/linux/squashfs/default.nix | 6 +- pkgs/servers/x11/xorg/default.nix | 4 +- pkgs/shells/tcsh/default.nix | 6 +- pkgs/tools/X11/xlaunch/default.nix | 48 ++++ pkgs/tools/archivers/cabextract/default.nix | 4 +- pkgs/tools/archivers/zip/default.nix | 2 +- pkgs/tools/graphics/exif/default.nix | 6 +- pkgs/tools/graphics/graphviz/default.nix | 13 +- pkgs/tools/hddtemp/default.nix | 27 ++ pkgs/tools/misc/file/default.nix | 11 +- pkgs/tools/misc/grub/default.nix | 21 +- pkgs/tools/misc/less/default.nix | 6 +- pkgs/tools/misc/memtest86/default.nix | 26 ++ pkgs/tools/misc/psmisc/default.nix | 15 + pkgs/tools/misc/relfs/cvs.2007.12.01.nix | 4 +- .../networking/curl/connect-timeout.patch | 156 +++++++++++ pkgs/tools/networking/curl/default.nix | 17 +- .../networking/p2p/bit-tornado/default.nix | 4 +- pkgs/tools/networking/sshfs-fuse/default.nix | 11 +- pkgs/tools/networking/tcpdump/default.nix | 6 +- pkgs/tools/package-management/nix/default.nix | 10 +- .../tools/package-management/nix/unstable.nix | 4 +- pkgs/tools/security/gnupg/default.nix | 11 +- pkgs/top-level/all-packages.nix | 259 ++++++++++++++++-- pkgs/top-level/build-for-release.nix | 2 - pkgs/top-level/builder-defs.nix | 23 +- 125 files changed, 2379 insertions(+), 487 deletions(-) create mode 100644 pkgs/applications/editors/vim/configurable.nix create mode 100644 pkgs/applications/misc/freemind/default.nix create mode 100644 pkgs/applications/misc/qgis_svn/default.nix create mode 100644 pkgs/applications/networking/browsers/firefox3b1/3b2.nix create mode 100644 pkgs/applications/networking/browsers/firefox3b1/binary.nix create mode 100644 pkgs/applications/networking/instant-messengers/teamspeak/client.nix create mode 100644 pkgs/applications/virtualization/qemu/0.9.0.nix create mode 100644 pkgs/applications/virtualization/qemu/linux-img/0.2.nix create mode 100644 pkgs/applications/virtualization/virtualbox/1.5.2.nix create mode 100644 pkgs/data/fonts/fontWrap/default.nix create mode 100644 pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl delete mode 100644 pkgs/development/compilers/ghc-6.6.1/builder.sh delete mode 100644 pkgs/development/compilers/ghc-6.8/builder.sh delete mode 100644 pkgs/development/compilers/ghc/boot.sh create mode 100644 pkgs/development/libraries/acl/acl-2.2.45-patch create mode 100644 pkgs/development/libraries/acl/builder.sh create mode 100644 pkgs/development/libraries/acl/default.nix create mode 100644 pkgs/development/libraries/giflib/default.nix rename pkgs/development/libraries/{libungif/default.nix => giflib/libungif.nix} (69%) create mode 100644 pkgs/development/libraries/libdv/default.nix create mode 100644 pkgs/development/libraries/libraw1394/default.nix create mode 100644 pkgs/development/libraries/readline/shobj-darwin.patch rename pkgs/development/tools/misc/elfutils/{default.nix => 0.127.nix} (79%) create mode 100644 pkgs/development/tools/misc/elfutils/0.131.nix create mode 100644 pkgs/development/tools/parsing/alex/default.nix create mode 100644 pkgs/misc/maven/maven-2.nix create mode 100644 pkgs/os-specific/linux/atheros/0.9.3.3.nix create mode 100644 pkgs/os-specific/linux/atheros/r2756.nix create mode 100644 pkgs/os-specific/linux/atheros/r3122.nix create mode 100644 pkgs/os-specific/linux/dmidecode/2.9.nix create mode 100644 pkgs/os-specific/linux/dvd+rw-tools/7.0.nix delete mode 100644 pkgs/os-specific/linux/kernel/2.6.22-paravirt-nvidia.patch create mode 100644 pkgs/os-specific/linux/kernel/2.6.23.12.nix create mode 100644 pkgs/os-specific/linux/kqemu/1.3.0pre11.nix create mode 100644 pkgs/os-specific/linux/module-init-tools/aggregator.nix create mode 100644 pkgs/os-specific/linux/sdparm/1.02.nix create mode 100644 pkgs/tools/X11/xlaunch/default.nix create mode 100644 pkgs/tools/hddtemp/default.nix create mode 100644 pkgs/tools/misc/memtest86/default.nix create mode 100644 pkgs/tools/misc/psmisc/default.nix create mode 100644 pkgs/tools/networking/curl/connect-timeout.patch diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index 58c11aaa0f8..e61fd05ce38 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, libogg}: stdenv.mkDerivation { - name = "flac-1.1.2"; + name = "flac-1.2.1"; src = fetchurl { - url = http://downloads.xiph.org/releases/flac/flac-1.1.2.tar.gz; - md5 = "2bfc127cdda02834d0491ab531a20960"; + url = http://downloads.xiph.org/releases/flac/flac-1.2.1.tar.gz; + sha256 = "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn"; }; buildInputs = [libogg] ; diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 9051293f489..71afb07eece 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -11,10 +11,11 @@ let { }; bindist = - fetchurl { + if (stdenv.system == "x86_64-linux") then fetchurl { + url = "http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops/R-3.3.1.1-200710231652/eclipse-SDK-3.3.1.1-linux-gtk-x86_64.tar.gz"; + sha256 = "3fec49e95c45b56ad77b2bd15616af9d1fa6c3b338d4c70b497ecdc974c0b030"; + } else fetchurl { url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops/R-3.3.1.1-200710231652/eclipse-SDK-3.3.1.1-linux-gtk.tar.gz; sha256 = "409e47745c92ff8ea8b2037104ec90c2f8ce3edb3563fdb312d55e1bbd2ada01"; }; } - - diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix new file mode 100644 index 00000000000..b27bb157f75 --- /dev/null +++ b/pkgs/applications/editors/vim/configurable.nix @@ -0,0 +1,72 @@ +# TODO tidy up eg The patchelf code is patching gvim even if you don't build it.. +# but I have gvim with python support now :) - Marc +args: +let edf = args.lib.enableDisableFeature; in +( args.mkDerivationByConfiguration { + # most interpreters aren't tested yet.. (see python for example how to do it) + flagConfig = { + mandatory = { cfgOption = "--enable-gui=auto --with-features=${args.features}"; + buildInputs = ["ncurses" "pkgconfig"]; + }; + X11 = { buildInputs = [ "libX11" "libXext" "libSM" "libXpm" "libXt" "libXaw" "libXau" "libXmu" ]; }; + + } // edf "darwin" "darwin" { } #Disable Darwin (Mac OS X) support. + // edf "xsmp" "xsmp" { } #Disable XSMP session management + // edf "xsmp_interact" "xsmp_interact" { } #Disable XSMP interaction + // edf "mzscheme" "mzschemeinterp" { } #Include MzScheme interpreter. + // edf "perl" "perlinterp" { } #Include Perl interpreter. + // edf "python" "pythoninterp" { pass = "python"; } #Include Python interpreter. + // edf "tcl" "tclinterp" { } #Include Tcl interpreter. + // edf "ruby" "rubyinterp" { } #Include Ruby interpreter. + // edf "cscope" "cscope" { } #Include cscope interface. + // edf "workshop" "workshop" { } #Include Sun Visual Workshop support. + // edf "netbeans" "netbeans" { } #Disable NetBeans integration support. + // edf "sniff" "sniff" { } #Include Sniff interface. + // edf "multibyte" "multibyte" { } #Include multibyte editing support. + // edf "hangulinput" "hangulinput" { } #Include Hangul input support. + // edf "xim" "xim" { pass = "xim"; } #Include XIM input support. + // edf "fontset" "fontset" { } #Include X fontset output support. + + #--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon + /* + // edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes + // edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes + // edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no + // edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes + // edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes + // edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes + // edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes + // edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program + */ + // edf "acl" "acl" { } #Don't check for ACL support. + // edf "gpm" "gpm" { } #Don't use gpm (Linux mouse daemon). + // edf "nls" "nls" { } #Don't support NLS (gettext()). + ; + + optionals = ["python"]; + + extraAttrs = co : { + name = "vim_configurable-7.1"; + + src = args.fetchurl { + url = ftp://ftp.nluug.nl/pub/editors/vim/unix/vim-7.1.tar.bz2; + sha256 = "0w6gy49gdbw7hby5rjkjpa7cdvc0z5iajsm4j1h8108rvfam22kz"; + }; + + postInstall = " + rpath=`patchelf --print-rpath \$out/bin/vim`; + for i in $\buildInputs; do + echo adding \$i/lib + rpath=\$rpath:\$i/lib + done + echo \$buildInputs + echo \$rpath + patchelf --set-rpath \$rpath \$out/bin/{vim,gvim} + "; + + meta = { + description = "The most popular clone of the VI editor"; + homepage = "www.vim.org"; + }; +}; +} ) args diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index a08808a4756..5a524d6dabe 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -9,17 +9,28 @@ let ["athenaGUI" "libXau" "libXt" "libXaw" "libXpm" "libXext" "x11Support"] ["x11Support" "libX11"] ["hugeFeatures"] + ["pythonSupport" "python"] + ["perlSupport" "perl"] + ["tclSupport" "tcl"] ["true" "ncurses"] ["false" "libSM"] ]; nameSuffixes = [ "hugeFeatures" "-huge" "x11Support" "-X11" + "pythonSupport" "-python" + "perlSupport" "-perl" + "tclSupport" "-tcl" + "ximSupport" "-xim" ]; configFlags = [ - "true" " --disable-xim " + "true" " " "x11Support" " --enable-gui=auto " - "hugeFeatures" "--with-features=huge --enable-cscope --enable-multibyte --enable-xsmp" + "hugeFeatures" "--with-features=huge --enable-cscope --enable-multibyte --enable-xsmp " + "pythonSupport" " --enable-pythoninterp " + "perlSupport" " --enable-perlinterp " + "tclSupport" " --enable-tclinterp " + "ximSupport" " --enable-xim " ]; buildInputsNames = args.lib.filter (x: (null!=getVal x)) (args.lib.uniqList {inputList = diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 0f814bd3829..1795d29e7fb 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -1,10 +1,10 @@ args: with args; (stdenv.mkDerivation ({ - name = "ImageMagick-6.3.5"; + name = "ImageMagick-6.3.7-9"; src = fetchurl { - url = ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.5-5.tar.bz2; - sha256 = "0avq6kllxw552krxgsa72c1b44zwyhwi38dk4a4ij3fqy0svy9zh"; + url = ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.7-9.tar.bz2; + sha256 = "1s38s78xvzm20ib22zypsb9vvzva0kbqjf0pf4c1q89jzg205pk0"; }; configureFlags = " --with-dots --with-gs-font-dir="+ ghostscript + @@ -13,7 +13,7 @@ args: with args; ); buildInputs = [bzip2 freetype ghostscript graphviz libjpeg libpng - libtiff libX11 libxml2 zlib ] ++ (if args ? tetex then [args.tetex] else []) + libtiff libX11 libxml2 zlib libtool] ++ (if args ? tetex then [args.tetex] else []) ++ (if args ? librsvg then [args.librsvg] else []) ; } // (if args ? tetex then { diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index cda94032511..a591091d92f 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -4,10 +4,10 @@ }: stdenv.mkDerivation { - name = "gimp-2.4.0"; + name = "gimp-2.4.3"; src = fetchurl { - url = ftp://ftp.gtk.org/pub/gimp/v2.4/gimp-2.4.0.tar.bz2; - sha256 = "1p594r45hxk14469ma8g5j96nw5q9j6a3i0n6hbakfsh41izpsnx"; + url = ftp://ftp.gtk.org/pub/gimp/v2.4/gimp-2.4.3.tar.bz2; + sha256 = "1m9gdm6wa33x1bymy3c2d006ks0acq1y8a94rc4401f6mrw8jj8b"; }; buildInputs = [ diff --git a/pkgs/applications/misc/freemind/default.nix b/pkgs/applications/misc/freemind/default.nix new file mode 100644 index 00000000000..79b00204fd4 --- /dev/null +++ b/pkgs/applications/misc/freemind/default.nix @@ -0,0 +1,45 @@ +args: +args.stdenv.mkDerivation { + name = "freemind-0.9.0_Beta_13"; + + src = args.fetchurl { + url = http://downloads.sourceforge.net/freemind/freemind-src-0.9.0_Beta_13_icon_butterfly.tar.gz; + sha256 = "00389bhg73qknydrq0f3bskb5lyrdg2p58mnnp19wdvzzmfbic4w"; + }; + + buildInputs =(with args; [jdk ant]); + + inherit (args) jre; + + phases="buildPhase installPhase"; + + buildPhase="ant dist"; +# LIBXCB_ALLOW_SLOPPY_LOCK=true : +# don't know yet what this option really means but I'm no longer getting +# Checking Java Version... +# Locking assertion failure. Backtrace: +# java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed +# this way +# reference and more info https://bugs.launchpad.net/ubuntu/+source/sun-java5/+bug/86103 +# JDK 7 beta seems to have fixed this (bug ?) + + installPhase=" + ensureDir \$out/{bin,nix-support} + cp -r ../bin/dist \$out/nix-support + sed -i 's/which/type -p/' \$out/nix-support/dist/freemind.sh + cat > \$out/bin/freemind << EOF +#!/bin/sh +export LIBXCB_ALLOW_SLOPPY_LOCK=true +export JAVA_HOME=\$jre +\$out/nix-support/dist/freemind.sh +EOF + + chmod +x \$out/{bin/freemind,nix-support/dist/freemind.sh} + "; + + meta = { + description = "mind mapping software"; + homepage = http://freemind.sourceforge.net/wiki/index.php/Main_Page; + license = "GPL"; + }; +} diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix index b44cca5ff2c..d8dba39ccb5 100644 --- a/pkgs/applications/misc/pinfo/default.nix +++ b/pkgs/applications/misc/pinfo/default.nix @@ -1,10 +1,12 @@ -{stdenv, fetchurl, ncurses}: +{stdenv, fetchurl, ncurses, readline}: stdenv.mkDerivation { - name = "pinfo-0.6.8"; + name = "pinfo-0.6.9"; src = fetchurl { - url = http://dione.cc/~pborys/software/pinfo/pinfo-0.6.8.tar.gz; - md5 = "55feb4ebaa709b52bd00a15ed0fb52fb"; + url = https://alioth.debian.org/frs/download.php/1498/pinfo-0.6.9.tar.bz2; + sha256 = "1rbsz1y7nyz6ax9xfkw5wk6pnrhvwz2xcm0wnfnk4sb2wwq760q3"; }; - buildInputs = [ncurses]; + buildInputs = [ncurses readline]; + + configureFlags = "--with-curses=${ncurses} --with-readline=${readline}"; } diff --git a/pkgs/applications/misc/qgis_svn/default.nix b/pkgs/applications/misc/qgis_svn/default.nix new file mode 100644 index 00000000000..547e941ecac --- /dev/null +++ b/pkgs/applications/misc/qgis_svn/default.nix @@ -0,0 +1,74 @@ +args: +let optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${__getAttr attr args}/inc" + + " -D${name}_LIBRARY=${__getAttr attr args}/lib "; # lib 64? +in +( args.mkDerivationByConfiguration { + + flagConfig = { + mandatory = { + buildInputs = [ "gdal" "cmake" "qt" "flex" "bison" "proj" "geos" "x11" "sqlite" "gsl"]; + cfgOption = [ (optionIncLib "GEOS" "geos") + (optionIncLib "PROJ" "proj") + (optionIncLib "QT_X11_X11" "qt") + (optionIncLib "QT_X11_Xext" "qt") + (optionIncLib "QT_X11_m" "glibc") + (optionIncLib "SQLITE3" "sqlite") + +"-DQT_FONTCONFIG_LIBRARY=${args.fontconfig}/lib" +"-DQT_FREETYPE_LIBRARY=${args.freetype}/lib" +"-DQT_PNG_LIBRARY=${args.libpng}/lib" +"-DQT_X11_ICE_LIBRARY=${args.libICE}/lib" +"-DQT_X11_SM_LIBRARY=${args.libSM}/lib" +"-DQT_XCURSOR_LIBRARY=${args.libXcursor}/lib" +"-DQT_XINERAMA_LIBRARY=${args.libXinerama}/lib" +"-DQT_XRANDR_LIBRARY=${args.libXrandr}/lib" +"-DQT_XRENDER_LIBRARY=${args.libXrender}/lib" +"-DQT_ZLIB_LIBRARY=${args.zlib}/lib" + ]; + +/* advanced options - feel free to add them if you have time to +"-DPROJ_INCLUDE_DIR" +"-DPROJ_LIBRARY" +"-DQT_X11_X11_LIBRARY" +"-DQT_X11_Xext_LIBRARY" +"-DQT_X11_m_LIBRARY" +"-DSQLITE3_INCLUDE_DIR" +"-DSQLITE3_LIBRARY" +-DQT_FONTCONFIG_LIBRARY (ADVANCED) +-DQT_FREETYPE_LIBRARY (ADVANCED) +-DQT_PNG_LIBRARY (ADVANCED) +-DQT_X11_ICE_LIBRARY (ADVANCED) +-DQT_X11_SM_LIBRARY (ADVANCED) +-DQT_XCURSOR_LIBRARY (ADVANCED) +-DQT_XINERAMA_LIBRARY (ADVANCED) +-DQT_XRANDR_LIBRARY (ADVANCED) +-DQT_XRENDER_LIBRARY (ADVANCED) +-DQT_ZLIB_LIBRARY (ADVANCED) +*/ + }; + }; + + #inherit geos proj x11 libXext; + + extraAttrs = co : { + + name = "qgis-svn"; + + src = args.fetchsvn { url=https://svn.qgis.org/repos/qgis/trunk/qgis; + md5="ac0560e0a2d4e6258c8639f1e9b56df3"; rev="7704"; }; + + meta = { + description = "user friendly Open Source Geographic Information System"; + homepage = http://www.qgis.org; + # you can choose one of the following licenses: + license = [ "GPL" ]; + }; + + phases = "unpackPhase buildPhase installPhase"; + buildPhase = "cmake -DCMAKE_INSTALL_PREFIX=\$out ${co.configureFlags} ."; + + #configurePhase="./autogen.sh --prefix=\$out --with-gdal=\$gdal/bin/gdal-config --with-qtdir=\$qt"; + # buildPhases="unpackPhase buildPhase"; + }; + +} ) args diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index b43b3c275e8..c128ca11a5a 100644 --- a/pkgs/applications/misc/rxvt_unicode/default.nix +++ b/pkgs/applications/misc/rxvt_unicode/default.nix @@ -1,13 +1,13 @@ args: with args; stdenv.mkDerivation { - name = "rxvt-unicode-8.4"; - + name = "rxvt-unicode-8.9"; + buildInputs = [ libX11 libXt libXft perl ]; - + src = fetchurl { - url = http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-8.4.tar.bz2; - sha256 = "ff8d904a815151edde72bb3e51d1561125813569cb3d487cbac428ec23facdbb"; + url = http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-8.9.tar.bz2; + sha256 = "89858c5bfe72dba037cd3435b2221269580f3c699553fe24ee468ddec8831d27"; }; - + meta = { description = "rxvt-unicode is a clone of the well known terminal emulator rxvt."; homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html"; diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix index c14ceb84e87..d27b723400e 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation { name = "xterm-208"; src = fetchurl { url = ftp://invisible-island.net/xterm/xterm.tar.gz; - md5 = "a062d0b398918015d07c31ecdcc5111a"; + md5 = "f7b04a66dc401dc22f5ddb7f345be229"; /* was a062d0b398918015d07c31ecdcc5111a */ }; buildInputs = [libXaw xproto libXt libX11 libSM libICE ncurses]; } + diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix index 4cb9debf06a..17c26cf8f51 100644 --- a/pkgs/applications/networking/browsers/firefox/default.nix +++ b/pkgs/applications/networking/browsers/firefox/default.nix @@ -10,12 +10,12 @@ }: stdenv.mkDerivation { - name = "firefox-2.0.0.9"; + name = "firefox-2.0.0.11"; builder = ./builder.sh; src = fetchurl { - url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.9/source/firefox-2.0.0.9-source.tar.bz2; - sha1 = "3b39d4128534d18f7e2c4d76a14561c18556eff0"; + url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.11/source/firefox-2.0.0.11-source.tar.bz2; + sha1 = "6d070bf04f1a037b621237d02ef9be7802a51bf1"; }; buildInputs = [ @@ -49,6 +49,7 @@ stdenv.mkDerivation { meta = { description = "Mozilla Firefox - the browser, reloaded"; + homepage = http://www.mozilla.com/en-US/firefox/; }; passthru = {inherit gtk;}; diff --git a/pkgs/applications/networking/browsers/firefox3b1/3b2.nix b/pkgs/applications/networking/browsers/firefox3b1/3b2.nix new file mode 100644 index 00000000000..29ea90d9d89 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox3b1/3b2.nix @@ -0,0 +1,57 @@ +args: with args; + +stdenv.mkDerivation { + name = "firefox-3b2"; + + src = + fetchurl { + url = ftp://ftp.mozilla.org/pub/firefox/releases/3.0b2/source/firefox-3.0b2-source.tar.bz2; + sha256 = "0mszad8j35wvzi67dp3j9sznqkgb9b3in22c5790g9b9pv6xk8jp"; + }; + + buildInputs = [ + pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo + python curl coreutils dbus dbus_glib pango freetype fontconfig + libX11 libXrender libXft libXt + ]; + + configureFlags = [ + "--enable-application=browser" + "--enable-optimize" + "--disable-debug" + "--enable-xft" + "--disable-freetype2" + "--enable-svg" + "--enable-canvas" + "--enable-strip" + "--enable-default-toolkit=cairo-gtk2" + "--with-system-jpeg" + "--with-system-zlib" +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* "--enable-system-cairo" +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + ] +; + + postInstall = " + export dontPatchELF=1; + sed -e 's@moz_libdir=.*@&\\nexport PATH=\$PATH:${coreutils}/bin@' -i \$out/bin/firefox + sed -e 's@`/bin/pwd@`${coreutils}/bin/pwd@' -i \$out/bin/firefox + sed -e 's@`/bin/ls@`${coreutils}/bin/ls@' -i \$out/bin/firefox + + strip -S \$out/lib/*/* || true + + libDir=\$(cd \$out/lib && ls -d firefox-[0-9]*) + test -n \"\$libDir\" + + echo \"running firefox -register...\" + (cd \$out/lib/\$libDir && LD_LIBRARY_PATH=. ./firefox-bin -register) || false + "; + + meta = { + description = "Mozilla Firefox - the browser, reloaded"; + }; + + passthru = {inherit gtk;}; +} + diff --git a/pkgs/applications/networking/browsers/firefox3b1/binary.nix b/pkgs/applications/networking/browsers/firefox3b1/binary.nix new file mode 100644 index 00000000000..73e002435b8 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox3b1/binary.nix @@ -0,0 +1,55 @@ +args: with args; + +assert stdenv.system == "i686-linux"; + +stdenv.mkDerivation { + name = "firefox-3b1"; + + src = + fetchurl { + url = ftp://ftp.mozilla.org/pub/firefox/releases/3.0b1/linux-i686/en-US/firefox-3.0b1.tar.bz2; + sha256 = "1cpcc5b07zdqyd5kiwhb4dqhy2mzbf97plsglcp6bc9054cmsylk"; + }; + buildInputs = [ + pkgconfig gtk perl zip libIDL libXi libjpeg libpng zlib cairo + python curl coreutils atk pango glib libX11 libXrender + freetype fontconfig libXft libXt + ]; + + buildPhase = " + additionalRpath=''; + for i in \$buildInputs ${stdenv.glibc} ${stdenv.gcc.gcc}; do + additionalRpath=\$additionalRpath:\$i/lib; + done + for i in firefox-bin ; do + oldrpath=$(patchelf --print-rpath \$i) + patchelf --set-rpath \$oldrpath\$additionalRpath \$i + patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 \$i + done + "; + + installPhase = " + export dontPatchELF=1; + mkdir -p \$out + cp -r . \$out/firefox + mkdir -p \$out/bin + ln -s \$out/firefox/firefox \$out/bin/firefox + + sed -e 's@moz_libdir=.*@moz_libdir='\$out'/firefox/@' -i \$out/bin/firefox + sed -e 's@moz_libdir=.*@&\\nexport PATH=\$PATH:${coreutils}/bin@' -i \$out/bin/firefox + sed -e 's@`/bin/pwd@`${coreutils}/bin/pwd@' -i \$out/bin/firefox + sed -e 's@`/bin/ls@`${coreutils}/bin/ls@' -i \$out/bin/firefox + + strip -S \$out/firefox/*.so || true + + echo \"running firefox -register...\" + \$out/firefox/firefox-bin -register || false + "; + + meta = { + description = "Mozilla Firefox - the browser, reloaded"; + }; + + passthru = {inherit gtk;}; +} + diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix index d6972ac2f79..e14cfe2bea7 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix @@ -2,14 +2,24 @@ assert stdenv.system == "i686-linux"; -(stdenv.mkDerivation { - name = "flashplayer-9.0.31.0"; +stdenv.mkDerivation { + name = "flashplayer-9.0.115.0"; builder = ./builder.sh; src = fetchurl { url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz; - sha256 = "ad2f9eb98e976a82b62e97e7cf3a555464e43b80507b87ed7c469706faa4d897"; + sha256 = "0yr2n7barlbvqxxzbvgp0pmbwwf7bvjksravqa47yra689jvynr7"; }; inherit zlib alsaLib; -}) // {mozillaPlugin = "/lib/mozilla/plugins";} + + passthru = { + mozillaPlugin = "/lib/mozilla/plugins"; + }; + + meta = { + description = "Adobe Flash Player browser plugin"; + homepage = http://www.adobe.com/products/flashplayer/; + }; + +} diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix index 12eef1c8859..1e681ade776 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/mplayerplug-in/default.nix @@ -5,12 +5,12 @@ # think). stdenv.mkDerivation { - name = "mplayerplug-in-3.45"; + name = "mplayerplug-in-3.50"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/mplayerplug-in/mplayerplug-in-3.45.tar.gz; - sha256 = "0cfl0s7v1bgdak39x7s2hnx968qs3vlv09gmwms27czimn8vijiz"; + url = mirror://sourceforge/mplayerplug-in/mplayerplug-in-3.50.tar.gz; + sha256 = "00jcbwl3wa6s4784c3wrz718f6jj1zkdfjbp7d2nhiafxrjqwsq4"; }; buildInputs = [pkgconfig firefox (firefox.gtk) libXpm gettext]; diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 73b351bf9fe..46af8533474 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -17,10 +17,10 @@ } : stdenv.mkDerivation { - name = "pidgin-2.2.1"; + name = "pidgin-2.3.1"; src = fetchurl { - url = mirror://sourceforge/pidgin/pidgin-2.2.1.tar.bz2; - sha256 = "08sq0yc8vz6c24pdv64clv6s91a5idslpp7vll8vgspn4piyzyvf"; + url = mirror://sourceforge/pidgin/pidgin-2.3.1.tar.bz2; + sha256 = "17mpirkfrv48jqn86l23b2ia2nzz9hqhll6lp4c2q8sbff3kc21d"; }; inherit nss ncurses; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix new file mode 100644 index 00000000000..bbdd265f7da --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -0,0 +1,71 @@ +/* +License issues: +Date: Mon, 10 Dec 2007 19:55:16 -0500 +From: TeamSpeak Sales +To: 'Marc Weber' +Subject: RE: teamspeak on nix? + +Yes, that would be fine. As long as you are not renting servers or selling +TeamSpeak then you are more than welcome to distribute it. + +Thank you, + +TeamSpeak Sales Team +________________________________ +e-Mail: sales@tritoncia.com +TeamSpeak: http://www.TeamSpeak.com +Account Login: https://sales.TritonCIA.com/users + + + +-----Original Message----- +From: Marc Weber [mailto:marco-oweber@gmx.de] +Sent: Monday, December 10, 2007 5:03 PM +To: sales@tritoncia.com +Subject: teamspeak on nix? + +Hello, + +nix is very young software distribution system (http://nix.cs.uu.nl/) +I'd like to ask wether you permit us to add teamspeak (server/ client?) + +Sincerly +Marc Weber (small nix contributor) +*/ + +args: +args.stdenv.mkDerivation { + name = "teamspeak-client-rc2-2032"; + + src = args.fetchurl { + url = ftp://213.202.254.114/teamspeak/releases/ts2_client_rc2_2032.tar.bz2; + md5 = "e93d17a25e07b1cbe400e4eb028ca8f8"; + }; + + phases="installPhase"; + + rpathInputs = (with args; [ glibc x11 ] ); + + installPhase=" + set -x + i=\$out/nix-support + ensureDir \$out/{bin,nix-support} + mv setup.data/image \$i + cp \$out/{nix-support/image/TeamSpeak,bin} + echo sed + sed -i \"s=%installdir%=\$i/image=\" \$out/bin/TeamSpeak + + echo for + for p in $\rpathInputs; do + rpath=\$rpath:\$p/lib + done + echo patchelf + patchelf --set-rpath \$rpath \$i/image/TeamSpeak.bin + "; + + meta = { + description = "The TeamSpeak voice communication tool"; + homepage = http://www.goteamspeak.com; + license = "TODO"; # non commercial use see email above + }; +} diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix index de34588a924..ff979d39393 100644 --- a/pkgs/applications/networking/irc/chatzilla/default.nix +++ b/pkgs/applications/networking/irc/chatzilla/default.nix @@ -1,14 +1,14 @@ {stdenv, fetchurl, unzip}: stdenv.mkDerivation { - name = "chatzilla-0.9.78.1"; + name = "chatzilla-0.9.79"; builder = ./builder.sh; src = fetchurl { # Obtained from http://chatzilla.rdmsoft.com/xulrunner/. - url = http://chatzilla.rdmsoft.com/xulrunner/download/chatzilla-0.9.78.1-xr.zip; - sha256 = "1f7fgi1dvpzjsiai0vc986vd481i77hcafvnzm73bc2q8pa5g5mb"; + url = http://chatzilla.rdmsoft.com/xulrunner/download/chatzilla-0.9.79-xr.zip; + sha256 = "0irbi8y4y2nlbwvhmmln5h5f4wv7spd1rqg7dxg7pc93s09p5i09"; }; buildInputs = [unzip]; diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index 91c75a007c6..a120db5a87b 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, pkgconfig, ncurses, glib, openssl}: stdenv.mkDerivation { - name = "irssi-0.8.11"; + name = "irssi-0.8.12"; src = fetchurl { - url = http://irssi.org/files/irssi-0.8.11.tar.bz2; - sha256 = "425cf24f13bfda05c6a468523cd2874d05675ea1bc4e37a8c284f2f78c2dd6b2"; + url = http://irssi.org/files/irssi-0.8.12.tar.bz2; + sha256 = "1w7zkfs6j7xdcbqh8x0vf9rk2ps9d6rcgr8fapfjpk09nm5n6ba6"; }; buildInputs = [pkgconfig ncurses glib openssl]; NIX_LDFLAGS = "-lncurses"; diff --git a/pkgs/applications/networking/irc/xchat/default.nix b/pkgs/applications/networking/irc/xchat/default.nix index 5d12667e307..e75201f2081 100644 --- a/pkgs/applications/networking/irc/xchat/default.nix +++ b/pkgs/applications/networking/irc/xchat/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, pkgconfig, tcl, gtk}: stdenv.mkDerivation { - name = "xchat-2.8.2"; + name = "xchat-2.8.4"; src = fetchurl { - url = http://www.xchat.org/files/source/2.8/xchat-2.8.2.tar.bz2; - sha256 = "1zjhjwr03nj52lpsvl78jwhir7q6482nnd4h1p0a9zka27kj4v4z"; + url = http://www.xchat.org/files/source/2.8/xchat-2.8.4.tar.bz2; + sha256 = "0qyx6rdvnjwy52amcmkjj134sysfkzbyv7b66vjsla3i8yg9lnpr"; }; buildInputs = [pkgconfig tcl gtk]; configureFlags = "--disable-nls"; diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix index 1c52661e89b..63e41e542e6 100644 --- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix +++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix @@ -9,11 +9,11 @@ assert sslSupport -> openssl != null; assert gpgSupport -> gpgme != null; stdenv.mkDerivation { - name = "sylpheed-2.4.1"; + name = "sylpheed-2.4.8"; src = fetchurl { - url = http://sylpheed.sraoss.jp/sylpheed/v2.4/sylpheed-2.4.1.tar.bz2; - sha256 = "1hmia3lnh7yr2ca8bgxzn311waxfs0rhk0psck3dcjfhzxzp72zj"; + url = http://sylpheed.sraoss.jp/sylpheed/v2.4/sylpheed-2.4.8.tar.bz2; + sha256 = "0r4bfkyz39pj02rzn38ss10dhhhv93z1azlbbwdgbkjii3k760fc"; }; buildInputs = [ diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index f0b4038faba..67318531371 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, perl, pkgconfig, gtk, libpcap}: stdenv.mkDerivation { - name = "wireshark-0.99.6"; + name = "wireshark-0.99.7"; src = fetchurl { - url = http://www.wireshark.org/download/src/wireshark-0.99.6.tar.gz; - sha256 = "1f2i84dk4nw05nh78b2j4n9pbwdngcqx0grrja5831r6paj35x1y"; + url = http://www.wireshark.org/download/src/wireshark-0.99.7.tar.bz2; + sha256 = "10pb2mn6p40gsq2nbnqdzihrpa078jdgxqh8l4zs33bxa1h37frc"; }; buildInputs = [perl pkgconfig gtk libpcap]; } diff --git a/pkgs/applications/office/openoffice/builder.sh b/pkgs/applications/office/openoffice/builder.sh index 124b64ffc2b..2a651a30058 100644 --- a/pkgs/applications/office/openoffice/builder.sh +++ b/pkgs/applications/office/openoffice/builder.sh @@ -13,6 +13,8 @@ preConfigure() { SRCDIR= + sed -e '/CURL_NO_OLDIES/d' -i ucb/source/ucp/ftp/makefile.mk + cd config_office/ } diff --git a/pkgs/applications/version-management/subversion-1.4.x/default.nix b/pkgs/applications/version-management/subversion-1.4.x/default.nix index b2869450c09..d09176302b8 100644 --- a/pkgs/applications/version-management/subversion-1.4.x/default.nix +++ b/pkgs/applications/version-management/subversion-1.4.x/default.nix @@ -17,12 +17,12 @@ assert sslSupport -> neon.sslSupport; assert compressionSupport -> neon.compressionSupport; stdenv.mkDerivation { - name = "subversion-1.4.5"; + name = "subversion-1.4.6"; builder = ./builder.sh; src = fetchurl { - url = http://subversion.tigris.org/downloads/subversion-1.4.5.tar.bz2; - sha1 = "acc80381cb670736ad626fee1eb04f36ba7e5fc8"; + url = http://subversion.tigris.org/downloads/subversion-1.4.6.tar.bz2; + sha1 = "a9c941e2309744f6a2986200698b60da057a7527"; }; buildInputs = @@ -50,6 +50,7 @@ stdenv.mkDerivation { meta = { description = "A version control system intended to be a compelling replacement for CVS in the open source community"; + homepage = http://subversion.tigris.org/; }; } diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index d8db6d0396a..0d499008b0c 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -8,11 +8,11 @@ assert libdvdread.libdvdcss == libdvdcss; assert xvSupport -> libXv != null; stdenv.mkDerivation { - name = "vlc-0.8.6c"; + name = "vlc-0.8.6d"; src = fetchurl { - url = http://download.videolan.org/pub/videolan/vlc/0.8.6c/vlc-0.8.6c.tar.bz2; - sha256 = "1bmngn66i527vw9g5xnhlpz64xl5gch3j3l6y5d727rcpmxlvhjz"; + url = http://download.videolan.org/pub/videolan/vlc/0.8.6d/vlc-0.8.6d.tar.bz2; + sha256 = "019jw9cp7fbmhbmlbwvjgpamxwx0rdajyxab2sbmh4n6v04fl266"; }; buildInputs = [ @@ -30,5 +30,6 @@ stdenv.mkDerivation { meta = { description = "Cross-platform media player and streaming server"; + homepage = http://www.videolan.org/vlc/; }; } diff --git a/pkgs/applications/virtualization/qemu/0.9.0.nix b/pkgs/applications/virtualization/qemu/0.9.0.nix new file mode 100644 index 00000000000..8604f5ae66b --- /dev/null +++ b/pkgs/applications/virtualization/qemu/0.9.0.nix @@ -0,0 +1,26 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://fabrice.bellard.free.fr/qemu/qemu-0.9.0.tar.gz; + sha256 = "1h85njd8xvn472yhcm92rjyzqjr719ab73rxwmz9cm2n6gwsq7s9"; + }; + + buildInputs = [ SDL zlib which ]; + configureFlags = []; + } null; /* null is a terminator for sumArgs */ +let +preConfigure = FullDepEntry (" + gcc --version +") [minInit]; +in +stdenv.mkDerivation rec { + name = "qemu-"+version; + builder = writeScript (name + "-builder") + (textClosure [ preConfigure doConfigure doMakeInstall doForceShare doPropagate]); + meta = { + description = " + QEmu processor emulator. +"; + }; +} diff --git a/pkgs/applications/virtualization/qemu/linux-img/0.2.nix b/pkgs/applications/virtualization/qemu/linux-img/0.2.nix new file mode 100644 index 00000000000..02ac87ef2e2 --- /dev/null +++ b/pkgs/applications/virtualization/qemu/linux-img/0.2.nix @@ -0,0 +1,27 @@ + +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://fabrice.bellard.free.fr/qemu/linux-0.2.img.bz2; + sha256 = "08xlwy1908chpc4fsqy2v13zi25dapk0ybrd43fj95v67kdj5hj1"; + }; + buildInputs = []; + configureFlags = []; + } null; /* null is a terminator for sumArgs */ +let +doCopy = FullDepEntry (" + ensureDir \$out/share/qemu-images + cp linux-${version}.img \$out/share/qemu-images/ +") [minInit doUnpack defEnsureDir]; +in +stdenv.mkDerivation rec { + name = "QEmu-Linux-Image-"+version; + builder = writeScript (name + "-builder") + (textClosure [doCopy doForceShare doPropagate]); + meta = { + description = " + ${abort "Write a description"} +"; + }; +} diff --git a/pkgs/applications/virtualization/virtualbox/1.5.2.nix b/pkgs/applications/virtualization/virtualbox/1.5.2.nix new file mode 100644 index 00000000000..e633c55a263 --- /dev/null +++ b/pkgs/applications/virtualization/virtualbox/1.5.2.nix @@ -0,0 +1,21 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://www.virtualbox.org/download/1.5.2/VirtualBox-1.5.2_OSE.tar.bz2; + sha256 = "1g9rvkqjcsfx36gwk6i9c0bml6053xx2mdn1sn7vyyy0sgwkwk53"; + }; + buildInputs = [libXcursor bridge_utils umlutilities kernelHeaders + wine jre libxslt libIDL SDL qt3 openssl zlib]; + configureFlags = []; + } null; /* null is a terminator for sumArgs */ +stdenv.mkDerivation rec { + name = "VirtualBox-"+version; + builder = writeScript (name + "-builder") + (textClosure [doConfigure doMakeInstall doForceShare doPropagate]); + meta = { + description = " + Virtual Box is just software for running virtual machines. +"; + }; +} diff --git a/pkgs/data/fonts/fontWrap/default.nix b/pkgs/data/fonts/fontWrap/default.nix new file mode 100644 index 00000000000..ef370be8e35 --- /dev/null +++ b/pkgs/data/fonts/fontWrap/default.nix @@ -0,0 +1,27 @@ +args : with args; + with builderDefs { + src =""; /* put a fetchurl here */ + buildInputs = [mkfontdir mkfontscale]; + configureFlags = []; + } null; /* null is a terminator for sumArgs */ +let + doInstall = FullDepEntry (" + ensureDir \$out/share/fonts/ + cd \$out/share/fonts + for i in ${toString paths}; do + find \$i -type f -exec ln -s '{}' . ';' ; + done + mkfontdir + mkfontscale + ") [minInit addInputs defEnsureDir] ; +in +stdenv.mkDerivation rec { + name = "wrapped-font-dir"; + builder = writeScript (name + "-builder") + (textClosure [ doInstall doForceShare doPropagate]); + meta = { + description = " + Just a wrapper to create fots.dir and fonts.scale . +"; + }; +} diff --git a/pkgs/data/misc/xkeyboard-config/default.nix b/pkgs/data/misc/xkeyboard-config/default.nix index 9eae78b0700..31836d24ecf 100644 --- a/pkgs/data/misc/xkeyboard-config/default.nix +++ b/pkgs/data/misc/xkeyboard-config/default.nix @@ -16,5 +16,8 @@ stdenv.mkDerivation { configureFlags=\"--with-xkb-base=$out/etc/X11/xkb -with-xkb-rules-symlink=xorg,xfree86\" "; - postInstall = "rm \${out}/etc/X11/xkb/compiled"; + postInstall = '' + rm ''${out}/etc/X11/xkb/compiled + cat ${./level3-deadkeys-us-intl} >> $out/etc/X11/xkb/symbols/us + ''; } diff --git a/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl new file mode 100644 index 00000000000..6b7d263da7f --- /dev/null +++ b/pkgs/data/misc/xkeyboard-config/level3-deadkeys-us-intl @@ -0,0 +1,95 @@ + +// Grabbed from http://lists.freedesktop.org/archives/xorg/2007-July/026686.html +// Submitted there by Adriaan van Nijendaal, he says he submitted it to X.org +// for inclusion, so it should be OK to use it as if it were part of X.org + +// The keyboard section in the X-server config file +// (/etc/X11/xorg.conf on my system) looks like this: +// +// Section "InputDevice" +// Driver "kbd" +// Identifier "Keyboard[0]" +// Option "XkbModel" "pc101" +// Option "XkbLayout" "us" +// Option "XkbVariant" "altgr-intl" +// EndSection +// +// To be effective, you need to install this file, change the X config +// file and restart the X-server. Or, alternatively, you can do this +// run-time: +// +// setxkbmap -v -rules xorg -model pc101 -layout us -variant altgr-intl +// +// Once the X-server has loaded the new config, a keyboard can be +// displayed with: (if you change "-ll 1" into "-ll 2", you'll see +// the special keys ONLY.) +// +// xkbcomp -o /tmp/keyboard.xkm -opt cgkst -xkb $DISPLAY +// xkbprint -o /tmp/keyboard.xkm.ps -kc -nkg 2 -ntg 4 -lg 1 -ll 1 \ +// -lc en_US.iso885915 -level2 -mono -label symbols -w 3 $DISPLAY; +// gv -seascape /tmp/keyboard.xkm.ps +// rm -f /tmp/keyboard.xkm.ps /tmp/keyboard.xkm +// + +partial alphanumeric_keys +xkb_symbols "altgr-intl" { + + name[Group1]= "U.S. English - International (AltGr dead keys)"; + + include "us(basic)" + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, dead_doubleacute] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, currency, sterling ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, asciicircum, dead_circumflex ] }; + key { [ 7, ampersand, dead_horn ] }; + key { [ 8, asterisk, dead_ogonek ] }; + key { [ 9, parenleft, leftsinglequotemark,dead_breve ] }; + key { [ 0, parenright,rightsinglequotemark,dead_abovering ] }; + key { [ minus, underscore, yen, dead_belowdot ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, ediaeresis, Ediaeresis ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft ] }; + key { [ bracketright,braceright, guillemotright ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J, idiaeresis, Idiaeresis ] }; + key { [ k, K ] }; + key { [ l, L, oslash, Ooblique ] }; + key { [semicolon, colon, paragraph, degree ] }; + key { [apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X, oe, OE ] }; + key { [ c, C, copyright, cent ] }; + key { [ v, V, registered, registered ] }; + key { [ b, B ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, ccedilla, Ccedilla ] }; + key { [ period, greater, dead_abovedot, dead_caron ] }; + key { [ slash, question, questiondown, dead_hook ] }; + key { [backslash, bar, notsign, brokenbar ] }; + + // Let's have free choice + //include "level3(ralt_switch)" +}; + diff --git a/pkgs/development/compilers/ghc-6.6.1/builder.sh b/pkgs/development/compilers/ghc-6.6.1/builder.sh deleted file mode 100644 index 0ea4fc496f9..00000000000 --- a/pkgs/development/compilers/ghc-6.6.1/builder.sh +++ /dev/null @@ -1,26 +0,0 @@ -source $stdenv/setup - -# Setup isolated package management -postInstall() -{ - ensureDir "$out/nix-support" - echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook - echo "ghc=$out" >> $out/nix-support/setup-hook - echo "" >> $out/nix-support/setup-hook - cat $setupHook >> $out/nix-support/setup-hook -} -postInstall=postInstall - -configureFlags="--with-gmp-libraries=$gmp/lib --with-readline-libraries=\"$readline/lib\"" - -preConfigure() -{ - chmod u+x rts/gmp/configure - # still requires a hack for ncurses - sed -i "s|^\(library-dirs.*$\)|\1 \"$ncurses/lib\"|" libraries/readline/package.conf.in -} -preConfigure=preConfigure - - -# Standard configure/make/make install -genericBuild diff --git a/pkgs/development/compilers/ghc-6.6.1/default.nix b/pkgs/development/compilers/ghc-6.6.1/default.nix index 738b6a79fc7..14a59aeeeba 100644 --- a/pkgs/development/compilers/ghc-6.6.1/default.nix +++ b/pkgs/development/compilers/ghc-6.6.1/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}: -stdenv.mkDerivation { +stdenv.mkDerivation (rec { name = "ghc-6.6.1"; src = map fetchurl [ @@ -12,15 +12,34 @@ stdenv.mkDerivation { } ]; - builder = ./builder.sh; - - buildInputs = [ghc readline perl m4]; + buildInputs = [ghc readline perl m4 gmp]; setupHook = ./setup-hook.sh; meta = { - description = "The Glasgow Haskell Compiler v6.6.1"; + description = "The Glasgow Haskell Compiler"; }; + postInstall = '' + ensureDir "$out/nix-support" + echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook + echo "ghc=$out" >> $out/nix-support/setup-hook + echo "" >> $out/nix-support/setup-hook + cat $setupHook >> $out/nix-support/setup-hook + ''; + + configureFlags=[ + "--with-gmp-libraries=${gmp}/lib" + "--with-readline-libraries=${readline}/lib" + "--with-gmp-includes=${gmp}/include" + "--with-gcc=${gcc}/bin/gcc" + ]; + + preConfigure = '' + # still requires a hack for ncurses + sed -i "s|^\(library-dirs.*$\)|\1 \"${ncurses}/lib\"|" libraries/readline/package.conf.in + ''; + + inherit (stdenv) gcc; inherit readline gmp ncurses; -} +}) diff --git a/pkgs/development/compilers/ghc-6.8/builder.sh b/pkgs/development/compilers/ghc-6.8/builder.sh deleted file mode 100644 index 0ea4fc496f9..00000000000 --- a/pkgs/development/compilers/ghc-6.8/builder.sh +++ /dev/null @@ -1,26 +0,0 @@ -source $stdenv/setup - -# Setup isolated package management -postInstall() -{ - ensureDir "$out/nix-support" - echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook - echo "ghc=$out" >> $out/nix-support/setup-hook - echo "" >> $out/nix-support/setup-hook - cat $setupHook >> $out/nix-support/setup-hook -} -postInstall=postInstall - -configureFlags="--with-gmp-libraries=$gmp/lib --with-readline-libraries=\"$readline/lib\"" - -preConfigure() -{ - chmod u+x rts/gmp/configure - # still requires a hack for ncurses - sed -i "s|^\(library-dirs.*$\)|\1 \"$ncurses/lib\"|" libraries/readline/package.conf.in -} -preConfigure=preConfigure - - -# Standard configure/make/make install -genericBuild diff --git a/pkgs/development/compilers/ghc-6.8/default.nix b/pkgs/development/compilers/ghc-6.8/default.nix index c87d8457082..929799d1521 100644 --- a/pkgs/development/compilers/ghc-6.8/default.nix +++ b/pkgs/development/compilers/ghc-6.8/default.nix @@ -1,45 +1,40 @@ args: with args; stdenv.mkDerivation (rec { - name = "ghc-6.8.1"; + name = "ghc-6.8.2"; homepage = "http://www.haskell.org/ghc"; src = map fetchurl [ { url = "${homepage}/dist/stable/dist/${name}-src.tar.bz2"; - sha256 = "16gr19bwyjv0fmjdrsj79vqpaxxg5hasni94nwv9d6c85n5myivz"; + md5 = "745c6b7d4370610244419cbfec4b2f84"; } { url = "${homepage}/dist/stable/dist/${name}-src-extralibs.tar.bz2"; - sha256 = "1h3nc6x4g838mdcirymadmv3fsmp1wh062syb3a8aqv6f468akvm"; + md5 = "d199c50814188fb77355d41058b8613c"; } ]; - buildInputs = [ghc readline perl m4 pkgconfig gtk]; - patchPhase = " - sed -e s@/bin/cat@\$(type -p cat)@ -i configure - " + - (if (stdenv.system == "x86_64-linx") then "patch -p2 < $patch64" else ""); + buildInputs = [ghc readline perl m4 gmp]; setupHook = ./setup-hook.sh; meta = { - description = "The Glasgow Haskell Compiler v6.8.1"; + description = "The Glasgow Haskell Compiler"; }; - postInstall = " - ensureDir \"$out/nix-support\" - echo \"# Path to the GHC compiler directory in the store\" > $out/nix-support/setup-hook - echo \"ghc=$out\" >> $out/nix-support/setup-hook - echo \"\" >> $out/nix-support/setup-hook - cat $setupHook >> $out/nix-support/setup-hook - "; + postInstall = '' + ensureDir "$out/nix-support" + echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook + echo "ghc=$out" >> $out/nix-support/setup-hook + echo "" >> $out/nix-support/setup-hook + cat $setupHook >> $out/nix-support/setup-hook + ''; - patch64 = ./x86_64-linux_patch; - - # the presence of this file makes Cabal cry for happy while generating makefiles ... preConfigure = " - echo 'GhcThreaded=NO' > mk/build.mk - rm libraries/haskell-src/Language/Haskell/Parser.ly + # still requires a hack for ncurses + sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in "; dontStrip = 1; + inherit (stdenv) gcc; + inherit readline gmp ncurses; }) diff --git a/pkgs/development/compilers/ghc-6.8/setup-hook.sh b/pkgs/development/compilers/ghc-6.8/setup-hook.sh index 23da6de0382..489c8d532b8 100644 --- a/pkgs/development/compilers/ghc-6.8/setup-hook.sh +++ b/pkgs/development/compilers/ghc-6.8/setup-hook.sh @@ -1,5 +1,5 @@ # Support dir for isolating GHC -ghc_support=$TMPDIR/ghc-6.6-nix-support +ghc_support=$TMPDIR/ghc-6.8-nix-support mkdir -p $ghc_support # Create isolated package config diff --git a/pkgs/development/compilers/ghc/boot.nix b/pkgs/development/compilers/ghc/boot.nix index bcb26327edb..bf096616a96 100644 --- a/pkgs/development/compilers/ghc/boot.nix +++ b/pkgs/development/compilers/ghc/boot.nix @@ -1,21 +1,56 @@ {stdenv, fetchurl, perl, readline, ncurses, gmp}: -assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; - stdenv.mkDerivation { - name = "ghc-6.4.2"; - builder = ./boot.sh; - src = if stdenv.system == "i686-linux" then - (fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/ghc-6.4.2-i386-unknown-linux.tar.bz2; - md5 = "092fe2e25dab22b926babe97cc77db1f"; - }) else - (fetchurl { - url = http://haskell.org/ghc/dist/6.4.2/ghc-6.4.2-x86_64-unknown-linux.tar.bz2; - md5 = "8f5fe48798f715cd05214a10987bf6d5"; - }); + name = if stdenv.system == "i686-darwin" then "ghc-6.6.1" else "ghc-6.4.2"; + + src = + if stdenv.system == "i686-linux" then + fetchurl { + url = http://nix.cs.uu.nl/dist/tarballs/ghc-6.4.2-i386-unknown-linux.tar.bz2; + md5 = "092fe2e25dab22b926babe97cc77db1f"; + } + else if stdenv.system == "x86_64-linux" then + fetchurl { + url = http://haskell.org/ghc/dist/6.4.2/ghc-6.4.2-x86_64-unknown-linux.tar.bz2; + md5 = "8f5fe48798f715cd05214a10987bf6d5"; + } + else if stdenv.system == "i686-darwin" then + fetchurl { + url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2; + sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia"; + } + else throw "cannot bootstrap GHC on this platform"; + buildInputs = [perl]; - propagatedBuildInputs = [readline ncurses gmp]; dontStrip = 1; - inherit readline ncurses gmp; + + # On Linux, use patchelf to modify the executables so that they can + # find readline/gmp. + postBuild = if stdenv.isLinux then " + find . -type f -perm +100 \\ + -exec patchelf --interpreter \"$(cat $NIX_GCC/nix-support/dynamic-linker)\" \\ + --set-rpath \"${readline}/lib:${ncurses}/lib:${gmp}/lib\" {} \\; + " else ""; + + # The binaries for Darwin use frameworks, so fake those frameworks, + # and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so + # that the executables work with no special setup. + postInstall = if stdenv.isDarwin then " + + ensureDir $out/frameworks/GMP.framework/Versions/A + ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP + ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP + ensureDir $out/frameworks/GNUreadline.framework/Versions/A + ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/GNUreadline + ln -s ${readline}/lib/libreadline.dylib $out/frameworks/GNUreadline.framework/Versions/A/GNUreadline + + mv $out/bin $out/bin-orig + mkdir $out/bin + for i in $(cd $out/bin-orig && ls); do + echo \"#! $SHELL -e\" >> $out/bin/$i + echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i + chmod +x $out/bin/$i + done + + " else ""; } diff --git a/pkgs/development/compilers/ghc/boot.sh b/pkgs/development/compilers/ghc/boot.sh deleted file mode 100644 index 4b88b6bdba3..00000000000 --- a/pkgs/development/compilers/ghc/boot.sh +++ /dev/null @@ -1,10 +0,0 @@ -source $stdenv/setup - -postBuild=postBuild -postBuild () { - find . -type f -perm +100 \ - -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath "$readline/lib:$ncurses/lib:$gmp/lib" {} \; -} - -genericBuild diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index b643d88a3a9..9b12bc9a2f6 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -1,9 +1,9 @@ args: with args; stdenv.mkDerivation { - name = "guile-1.6.7"; + name = "guile-1.8.3"; src = fetchurl { - url = ftp://ftp.gnu.org/gnu/guile/guile-1.8.2.tar.gz; - sha256 = "03kn1ia4s7l24zl2sfbrns6fs3nc9cw2pzsqx8y7wwr80b1nfxhz"; + url = ftp://ftp.gnu.org/gnu/guile/guile-1.8.3.tar.gz; + sha256 = "2ab59099cf2d46f57cf5421c9b84aa85f61961640046e8066c6b321257517796"; }; propagatedBuildInputs = [readline libtool gmp]; diff --git a/pkgs/development/interpreters/php_configurable/default.nix b/pkgs/development/interpreters/php_configurable/default.nix index 9a1eeeb67a3..91e0518ccd3 100644 --- a/pkgs/development/interpreters/php_configurable/default.nix +++ b/pkgs/development/interpreters/php_configurable/default.nix @@ -1,3 +1,15 @@ +/* TODO check security issues such as : ++--------------------------------------------------------------------+ +| *** WARNING *** | +| | +| You will be compiling the CGI version of PHP without any | +| redirection checking. By putting this cgi binary somewhere in | +| your web space, users may be able to circumvent existing .htaccess | +| security by loading files directly through the parser. See | +| http://www.php.net/manual/security.php for more details. | +*/ + + args: ( args.mkDerivationByConfiguration { flagConfig = { @@ -394,7 +406,7 @@ args: # SAPI modules: apxs2 = { cfgOption = "--with-apxs2=\$apacheHttpd/bin/apxs"; - pass = { inherit (args) apacheHttpd; }; }; + pass = "apacheHttpd"; }; # Extensions @@ -425,6 +437,22 @@ args: If unspecified, the default locations are searched */ + /* + Building xdebug withing php to be able to add the parameters to the ini file.. Ther should be a better way + meta = { + description = "debugging support for PHP"; + homepage = http://xdebug.org; + license = "based on the PHP license - as is"; + }; + */ + xdebug = { buildInputs = [ "automake" "autoconf" ]; + pass = { xdebug_src = args.fetchurl { + name = "xdebug-2.0.2.tar.gz"; + url = "http://xdebug.org/link.php?url=xdebug202"; + sha256 = "1h0bxvf8krr203fmk1k7izrrr81gz537xmd3pqh4vslwdlbhrvic"; + };};}; + + }; defaults = [ "mysql" "mysqli" "pdo_mysql" "libxml2" "apxs2" ]; @@ -436,19 +464,43 @@ args: extraAttrs = co : { name = "php_configurable-5.2.4"; - buildInputs = ( args.lib.getAttr [ "phpIncludes" ] [] args ); - + buildInputs = ( args.lib.getAttr [ "phpIncludes" ] [] args ) ++ co.buildInputs; configurePhase = " iniFile=\$out/etc/\$name.ini [[ -z \"\$libxml2\" ]] || export PATH=\$PATH:\$libxml2/bin - ./configure --with-config-file-path=\$iniFile --prefix=\$out " + co.configureFlags; + ./configure --with-config-file-scan-dir=/etc --with-config-file-path=\$iniFile --prefix=\$out " + co.configureFlags + " + echo configurePhase end + "; installPhase = " unset installPhase; installPhase; cp php.ini-recommended $\iniFile - echo \"include_path=.\$PATH_DELIMITER\$out/lib/php\$PATH_DELIMITER\$PHP_INCLUDES\" > \$iniFile + + # Now Let's build xdebug if flag has been given + # TODO I think there are better paths than the given below + if [ -n \$flag_set_xdebug ]; then + PATH=\$PATH:\$out/bin + tar xfz \$xdebug_src; + cd xdebug* + phpize + ./configure --prefix=\$out + make + ensureDir \$out/lib; cp modules/xdebug.so $out/lib +cat >> $iniFile << EOF +zend_extension=\"\$out/lib/xdebug.so\" +zend_extension_ts=\"\$out/lib/xdebug.so\" +zend_extension_debug=\"\$out/lib/xdebug.so\" +xdebug.remote_enable=true +xdebug.remote_host=127.0.0.1 +xdebug.remote_port=9000 +xdebug.remote_handler=dbgp +xdebug.profiler_enable=0 +xdebug.profiler_output_dir=\"/tmp/xdebug\" +xdebug.remote_mode=req +EOF + fi "; src = args.fetchurl { diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix index 0fce5d3236a..1401757c267 100644 --- a/pkgs/development/interpreters/tcl/default.nix +++ b/pkgs/development/interpreters/tcl/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "tcl-8.4.13"; + name = "tcl-8.4.16"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/tcl/tcl8.4.13-src.tar.gz; - md5 = "c6b655ad5db095ee73227113220c0523"; + url = mirror://sourceforge/tcl/tcl8.4.16-src.tar.gz; + sha256 = "0v9mh53kdvfm4kxgsw8gfxsfl8kvbnnp22bpwyyg5sa4jyjjbs93"; }; } diff --git a/pkgs/development/libraries/acl/acl-2.2.45-patch b/pkgs/development/libraries/acl/acl-2.2.45-patch new file mode 100644 index 00000000000..557381922c3 --- /dev/null +++ b/pkgs/development/libraries/acl/acl-2.2.45-patch @@ -0,0 +1,222 @@ +diff -u -U3 -r acl-2.2.45-orig/aclocal.m4 acl-2.2.45-mod/aclocal.m4 +--- acl-2.2.45-orig/aclocal.m4 2007-12-23 16:16:11.000000000 +0300 ++++ acl-2.2.45-mod/aclocal.m4 2007-12-23 18:09:04.000000000 +0300 +@@ -228,32 +228,32 @@ + AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) + + if test -z "$MAKE"; then +- AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/local/bin:/usr/freeware/bin) ++ AC_PATH_PROG(MAKE, gmake,,) + fi + if test -z "$MAKE"; then +- AC_PATH_PROG(MAKE, make,, /usr/bin) ++ AC_PATH_PROG(MAKE, make,, ) + fi + make=$MAKE + AC_SUBST(make) + AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) + + if test -z "$LIBTOOL"; then +- AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin) ++ AC_PATH_PROG(LIBTOOL, glibtool,, ) + fi + if test -z "$LIBTOOL"; then +- AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin:/usr/freeware/bin) ++ AC_PATH_PROG(LIBTOOL, libtool,, ) + fi + libtool=$LIBTOOL + AC_SUBST(libtool) + AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool]) + + if test -z "$TAR"; then +- AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin) ++ AC_PATH_PROG(TAR, tar,, ) + fi + tar=$TAR + AC_SUBST(tar) + if test -z "$ZIP"; then +- AC_PATH_PROG(ZIP, gzip,, /bin:/usr/bin:/usr/local/bin:/usr/freeware/bin) ++ AC_PATH_PROG(ZIP, gzip,, ) + fi + + zip=$ZIP +@@ -266,25 +266,25 @@ + AC_SUBST(makedepend) + + if test -z "$AWK"; then +- AC_PATH_PROG(AWK, awk,, /bin:/usr/bin) ++ AC_PATH_PROG(AWK, awk,, ) + fi + awk=$AWK + AC_SUBST(awk) + + if test -z "$SED"; then +- AC_PATH_PROG(SED, sed,, /bin:/usr/bin) ++ AC_PATH_PROG(SED, sed,, ) + fi + sed=$SED + AC_SUBST(sed) + + if test -z "$ECHO"; then +- AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin) ++ AC_PATH_PROG(ECHO, echo,, ) + fi + echo=$ECHO + AC_SUBST(echo) + + if test -z "$SORT"; then +- AC_PATH_PROG(SORT, sort,, /bin:/usr/bin) ++ AC_PATH_PROG(SORT, sort,, ) + fi + sort=$SORT + AC_SUBST(sort) +@@ -294,21 +294,21 @@ + + if test "$enable_gettext" = yes; then + if test -z "$MSGFMT"; then +- AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/local/bin:/usr/freeware/bin) ++ AC_PATH_PROG(MSGFMT, msgfmt,, ) + fi + msgfmt=$MSGFMT + AC_SUBST(msgfmt) + AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) + + if test -z "$MSGMERGE"; then +- AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/local/bin:/usr/freeware/bin) ++ AC_PATH_PROG(MSGMERGE, msgmerge,, ) + fi + msgmerge=$MSGMERGE + AC_SUBST(msgmerge) + AC_PACKAGE_NEED_UTILITY($1, "$msgmerge", msgmerge, gettext) + + if test -z "$XGETTEXT"; then +- AC_PATH_PROG(XGETTEXT, xgettext,, /usr/bin:/usr/local/bin:/usr/freeware/bin) ++ AC_PATH_PROG(XGETTEXT, xgettext,, ) + fi + xgettext=$XGETTEXT + AC_SUBST(xgettext) +@@ -316,7 +316,7 @@ + fi + + if test -z "$RPM"; then +- AC_PATH_PROG(RPM, rpm,, /bin:/usr/bin:/usr/freeware/bin) ++ AC_PATH_PROG(RPM, rpm,, ) + fi + rpm=$RPM + AC_SUBST(rpm) +ôÏÌØËÏ × acl-2.2.45-orig/: configure +diff -u -U3 -r acl-2.2.45-orig/m4/package_utilies.m4 acl-2.2.45-mod/m4/package_utilies.m4 +--- acl-2.2.45-orig/m4/package_utilies.m4 2007-12-23 16:16:11.000000000 +0300 ++++ acl-2.2.45-mod/m4/package_utilies.m4 2007-12-23 18:01:28.000000000 +0300 +@@ -23,32 +23,26 @@ + AC_PACKAGE_NEED_UTILITY($1, "$cc", cc, [C compiler]) + + if test -z "$MAKE"; then +- AC_PATH_PROG(MAKE, gmake,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + if test -z "$MAKE"; then +- AC_PATH_PROG(MAKE, make,, /usr/bin) + fi + make=$MAKE + AC_SUBST(make) + AC_PACKAGE_NEED_UTILITY($1, "$make", make, [GNU make]) + + if test -z "$LIBTOOL"; then +- AC_PATH_PROG(LIBTOOL, glibtool,, /usr/bin) + fi + if test -z "$LIBTOOL"; then +- AC_PATH_PROG(LIBTOOL, libtool,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + libtool=$LIBTOOL + AC_SUBST(libtool) + AC_PACKAGE_NEED_UTILITY($1, "$libtool", libtool, [GNU libtool]) + + if test -z "$TAR"; then +- AC_PATH_PROG(TAR, tar,, /usr/freeware/bin:/bin:/usr/local/bin:/usr/bin) + fi + tar=$TAR + AC_SUBST(tar) + if test -z "$ZIP"; then +- AC_PATH_PROG(ZIP, gzip,, /bin:/usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + + zip=$ZIP +@@ -61,25 +55,21 @@ + AC_SUBST(makedepend) + + if test -z "$AWK"; then +- AC_PATH_PROG(AWK, awk,, /bin:/usr/bin) + fi + awk=$AWK + AC_SUBST(awk) + + if test -z "$SED"; then +- AC_PATH_PROG(SED, sed,, /bin:/usr/bin) + fi + sed=$SED + AC_SUBST(sed) + + if test -z "$ECHO"; then +- AC_PATH_PROG(ECHO, echo,, /bin:/usr/bin) + fi + echo=$ECHO + AC_SUBST(echo) + + if test -z "$SORT"; then +- AC_PATH_PROG(SORT, sort,, /bin:/usr/bin) + fi + sort=$SORT + AC_SUBST(sort) +@@ -89,21 +79,18 @@ + + if test "$enable_gettext" = yes; then + if test -z "$MSGFMT"; then +- AC_PATH_PROG(MSGFMT, msgfmt,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + msgfmt=$MSGFMT + AC_SUBST(msgfmt) + AC_PACKAGE_NEED_UTILITY($1, "$msgfmt", msgfmt, gettext) + + if test -z "$MSGMERGE"; then +- AC_PATH_PROG(MSGMERGE, msgmerge,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + msgmerge=$MSGMERGE + AC_SUBST(msgmerge) + AC_PACKAGE_NEED_UTILITY($1, "$msgmerge", msgmerge, gettext) + + if test -z "$XGETTEXT"; then +- AC_PATH_PROG(XGETTEXT, xgettext,, /usr/bin:/usr/local/bin:/usr/freeware/bin) + fi + xgettext=$XGETTEXT + AC_SUBST(xgettext) +@@ -111,7 +98,6 @@ + fi + + if test -z "$RPM"; then +- AC_PATH_PROG(RPM, rpm,, /bin:/usr/bin:/usr/freeware/bin) + fi + rpm=$RPM + AC_SUBST(rpm) +diff -u -U3 -r acl-2.2.45-orig/Makefile acl-2.2.45-mod/Makefile +--- acl-2.2.45-orig/Makefile 2007-12-23 16:16:11.000000000 +0300 ++++ acl-2.2.45-mod/Makefile 2007-12-23 18:01:28.000000000 +0300 +@@ -33,19 +33,6 @@ + endif + + $(CONFIGURE): +- autoconf +- ./configure \ +- --prefix=/ \ +- --exec-prefix=/ \ +- --sbindir=/bin \ +- --bindir=/usr/bin \ +- --libdir=/lib \ +- --libexecdir=/usr/lib \ +- --enable-lib64=yes \ +- --includedir=/usr/include \ +- --mandir=/usr/share/man \ +- --datadir=/usr/share \ +- $$LOCAL_CONFIGURE_OPTIONS + touch .census + + aclocal.m4:: diff --git a/pkgs/development/libraries/acl/builder.sh b/pkgs/development/libraries/acl/builder.sh new file mode 100644 index 00000000000..4cabc84f828 --- /dev/null +++ b/pkgs/development/libraries/acl/builder.sh @@ -0,0 +1,12 @@ +source $stdenv/setup + +preConfigure() { + rm configure + autoconf +} + +preConfigure=preConfigure + +installFlags='install-lib install-dev' + +genericBuild diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix new file mode 100644 index 00000000000..b9992af612e --- /dev/null +++ b/pkgs/development/libraries/acl/default.nix @@ -0,0 +1,14 @@ +args: with args; + +stdenv.mkDerivation { + name = "acl-2.2.45"; + + builder = ./builder.sh; + src = + fetchurl { + url = ftp://oss.sgi.com/projects/xfs/cmd_tars/acl_2.2.45-1.tar.gz; + sha256 = "1bb2k5br494yk863w27k1h8gkdkq4kzakvajhj844hl1cixhhf1a"; + }; + buildInputs = [autoconf libtool gettext attr]; + patches = [ ./acl-2.2.45-patch ]; +} diff --git a/pkgs/development/libraries/attr/builder.sh b/pkgs/development/libraries/attr/builder.sh index af71890f0c0..78f10591142 100644 --- a/pkgs/development/libraries/attr/builder.sh +++ b/pkgs/development/libraries/attr/builder.sh @@ -6,4 +6,6 @@ preConfigure() { preConfigure=preConfigure +installFlags='install-lib install-dev' + genericBuild diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix index a10ec7a95c3..de02110aeeb 100644 --- a/pkgs/development/libraries/audiofile/default.nix +++ b/pkgs/development/libraries/audiofile/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "audiofile-0.2.3"; + name = "audiofile-0.2.6"; src = fetchurl { - url = http://www.68k.org/~michael/audiofile/audiofile-0.2.5.tar.gz; - md5 = "fd07c62a17ceafa317929e55e51e26c5"; + url = http://www.68k.org/~michael/audiofile/audiofile-0.2.6.tar.gz; + sha256 = "1a921w6jwcnkmx3vm091qrj7109jzri6kw4ygjq6ym91dssnfqab"; }; } diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index d46b1fe7016..ba81b16bcf6 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -1,9 +1,13 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "boehm-gc-6.8"; + name = "boehm-gc-7.0"; src = fetchurl { - url = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz; - md5 = "418d38bd9c66398386a372ec0435250e"; + url = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.0.tar.gz; + sha256 = "0nqy0462ainp79fjmx5lgr89s2d433fggr3n9d1p09xq77lwc2nj"; + }; + meta = { + description = "A garbage collector for C and C++"; + homepage = http://www.hpl.hp.com/personal/Hans_Boehm/gc/; }; } diff --git a/pkgs/development/libraries/coredumper/default.nix b/pkgs/development/libraries/coredumper/default.nix index d6943affbed..f62289ea181 100644 --- a/pkgs/development/libraries/coredumper/default.nix +++ b/pkgs/development/libraries/coredumper/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "coredumper-0.2"; + name = "coredumper-1.1"; src = fetchurl { - url = mirror://sourceforge/goog-coredumper/coredumper-0.2.tar.gz; - md5 = "024f8e4afe73c4cc4f4a0b0ef585e9b7"; + url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz; + sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx"; }; } diff --git a/pkgs/development/libraries/cracklib/default.nix b/pkgs/development/libraries/cracklib/default.nix index 678d595703e..baa509eadb0 100644 --- a/pkgs/development/libraries/cracklib/default.nix +++ b/pkgs/development/libraries/cracklib/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "cracklib-2.8.9"; + name = "cracklib-2.8.12"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/cracklib/cracklib-2.8.9.tar.gz; - md5 = "9a8c9eb26b48787c84024ac779f64bb2"; + url = mirror://sourceforge/cracklib/cracklib-2.8.12.tar.gz; + sha256 = "0l9kar7h80kkvs394dyzbn02jkd8hzynh9kxyqrlacj1wp35rmah"; }; dicts = fetchurl { url = http://nix.cs.uu.nl/dist/tarballs/cracklib-words.gz; diff --git a/pkgs/development/libraries/db4/db4-4.4.nix b/pkgs/development/libraries/db4/db4-4.4.nix index 270f5359d95..2746d812723 100644 --- a/pkgs/development/libraries/db4/db4-4.4.nix +++ b/pkgs/development/libraries/db4/db4-4.4.nix @@ -4,7 +4,10 @@ stdenv.mkDerivation ({ name = "db4-4.4.20"; builder = ./builder.sh; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/db-4.4.20.NC.tar.gz; + urls = [ + http://download.oracle.com/berkeley-db/db-4.4.20.NC.tar.gz + http://nix.cs.uu.nl/dist/tarballs/db-4.4.20.NC.tar.gz + ]; md5 = "afd9243ea353bbaa04421488d3b37900"; }; configureFlags = [ diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index 48753842245..cd546a58169 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "expat-2.0.0"; + name = "expat-2.0.1"; src = fetchurl { - url = mirror://sourceforge/expat/expat-2.0.0.tar.gz; - md5 = "d945df7f1c0868c5c73cf66ba9596f3f"; + url = mirror://sourceforge/expat/expat-2.0.1.tar.gz; + sha256 = "14sy5qx9hgjyfs743iq8ywldhp5w4n6cscqf2p4hgrw6vys60xl4"; }; } diff --git a/pkgs/development/libraries/ffmpeg_svn_snapshot/default.nix b/pkgs/development/libraries/ffmpeg_svn_snapshot/default.nix index f3611afb0b6..90978eb2908 100644 --- a/pkgs/development/libraries/ffmpeg_svn_snapshot/default.nix +++ b/pkgs/development/libraries/ffmpeg_svn_snapshot/default.nix @@ -5,7 +5,8 @@ stdenv.mkDerivation { src = fetchsvn { url = svn://svn.mplayerhq.hu/ffmpeg/trunk ; rev = "11164"; - sha256 = "95658455e466aeab5a302ddd6e7b2f79f620d4495012add46028a548e6c364b2"; + #sha256 = "95658455e466aeab5a302ddd6e7b2f79f620d4495012add46028a548e6c364b2"; + sha256 = "c97b0cd791f8408cfc69452ff7afbf00d34b367e493dfbcae830fba99c229189"; }; /*fetchurl { url = http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2; diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix new file mode 100644 index 00000000000..35d66b3647b --- /dev/null +++ b/pkgs/development/libraries/giflib/default.nix @@ -0,0 +1,10 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "giflib-4.1.6"; + src = fetchurl { + url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2; + sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1"; + }; +} + diff --git a/pkgs/development/libraries/libungif/default.nix b/pkgs/development/libraries/giflib/libungif.nix similarity index 69% rename from pkgs/development/libraries/libungif/default.nix rename to pkgs/development/libraries/giflib/libungif.nix index b0bbb46eaf5..f3302f8f333 100644 --- a/pkgs/development/libraries/libungif/default.nix +++ b/pkgs/development/libraries/giflib/libungif.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "libungif-4.1.4"; src = fetchurl { - url = mirror://sourceforge/libungif/libungif-4.1.4.tar.gz; + url = mirror://sourceforge/giflib/libungif-4.1.4.tar.gz; md5 = "efdfcf8e32e35740288a8c5625a70ccb"; }; } diff --git a/pkgs/development/libraries/gmp/default.nix b/pkgs/development/libraries/gmp/default.nix index 364cb73bbb7..b8d915d1fac 100644 --- a/pkgs/development/libraries/gmp/default.nix +++ b/pkgs/development/libraries/gmp/default.nix @@ -1,11 +1,20 @@ {stdenv, fetchurl, m4}: stdenv.mkDerivation { - name = "gmp-4.2.1"; + name = "gmp-4.2.2"; + src = fetchurl { - url = mirror://gnu/gmp/gmp-4.2.1.tar.bz2; - md5 = "091c56e0e1cca6b09b17b69d47ef18e3"; + url = mirror://gnu/gmp/gmp-4.2.2.tar.bz2; + sha256 = "0yv593sk62ypn21gg2x570g955lmsi4i6f2bc3s43p52myn0lb1b"; }; + buildInputs = [m4]; + doCheck = true; + + meta = { + description = "A free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers"; + homepage = http://gmplib.org/; + license = "LGPL"; + }; } diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix index 080c1efbc73..95e99710c6e 100644 --- a/pkgs/development/libraries/libcaca/default.nix +++ b/pkgs/development/libraries/libcaca/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, ncurses}: stdenv.mkDerivation { - name = "libcaca-0.99-beta11"; + name = "libcaca-0.99-beta13b"; src = fetchurl { - url = http://libcaca.zoy.org/files/libcaca-0.99.beta11.tar.gz; - sha256 = "1kj0rkfbmq8kc3pi3p323ifx5yp9pcmbnxln7phxj5k4v7ngyld7"; + url = http://libcaca.zoy.org/files/libcaca-0.99.beta13b.tar.gz; + sha256 = "0xy8pcnljnj5la97bzbwwyzyqa7dr3v9cyw8gdjzdfgqywvac1vg"; }; configureFlags = "--disable-x11 --disable-imlib2 --disable-doc"; propagatedBuildInputs = [ncurses]; diff --git a/pkgs/development/libraries/libdv/default.nix b/pkgs/development/libraries/libdv/default.nix new file mode 100644 index 00000000000..4b0e05acf98 --- /dev/null +++ b/pkgs/development/libraries/libdv/default.nix @@ -0,0 +1,30 @@ +args: +let edf = args.lib.enableDisableFeature; in +( args.mkDerivationByConfiguration { + flagConfig = { } + # TODO! implement flags + # I want to get kino and cinelerra working. That's why I don't spend more time on this now + // edf "libtool_lock" "libtool_lock" { } #avoid locking (might break parallel builds) + // edf "asm" "asm" { } #disable use of architecture specific assembly code + // edf "sdl" "sdl" { } #enable use of SDL for display + // edf "gtk" "gtk" { } #disable use of gtk for display + // edf "xv" "xv" { } #disable use of XVideo extension for display + // edf "gprof" "gprof" { } #enable compiler options for gprof profiling + ; + + extraAttrs = co : { + name = "libdv-1.0.0"; + + src = args.fetchurl { + url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz; + sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"; + }; + + meta = { + description = "software decoder for DV format video, as defined by the IEC 61834 and SMPTE 314M standards"; + homepage = http://sourceforge.net/projects/libdv/; + # you can choose one of the following licenses: + license = []; + }; + }; +} ) args diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix index 25d1105eac6..95fbbbbfbab 100644 --- a/pkgs/development/libraries/libpcap/default.nix +++ b/pkgs/development/libraries/libpcap/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, flex, bison}: stdenv.mkDerivation { - name = "libpcap-0.9.5"; + name = "libpcap-0.9.8"; src = fetchurl { - url = http://www.tcpdump.org/release/libpcap-0.9.5.tar.gz; - md5 = "b0626ad59004fe5767ddd2ce743a2271"; + url = http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz; + sha256 = "1yb2hg8jd1bzq3lbrff1sps4757krvj2c9pm2ixn44a4vsc865f4"; }; buildInputs = [flex bison]; configureFlags = " diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index b600cf0840b..f6252c794ce 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,10 +3,10 @@ assert zlib != null; stdenv.mkDerivation { - name = "libpng-1.2.18"; + name = "libpng-1.2.24"; src = fetchurl { - url = mirror://sourceforge/libpng/libpng-1.2.18.tar.bz2; - sha256 = "0qhcy8r0r8280wahs91xi4p79gm2cb021x9bcww1r5bywvwn5kkg"; + url = mirror://sourceforge/libpng/libpng-1.2.24.tar.bz2; + sha256 = "0kd0qkakc5zh2inrzw5r0h02761v1s9q223lv7za7iaxyl4byash"; }; propagatedBuildInputs = [zlib]; inherit zlib; diff --git a/pkgs/development/libraries/libraw1394/default.nix b/pkgs/development/libraries/libraw1394/default.nix new file mode 100644 index 00000000000..62398404ac2 --- /dev/null +++ b/pkgs/development/libraries/libraw1394/default.nix @@ -0,0 +1,17 @@ +args: +args.stdenv.mkDerivation { + name = "libraw1394-1.2.0"; + + src = args.fetchurl { + url = "mirror://sourceforge/libraw1394/libraw1394-1.2.0.tar.gz"; + sha256 = "1b9zqqzyz0ihyfvhn135y3wc6vmym5yz21jxj9dp0f09b96gmp0z"; + }; + + buildInputs =(with args; []); + + meta = { + description = "library providing direct access to the IEEE 1394 bus through the Linux 1394 subsystem's raw1394 user space interface"; + homepage = "http://wiki.linux1394.org/"; + license = ["GPL" "LGPL"]; + }; +} diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix index f0c637d0f23..2a6f2254c14 100644 --- a/pkgs/development/libraries/libtheora/default.nix +++ b/pkgs/development/libraries/libtheora/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, libogg, libvorbis}: stdenv.mkDerivation { - name = "libtheora-1.0alpha7"; + name = "libtheora-1.0beta2"; src = fetchurl { - url = http://downloads.xiph.org/releases/theora/libtheora-1.0alpha7.tar.bz2; - md5 = "1bc851e39e4b16977131d5e5f769f48b"; + url = http://downloads.xiph.org/releases/theora/libtheora-1.0beta2.tar.gz; + sha256 = "0iwwprpi4s9y37c5yvlb572wd5gb2s635pxrkz5589266g1j1dcg"; }; propagatedBuildInputs = [libogg libvorbis]; } diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix index cdcee814917..1b3a7c81146 100644 --- a/pkgs/development/libraries/libvorbis/default.nix +++ b/pkgs/development/libraries/libvorbis/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, libogg}: stdenv.mkDerivation { - name = "libvorbis-1.1.2"; + name = "libvorbis-1.2.0"; src = fetchurl { - url = http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz; - md5 = "37847626b8e1b53ae79a34714c7b3211"; + url = http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.bz2; + sha256 = "0nq62b8y2rhhgxxyiw6b4wchic61q5v649fdl8dd7090nxxcbx4y"; }; buildInputs = [libogg]; } diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix index 630eb44753b..c2b89c1361f 100644 --- a/pkgs/development/libraries/libwpd/default.nix +++ b/pkgs/development/libraries/libwpd/default.nix @@ -1,9 +1,9 @@ args: with args; stdenv.mkDerivation { - name = "libwpd-0.8.5"; + name = "libwpd-0.8.13"; src = fetchurl { - url = mirror://sourceforge/libwpd/libwpd-0.8.5.tar.gz; - md5 = "6b679e205a2805c3d23f41c65b35e266"; + url = mirror://sourceforge/libwpd/libwpd-0.8.13.tar.gz; + sha256 = "08mb8bp0d3387l1snii4c0ighfhkby7qx2b3wymqb4a0l76rlzfn"; }; buildInputs = [pkgconfig glib libgsf libxml2 bzip2]; } diff --git a/pkgs/development/libraries/popt/popt-1.7.nix b/pkgs/development/libraries/popt/popt-1.7.nix index 1170760c828..9ae06b0ed26 100644 --- a/pkgs/development/libraries/popt/popt-1.7.nix +++ b/pkgs/development/libraries/popt/popt-1.7.nix @@ -5,7 +5,10 @@ assert gettext != null; stdenv.mkDerivation { name = "popt-1.7"; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/popt-1.7.tar.gz; + urls = [ + ftp://distro.ibiblio.org/pub/linux/distributions/pdaxrom/src/popt-1.7.tar.gz + http://nix.cs.uu.nl/dist/tarballs/popt-1.7.tar.gz + ]; md5 = "5988e7aeb0ae4dac8d83561265984cc9"; }; buildInputs = [gettext]; diff --git a/pkgs/development/libraries/readline/readline5.nix b/pkgs/development/libraries/readline/readline5.nix index f5271f01bcc..a0e7ffd72d2 100644 --- a/pkgs/development/libraries/readline/readline5.nix +++ b/pkgs/development/libraries/readline/readline5.nix @@ -7,4 +7,5 @@ stdenv.mkDerivation { md5 = "e39331f32ad14009b9ff49cc10c5e751"; }; propagatedBuildInputs = [ncurses]; + patches = stdenv.lib.optional stdenv.isDarwin ./shobj-darwin.patch; } diff --git a/pkgs/development/libraries/readline/shobj-darwin.patch b/pkgs/development/libraries/readline/shobj-darwin.patch new file mode 100644 index 00000000000..a9199ca3e89 --- /dev/null +++ b/pkgs/development/libraries/readline/shobj-darwin.patch @@ -0,0 +1,11 @@ +--- a/support/shobj-conf.orig 2006-04-11 06:15:43.000000000 -0700 ++++ b/support/shobj-conf 2007-11-08 01:15:43.000000000 -0800 +@@ -171,7 +171,7 @@ + SHLIB_LIBSUFF='dylib' + + case "${host_os}" in +- darwin[78]*) SHOBJ_LDFLAGS='' ++ darwin[789]*) SHOBJ_LDFLAGS='' + SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' + ;; + *) SHOBJ_LDFLAGS='-dynamic' diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index 556b6c19dcc..6904339a57c 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -1,10 +1,10 @@ args: with args; stdenv.mkDerivation { - name = "speex-1.2beta2"; + name = "speex-1.2beta3"; src = fetchurl { - url = http://downloads.us.xiph.org/releases/speex/speex-1.2beta2.tar.gz; - sha256 = "1np34q5i7yswkgknb8pa6ngqb4l4jv84c9yqnn0215vncbl76xg5"; + url = http://downloads.us.xiph.org/releases/speex/speex-1.2beta3.tar.gz; + sha256 = "1az7kiwa8mzi1x7j01gcakx854qcbm4g67n0c4s56bvny6dn18vp"; }; buildInputs = [libogg]; } diff --git a/pkgs/development/libraries/t1lib/default.nix b/pkgs/development/libraries/t1lib/default.nix index c5b26424cdf..a3ebe5e27ca 100644 --- a/pkgs/development/libraries/t1lib/default.nix +++ b/pkgs/development/libraries/t1lib/default.nix @@ -1,11 +1,12 @@ -{stdenv, fetchurl, x11, libXaw}: +{stdenv, fetchurl, x11, libXaw, libXpm}: stdenv.mkDerivation { name = "t1lib-5.1.0"; src = fetchurl { - url = ftp://ftp.nluug.nl/pub/metalab/libs/graphics/t1lib-5.1.0.tar.gz; - md5 = "a05bed4aa63637052e60690ccde70421"; + url = ftp://ftp.nluug.nl/pub/metalab/libs/graphics/t1lib-5.1.1.tar.gz; + sha256 = "0r1wb94kjd8jwym9na2k2snikizrnyc4cf4mf92v89r4yy0apph8"; }; - buildInputs = [x11 libXaw]; + buildInputs = [x11 libXaw libXpm]; buildFlags = "without_doc"; } + diff --git a/pkgs/development/libraries/tk/default.nix b/pkgs/development/libraries/tk/default.nix index f36438e56d2..9e0a6b8c0da 100644 --- a/pkgs/development/libraries/tk/default.nix +++ b/pkgs/development/libraries/tk/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, tcl, x11}: stdenv.mkDerivation { - name = "tk-8.4.13"; + name = "tk-8.4.16"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/tcl/tk8.4.13-src.tar.gz; - md5 = "0a16d4d9398e43cbb85784c85fb807a4"; + url = mirror://sourceforge/tcl/tk8.4.16-src.tar.gz; + sha256 = "0cciavzd05bpm5yfppid0s0vsf8kabwia9620vgvi26sv1gjgwhb"; }; buildInputs = [tcl x11]; inherit tcl; diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/0.127.nix similarity index 79% rename from pkgs/development/tools/misc/elfutils/default.nix rename to pkgs/development/tools/misc/elfutils/0.127.nix index a57792d7039..2337ebbdbd0 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/0.127.nix @@ -1,7 +1,7 @@ -{stdenv, fetchurl}: +args: with args; stdenv.mkDerivation { - name = "elfutils-0.127"; + name = "elfutils-"+version; src = fetchurl { url = http://nix.cs.uu.nl/dist/tarballs/elfutils-0.127.tar.gz; sha256 = "12n3h5r3c24a6l2wxz0w2dqq072bvgms0dzckivrwp5vdn22lpdv"; diff --git a/pkgs/development/tools/misc/elfutils/0.131.nix b/pkgs/development/tools/misc/elfutils/0.131.nix new file mode 100644 index 00000000000..5efe046493d --- /dev/null +++ b/pkgs/development/tools/misc/elfutils/0.131.nix @@ -0,0 +1,9 @@ +args: with args; + +stdenv.mkDerivation { + name = "elfutils-"+version; + src = fetchurl { + url = http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.131.orig.tar.gz; + sha256 = "0vqfjpcv81m3q0gsk78qykakhz9rbfwd65i4zsi03xr2lrk9ayll"; + }; +} diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index b94a313d23d..5091a715167 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "strace-4.5.15"; + name = "strace-4.5.16"; src = fetchurl { - url = mirror://sourceforge/strace/strace-4.5.15.tar.gz; - sha256 = "07n62yv53p2hsb59srfaxb0kk8b6p6iq77drmf65pq8jpa50s9ip"; + url = mirror://sourceforge/strace/strace-4.5.16.tar.bz2; + sha256 = "15ks9i1gv7mbyiwnzbjls2xy0pyv5x4j9a5ca2x0258fq8lxwdhp"; }; } diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix index ca6aa2d2fce..72dd19b7af8 100644 --- a/pkgs/development/tools/misc/swig/default.nix +++ b/pkgs/development/tools/misc/swig/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { builder = ./builder.sh; src = fetchurl { - url = "mirror://sourceforge/swig/swig-1.3.33.tar.gz"; + url = mirror://sourceforge/swig/swig-1.3.33.tar.gz; sha256 = "02rz31i642sbsngny7k98d9hxlkcb9snvbzlnz3sh0qiyr3ciggv"; }; diff --git a/pkgs/development/tools/misc/valgrind/default.nix b/pkgs/development/tools/misc/valgrind/default.nix index 5fb0e85dda1..7f46228304b 100644 --- a/pkgs/development/tools/misc/valgrind/default.nix +++ b/pkgs/development/tools/misc/valgrind/default.nix @@ -1,16 +1,17 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "valgrind-3.2.3"; + name = "valgrind-3.3.0"; src = fetchurl { - url = http://valgrind.org/downloads/valgrind-3.2.3.tar.bz2; - sha256 = "0hf48y13mm1c1zg59bvkbr0lzcwng5mb33lgiv3d0gzl4w2r5jhv"; + url = http://valgrind.org/downloads/valgrind-3.3.0.tar.bz2; + sha256 = "0yllx5a2f5bx18gqz74aikr27zxwpblswn65lqvm9rbzswlq5w2s"; }; configureFlags = if stdenv.system == "x86_64-linux" then ["--enable-only64bit"] else []; meta = { + homepage = http://www.valgrind.org/; description = "Award-winning suite of tools for debugging and profiling Linux programs"; }; } diff --git a/pkgs/development/tools/parsing/alex/default.nix b/pkgs/development/tools/parsing/alex/default.nix new file mode 100644 index 00000000000..00d414d56bd --- /dev/null +++ b/pkgs/development/tools/parsing/alex/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ghc, perl}: + +stdenv.mkDerivation { + name = "alex-2.1.0"; + src = fetchurl { + url = http://www.haskell.org/alex/dist/2.1.0/alex-2.1.0.tar.gz; + sha1 = "37599b7be5249d639b3a5a3fdc61907dc4dad660"; + }; + buildInputs = [ghc perl]; + + configurePhase = " + ghc --make Setup.lhs + ./Setup configure --prefix=\"\${out}\" + "; + + buildPhase = " + ./Setup build + "; + + installPhase = " + ./Setup install + "; +} diff --git a/pkgs/development/tools/parsing/bison/bison-1.875.nix b/pkgs/development/tools/parsing/bison/bison-1.875.nix index 92aeafb335a..6a2ae1c794d 100644 --- a/pkgs/development/tools/parsing/bison/bison-1.875.nix +++ b/pkgs/development/tools/parsing/bison/bison-1.875.nix @@ -5,7 +5,9 @@ assert m4 != null; stdenv.mkDerivation { name = "bison-1.875"; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/bison-1.875.tar.bz2; + urls = [ http://nix.cs.uu.nl/dist/tarballs/bison-1.875.tar.bz2 + ftp://ftp.gnu.org/pub/gnu/bison/bison-1.875.tar.bz2 + ]; md5 = "b7f8027b249ebd4dd0cc948943a71af0"; }; buildInputs = [m4]; diff --git a/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix b/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix index 2d146eeca25..13bb6834979 100644 --- a/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix +++ b/pkgs/development/tools/parsing/flex/flex-2.5.4a.nix @@ -5,7 +5,7 @@ assert yacc != null; stdenv.mkDerivation { name = "flex-2.5.4a"; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/flex-2.5.4a.tar.gz; + url = mirror://sourceforge/flex/flex-2.5.4a.tar.gz; md5 = "bd8753d0b22e1f4ec87a553a73021adf"; }; buildInputs = [yacc]; diff --git a/pkgs/lib/default-unstable.nix b/pkgs/lib/default-unstable.nix index 33fb68f5857..5653508dca9 100644 --- a/pkgs/lib/default-unstable.nix +++ b/pkgs/lib/default-unstable.nix @@ -37,6 +37,7 @@ rec { else [(head list) separator] ++ (intersperse separator (tail list)); + toList = x : if (__isList x) then x else [x]; concatStringsSep = separator: list: concatStrings (intersperse separator list); @@ -55,7 +56,7 @@ rec { # "y"] applied to some set e returns e.x.y, if it exists. The # default value is returned otherwise. # comment: I'd rename this to getAttrRec or something like that .. (has the same name as builtin.getAttr) - Marc Weber - getAttr = attrPath: default: e: + getAttr = attrPath : default : e : let { attr = head attrPath; body = @@ -64,6 +65,20 @@ rec { then getAttr (tail attrPath) default (builtins.getAttr attr e) else default; }; + #getAttr = attrPath: default: e: getAttrMap id; + + # the same as getAttr but if the element exists map the value using function f + # corresponds to the maybe function of haskell + getAttrMap = f : attrPath : default : e : + let { + attr = head attrPath; + body = + if attrPath == [] then e + else if builtins ? hasAttr && builtins.hasAttr attr e + then f (getAttr (tail attrPath) default (builtins.getAttr attr e)) + else default; + }; + # Filter a list using a predicate; that is, return a list containing @@ -116,7 +131,9 @@ rec { # Return a singleton list or an empty list, depending on a boolean # value. Useful when building lists with optional elements # (e.g. `++ optional (system == "i686-linux") flashplayer'). - optional = cond: elem: if cond then [elem] else []; + optional = cond: elem: if (cond) then [elem] else []; + + whenFlip = x : cond : if (cond) then x else ""; # Return a list of integers from `first' up to and including `last'. @@ -187,11 +204,12 @@ rec { mapRecordFlatten = f : r : map (attr: f attr (builtins.getAttr attr r) ) (attrNames r); # to be used with listToAttrs (_a_ttribute _v_alue) + # TODO should be renamed to nv because niksnut has renamed the attribute attr to name av = name : value : { inherit name value; }; # attribute set containing one attribute - avs = attr : value : listToAttrs [ (av attr value) ]; + avs = name : value : listToAttrs [ (av name value) ]; # adds / replaces an attribute of an attribute set - setAttr = set : attr : v : set // (avs attr v); + setAttr = set : name : v : set // (avs name v); id = x : x; # true if all/ at least one element(s) satisfy f @@ -203,12 +221,37 @@ rec { mergeAttrs = fold ( x : y : x // y) {}; + # Using f = a : b = b the result is similar to // + # merge attributes with custom function handling the case that the attribute + # exists in both sets + mergeAttrsWithFunc = f : set1 : set2 : + fold (n: set : if (__hasAttr n set) + then setAttr set n (f (__getAttr n set) (__getAttr n set2)) + else set ) + set1 (__attrNames set2); + + # merging two attribute set concatenating the values of same attribute names + # eg { a = 7; } { a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; } + mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) ); + # returns atribute values as a list flattenAttrs = set : map ( attr : builtins.getAttr attr set) (attrNames set); mapIf = cond : f : fold ( x : l : if (cond x) then [(f x)] ++ l else l) []; # Marc 2nd proposal: (not everything has been tested in detail yet..) - + + # usage / example + # flagConfig = { + # } // (enableDisableFeature "flagName" "configure_feature" extraAttrs;) + # + # is equal to + # flagConfig = { + # flagName = { cfgOption = "--enable-configure_feature"; } // extraAttrs; + # no_flagName = { cfgOption = "--disable-configure_feature"; }; + enableDisableFeature = flagName : configure_feature : extraAttrs : + listToAttrs [ ( av flagName ({ cfgOption = "--enable-${configure_feature}"; } // extraAttrs ) ) + ( av "no_${flagName}" ({ cfgOption = "--disable-${configure_feature}"; } ) )]; + # calls chooseOptionsByFlags2 with some preprocessing # chooseOptionsByFlags2 returns an attribute set meant to be used to create new derivaitons. # see mkDerivationByConfiguration in all-packages.nix and the examples given below. @@ -266,6 +309,9 @@ rec { collectAttrs = attr : catAttrs attr flatOptions; optsConcatStrs = delimiter : attrs : concatStrings ( intersperse delimiter (flatten ( collectAttrs attrs ) ) ); + + ifStringGetArg = x : if (__isAttrs x) then x # ( TODO implement __isString ?) + else avs x (__getAttr x args); in assert ( all id ( mapRecordFlatten ( attr : r : if ( all id ( flatten (getAttr ["assertion"] [] r ) ) ) then true else throw "assertion failed flag ${attr}" ) @@ -279,13 +325,15 @@ rec { buildInputs = map ( attr: if (! hasAttr attr args) then throw "argument ${attr} is missing!" else (builtins.getAttr attr args) ) (flatten (catAttrs "buildInputs" flatOptions)); + propagatedBuildInputs = map ( attr: if (! hasAttr attr args) then throw "argument ${attr} is missing!" else (builtins.getAttr attr args) ) + (flatten (catAttrs "propagatedBuildInputs" flatOptions)); configureFlags = optsConcatStrs " " "cfgOption"; #flags = listToAttrs (map ( flag: av flag (hasAttr flag options) ) (attrNames flagConfig) ); flags_prefixed = listToAttrs (map ( flag: av ("flag_set_"+flag) (hasAttr flag options) ) (attrNames flagConfig) ); - pass = mergeAttrs (flatten (collectAttrs "pass") ); + pass = mergeAttrs ( map ifStringGetArg ( flatten (collectAttrs "pass") ) ); } # now add additional phase actions (see examples) // listToAttrs ( map ( x : av x (optsConcatStrs "\n" x) ) collectExtraPhaseActions ) ); } @@ -319,7 +367,8 @@ rec { # features: # * configure options are passed automatically # * buildInputs are collected (they are special, see the setup script) - # * they can be passed by additional name as well using pass = + # * they can be passed by additional name as well using pass = { inherit (args) python } + # ( or short (value not attrs) : pass = "python" ) # * an attribute named the same way as the flag is added indicating # true/ false (flag has been set/ not set) # * extra phase dependend commands can be added diff --git a/pkgs/lib/default.nix b/pkgs/lib/default.nix index 3ad861ef19d..108d62b3d8a 100644 --- a/pkgs/lib/default.nix +++ b/pkgs/lib/default.nix @@ -10,6 +10,12 @@ in rec { listOfListsToAttrs = ll : builtins.listToAttrs (map (l : { name = (head l); value = (head (tail l)); }) ll); + + # Identity function. + id = x: x; + + + # !!! need documentation... innerSumArgs = f : x : y : (if y == null then (f x) else (innerSumArgs f (x // y))); sumArgs = f : innerSumArgs f {}; @@ -20,6 +26,7 @@ rec { f (tail (tail l)); pairMap = innerPairMap []; + # "Fold" a binary function `op' between successive elements of # `list' with `nul' as the starting value, i.e., `fold op nul [x_1 # x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))'. (This is @@ -66,14 +73,12 @@ rec { # "y"] applied to some set e returns e.x.y, if it exists. The # default value is returned otherwise. getAttr = attrPath: default: e: - let { - attr = head attrPath; - body = - if attrPath == [] then e - else if builtins ? hasAttr && builtins.hasAttr attr e - then getAttr (tail attrPath) default (builtins.getAttr attr e) - else default; - }; + let attr = head attrPath; + in + if attrPath == [] then e + else if builtins ? hasAttr && builtins.hasAttr attr e + then getAttr (tail attrPath) default (builtins.getAttr attr e) + else default; # Filter a list using a predicate; that is, return a list containing @@ -96,15 +101,33 @@ rec { else head found; + # Return true iff function `pred' returns true for at least element + # of `list'. + any = pred: list: + if list == [] then false + else if pred (head list) then true + else any pred (tail list); + + + # Return true iff function `pred' returns true for all elements of + # `list'. + all = pred: list: + if list == [] then true + else if pred (head list) then all pred (tail list) + else false; + + # Return true if each element of a list is equal, false otherwise. eqLists = xs: ys: if xs == [] && ys == [] then true else if xs == [] || ys == [] then false else head xs == head ys && eqLists (tail xs) (tail ys); + # Workaround, but works in stable Nix now. eqStrings = a: b: (a+(substring 0 0 b)) == ((substring 0 0 a)+b); + # Determine whether a filename ends in the given suffix. hasSuffix = ext: fileName: let lenFileName = stringLength fileName; @@ -126,6 +149,15 @@ rec { in src: builtins.filterSource filter src; + # Get all files ending with the specified suffices from the given + # directory. E.g. `sourceFilesBySuffices ./dir [".xml" ".c"]'. + sourceFilesBySuffices = path: exts: + let filter = name: type: + let base = baseNameOf (toString name); + in type != "directory" && any (ext: hasSuffix ext base) exts; + in builtins.filterSource filter path; + + # Return a singleton list or an empty list, depending on a boolean # value. Useful when building lists with optional elements # (e.g. `++ optional (system == "i686-linux") flashplayer'). @@ -191,6 +223,19 @@ rec { in uniqList {outputList=newOutputList; inputList = (tail inputList);}; + uniqListExt = {inputList, outputList ? [], + getter ? (x : x), compare ? (x: y: x==y)}: + if (inputList == []) then outputList else + let x=head inputList; + isX = y: (compare (getter y) (getter x)); + newOutputList = outputList ++ + (if any isX outputList then [] else [x]); + in uniqListExt {outputList=newOutputList; + inputList = (tail inputList); + inherit getter compare; + }; + + condConcat = name: list: checker: if list == [] then name else diff --git a/pkgs/misc/maven/maven-2.nix b/pkgs/misc/maven/maven-2.nix new file mode 100644 index 00000000000..9f96639689b --- /dev/null +++ b/pkgs/misc/maven/maven-2.nix @@ -0,0 +1,23 @@ +args: +args.stdenv.mkDerivation { + name = "maven-2.0.8-bin"; + + src = args.fetchurl { + # TODO mirrors + url = http://apache.linux-mirror.org/maven/binaries/apache-maven-2.0.8-bin.tar.bz2; + sha256 = "1wasvqplw7xk04j38vsq94zbrlpdg2k4348bg8730snr6zgaasai"; + }; + + phases = "unpackPhase installPhase"; + + installPhase = " + ensureDir \$out; mv * \$out + "; + + buildInputs =(with args; []); + + meta = { + description = "Java build tool"; + homepage = "apache.org"; + }; +} diff --git a/pkgs/misc/tex/auctex/default.nix b/pkgs/misc/tex/auctex/default.nix index 1059e85cdc0..117ccf9e3da 100644 --- a/pkgs/misc/tex/auctex/default.nix +++ b/pkgs/misc/tex/auctex/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, emacs, tetex }: - + stdenv.mkDerivation { name = "auctex-11.84"; meta = { diff --git a/pkgs/misc/xsane/default.nix b/pkgs/misc/xsane/default.nix index fd7828696d4..e389f17eb76 100644 --- a/pkgs/misc/xsane/default.nix +++ b/pkgs/misc/xsane/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, saneBackends, saneFrontends, libX11, gtk, pkgconfig, libusb ? null}: stdenv.mkDerivation { - name = "xsane-0.97"; + name = "xsane-0.995"; src = fetchurl { - url = ftp://ftp.sane-project.org/pub/sane/xsane/xsane-0.97.tar.gz; - md5 = "3d1f889d88c3462594febd53be58c561"; + url = ftp://ftp.sane-project.org/pub/sane/xsane/xsane-0.995.tar.gz; + sha256 = "02rl5bkk3z3k6s04ki14l12vsl5jnx4mri66m1hl799m7hjl5836"; }; buildInputs = [saneBackends saneFrontends libX11 gtk pkgconfig ] ++ diff --git a/pkgs/os-specific/linux/atheros/0.9.3.3.nix b/pkgs/os-specific/linux/atheros/0.9.3.3.nix new file mode 100644 index 00000000000..d5c207bf188 --- /dev/null +++ b/pkgs/os-specific/linux/atheros/0.9.3.3.nix @@ -0,0 +1,34 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://downloads.sourceforge.net/madwifi/madwifi-0.9.3.3.tar.bz2; + sha256 = "1dq56dx81wfhpgipbrl3gk2is3g1xvysx2pl6vxyj0dhslkcnf3y"; + }; + + buildInputs = []; + configureFlags = []; + makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out'']; + patchAR2425x86 = ""; /*(if args ? pci001c_rev01 && args.pci001c_rev01 then + fetchurl { + url = http://madwifi.org/attachment/ticket/1679/madwifi-ng-0933.ar2425.20071130.i386.patch?format=raw; + name = "madwifi-AR2425-x86.patch"; + sha256 = "11xpx5g9w7ilagvj60prc3s8a3x0n5n4mr0b7nh0lxwrbjdgjjfg"; + } else "")*/; + } null; /* null is a terminator for sumArgs */ +let +doPatch = FullDepEntry (if patchAR2425x86 !="" then '' + cd hal + patch -Np1 -i ${patchAR2425x86} +'' else "") [minInit doUnpack]; +in +stdenv.mkDerivation rec { + name = "atheros-"+version; + builder = writeScript (name + "-builder") + (textClosure [doPatch doMakeInstall doForceShare doPropagate]); + meta = { + description = " + Atheros WiFi driver. +"; + }; +} diff --git a/pkgs/os-specific/linux/atheros/r2756.nix b/pkgs/os-specific/linux/atheros/r2756.nix new file mode 100644 index 00000000000..8309b785865 --- /dev/null +++ b/pkgs/os-specific/linux/atheros/r2756.nix @@ -0,0 +1,35 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://snapshots.madwifi.org/madwifi-ng/madwifi-ng-r2756-20071018.tar.gz; + sha256 = "0mm1kx9pjvvla792rv7k48yhsa0fpzvd1717g9xzazjsz2mqwzyv"; + }; + + buildInputs = []; + configureFlags = []; + makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out'']; + patchAR2425x86 = (if args ? pci001c_rev01 && args.pci001c_rev01 then + fetchurl { + url = http://madwifi.org/attachment/ticket/1679/madwifi-ng-0933.ar2425.20071130.i386.patch?format=raw; + name = "madwifi-AR2425-x86.patch"; + sha256 = "11xpx5g9w7ilagvj60prc3s8a3x0n5n4mr0b7nh0lxwrbjdgjjfg"; + } else ""); + } null; /* null is a terminator for sumArgs */ +let +doPatch = FullDepEntry (if patchAR2425x86 !="" then '' + cd hal + patch -Np1 -i ${patchAR2425x86} + cd .. +'' else "") [minInit doUnpack]; +in +stdenv.mkDerivation rec { + name = "atheros-"+version; + builder = writeScript (name + "-builder") + (textClosure [doPatch doMakeInstall doForceShare doPropagate]); + meta = { + description = " + Atheros WiFi driver. +"; + }; +} diff --git a/pkgs/os-specific/linux/atheros/r3122.nix b/pkgs/os-specific/linux/atheros/r3122.nix new file mode 100644 index 00000000000..c82b4021544 --- /dev/null +++ b/pkgs/os-specific/linux/atheros/r3122.nix @@ -0,0 +1,22 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://snapshots.madwifi.org/madwifi-ng/madwifi-ng-r3122-20080109.tar.gz; + sha256 = "188258c6q96n8lb57c0cqsvxp47psninirdax13w4yd07v1rymwd"; + }; + + buildInputs = []; + configureFlags = []; + makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out'']; + } null; /* null is a terminator for sumArgs */ +stdenv.mkDerivation rec { + name = "atheros-"+version; + builder = writeScript (name + "-builder") + (textClosure [doMakeInstall doForceShare doPropagate]); + meta = { + description = " + Atheros WiFi driver. +"; + }; +} diff --git a/pkgs/os-specific/linux/bridge_utils/default.nix b/pkgs/os-specific/linux/bridge_utils/default.nix index 3fb80b7484a..2c71f8fb0a9 100644 --- a/pkgs/os-specific/linux/bridge_utils/default.nix +++ b/pkgs/os-specific/linux/bridge_utils/default.nix @@ -3,7 +3,7 @@ args.stdenv.mkDerivation { name = "bridge-utils-1.2"; src = args.fetchurl { - url = http://mirror/sourceforge/bridge/bridge-utils-1.2.tar.gz; + url = mirror://sourceforge/bridge/bridge-utils-1.2.tar.gz; sha256 = "0jg3z51c2c34byg4zi39j9g4b66js5kanjhid77hpa0jdfmryfy9"; }; diff --git a/pkgs/os-specific/linux/dmidecode/2.9.nix b/pkgs/os-specific/linux/dmidecode/2.9.nix new file mode 100644 index 00000000000..787846465d8 --- /dev/null +++ b/pkgs/os-specific/linux/dmidecode/2.9.nix @@ -0,0 +1,22 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://download.savannah.gnu.org/releases/dmidecode/dmidecode-2.9.tar.bz2; + sha256 = "05g0ln400fhqjspg9h4x0a1dvmwiyjq5rk9q9kimxvywbg1b53l8"; + }; + + buildInputs = []; + configureFlags = []; + makeFlags = "prefix=\$out"; + } null; /* null is a terminator for sumArgs */ +stdenv.mkDerivation rec { + name = "dmidecode-"+version; + builder = writeScript (name + "-builder") + (textClosure [ doMakeInstall doForceShare doPropagate]); + meta = { + description = " + Tool to decode Desktop Management Interface and SBIOS data. +"; + }; +} diff --git a/pkgs/os-specific/linux/dvd+rw-tools/7.0.nix b/pkgs/os-specific/linux/dvd+rw-tools/7.0.nix new file mode 100644 index 00000000000..c991389633c --- /dev/null +++ b/pkgs/os-specific/linux/dvd+rw-tools/7.0.nix @@ -0,0 +1,27 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-7.0.tar.gz; + sha256 = "08hljn2vfn794dfrfpp3m245dbpb6nhk40igfpqm6wg9qimc9zy9"; + }; + + buildInputs = [cdrkit m4]; + configureFlags = []; + makeFlags = [" prefix=\$out "]; + } null; /* null is a terminator for sumArgs */ +let + preBuild = FullDepEntry (" + sed -e 's@/usr/local@'\$out'@g' -i Makefile.m4 Makefile + ") [minInit doUnpack]; +in +stdenv.mkDerivation rec { + name = "dvd+rw-tools-"+version; + builder = writeScript (name + "-builder") + (textClosure [preBuild doMakeInstall doForceShare doPropagate]); + meta = { + description = " + DVD+RW tools. +"; + }; +} diff --git a/pkgs/os-specific/linux/fuse/builder.sh b/pkgs/os-specific/linux/fuse/builder.sh index 5f0d53954e7..c843ae6183b 100644 --- a/pkgs/os-specific/linux/fuse/builder.sh +++ b/pkgs/os-specific/linux/fuse/builder.sh @@ -13,4 +13,6 @@ export UDEV_RULES_PATH=$out/etc/udev/rules.d # $PATH. export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/no-such-path\"" +export preBuild="sed -e 's@/bin/@$utillinux/bin/@g' -i lib/mount_util.c"; + genericBuild diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 28052d7ceb3..7e3bb66b16f 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -1,11 +1,19 @@ -{stdenv, fetchurl}: +args: with args; stdenv.mkDerivation { - name = "fuse-2.6.5"; + name = "fuse-2.7.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/fuse/fuse-2.6.5.tar.gz; - sha256 = "0901hrhi1z6dwlgvgn75cg2268wvaz53x0knn7jplk6acwir54db"; + url = mirror://sourceforge/fuse/fuse-2.7.2.tar.gz; + sha256 = "1zxssdiirf19mihbnxpy0kiix35d4256b9lani7qwqi7m940jfgv"; + }; + configureFlags = [ "--disable-kernel-module"]; + buildInputs = [ utillinux ]; + + inherit utillinux; + + meta = { + homepage = http://fuse.sourceforge.net/; + description = "Kernel module and library that allows filesystems to be implemented in user space"; }; - configureFlags = [ "--disable-kernel-module" ]; } diff --git a/pkgs/os-specific/linux/kernel/2.6.22-paravirt-nvidia.patch b/pkgs/os-specific/linux/kernel/2.6.22-paravirt-nvidia.patch deleted file mode 100644 index 15dc34680d0..00000000000 --- a/pkgs/os-specific/linux/kernel/2.6.22-paravirt-nvidia.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -rc linux-2.6.22.1/arch/i386/kernel/paravirt.c linux-2.6.22.1-para/arch/i386/kernel/paravirt.c -*** linux-2.6.22.1/arch/i386/kernel/paravirt.c 2007-07-20 16:19:35.000000000 +0200 ---- linux-2.6.22.1-para/arch/i386/kernel/paravirt.c 2007-07-20 16:20:00.000000000 +0200 -*************** -*** 344,347 **** - .activate_mm = paravirt_nop, - }; - -! EXPORT_SYMBOL(paravirt_ops); ---- 344,347 ---- - .activate_mm = paravirt_nop, - }; - -! EXPORT_SYMBOL_GPL(paravirt_ops); diff --git a/pkgs/os-specific/linux/kernel/2.6.23.12.nix b/pkgs/os-specific/linux/kernel/2.6.23.12.nix new file mode 100644 index 00000000000..a0e3bcbf2d8 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/2.6.23.12.nix @@ -0,0 +1,38 @@ +args: +(import ./meta.nix) +( args // + { + version = "2.6.23.12"; + src_hash = { sha256 = "1x3ngnhyxy9rlaislm2hzijaaa2mp8v930dyp8zmmhjdpzjf3w8k"; }; + + systemPatches = [ + { # resume with resume=swap:/dev/xx + name = "tux on ice"; # (swsusp2) + patch = args.fetchurl { + url = "http://www.tuxonice.net/downloads/all/tuxonice-3.0-rc3-for-2.6.23.9.patch.bz2"; + sha256 = "16f61cn0mdi7yklhdx4isi7c85843fzxq2cifd05cpsl6x6ilrfk"; + }; + extraConfig = " + CONFIG_SUSPEND2=y + CONFIG_SUSPEND2_FILE=y + CONFIG_SUSPEND2_SWAP=y + CONFIG_CRYPTO_LZF=y + "; + } + { name = "fbsplash-0.9.2-r5-2.6.21"; + patch = args.fetchurl { + url = http://dev.gentoo.org/~dsd/genpatches/trunk/2.6.22/4200_fbsplash-0.9.2-r5.patch; + sha256 = "0822wwlf2dqsap5qslnnp0yl1nbvvvb76l73w2dd8zsyn0bqg3px"; + }; + extraConfig = "CONFIG_FB_SPLASH=y"; + } + ]; + + config = with args; + if config != null then config else + if userModeLinux then ./config-2.6.23-uml else + if stdenv.system == "i686-linux" then ./config-2.6.23-i686-smp else + if stdenv.system == "x86_64-linux" then ./config-2.6.23-x86_64-smp else + abort "No kernel configuration for your platform!"; + } +) diff --git a/pkgs/os-specific/linux/kernel/config-2.6.23-i686-smp b/pkgs/os-specific/linux/kernel/config-2.6.23-i686-smp index 5e472930410..86fbe30c521 100644 --- a/pkgs/os-specific/linux/kernel/config-2.6.23-i686-smp +++ b/pkgs/os-specific/linux/kernel/config-2.6.23-i686-smp @@ -119,7 +119,7 @@ CONFIG_X86_PC=y # CONFIG_X86_GENERICARCH is not set # CONFIG_X86_ES7000 is not set CONFIG_PARAVIRT=y -CONFIG_XEN=y +# CONFIG_XEN is not set CONFIG_VMI=y # CONFIG_M386 is not set # CONFIG_M486 is not set diff --git a/pkgs/os-specific/linux/kqemu/1.3.0pre11.nix b/pkgs/os-specific/linux/kqemu/1.3.0pre11.nix new file mode 100644 index 00000000000..3aa2731ac3f --- /dev/null +++ b/pkgs/os-specific/linux/kqemu/1.3.0pre11.nix @@ -0,0 +1,30 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz; + sha256 = "03svg2x52ziglf9r9irf6ziiz8iwa731fk1mdskwdip5jxbyy6jl"; + }; + buildInputs = []; + configureFlags = [''--prefix=$out'' ''--kernel-path=$(ls -d ${kernel}/lib/modules/*/build)'']; + } null; /* null is a terminator for sumArgs */ +let + debugStep = FullDepEntry ('' + cat config-host.mak + '') [minInit]; + preConfigure = FullDepEntry ('' + sed -e '/kernel_path=/akernel_path=$out$kernel_path' -i install.sh + sed -e '/depmod/d' -i install.sh + cat install.sh + '') [minInit doUnpack]; +in +stdenv.mkDerivation rec { + name = "kqemu-"+version; + builder = writeScript (name + "-builder") + (textClosure [preConfigure doConfigure debugStep doMakeInstall doForceShare doPropagate]); + meta = { + description = " + Kernel module for Qemu acceleration +"; + }; +} diff --git a/pkgs/os-specific/linux/module-init-tools/aggregator.nix b/pkgs/os-specific/linux/module-init-tools/aggregator.nix new file mode 100644 index 00000000000..09866f414e5 --- /dev/null +++ b/pkgs/os-specific/linux/module-init-tools/aggregator.nix @@ -0,0 +1,34 @@ +args : with args; + with builderDefs { + addSbinPath = true; + src = ""; + buildInputs = [lndir module_init_tools]; + configureFlags = []; + } null; /* null is a terminator for sumArgs */ +let + +doCollect = FullDepEntry ('' +ensureDir $out/ +cd $out/ +for i in $moduleSources; do + lndir $i/ +done +rm -rf nix-support +cd lib/modules/ +rm */modules.* +MODULE_DIR=$PWD/ depmod -a +'') [minInit addInputs defEnsureDir]; +in +stdenv.mkDerivation rec { + name = "module-aggregator"; + inherit moduleSources; + builder = writeScript (name + "-builder") + (textClosure [doCollect doForceShare doPropagate]); + meta = { + description = " + A directory to hold all the modules, including those + built separately from kernel. Earlier directories in + moduleSources have higher priority. +"; + }; +} diff --git a/pkgs/os-specific/linux/nvidia/builder.sh b/pkgs/os-specific/linux/nvidia/builder.sh index 9ec3428e878..4ef8c551d1c 100755 --- a/pkgs/os-specific/linux/nvidia/builder.sh +++ b/pkgs/os-specific/linux/nvidia/builder.sh @@ -1,101 +1,76 @@ source $stdenv/setup -echo "Building linux driver against kernel: " $kernelOutPath; -echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH" - -echo $nvidiasrc -cp $nvidiasrc . -chmod 755 ./*-NVIDIA* -./*-NVIDIA* -x -cd NVIDIA*/ - -cd usr/src/nv/ -pwd -P - -#Clean up -#make clean - -#Create the module -echo $out -mkdir $out -make SYSSRC=$kernelOutPath/lib/modules/2.*/build/ module - -#go to the usr dir of the nvidia package -cd ../../ - -echo "Copying all files to " $out/lib"" - -cp -R * $out - -#add extra symlinks in $out -ln -snf $out/lib/libGLcore.so.$versionNumber $out/lib/libGLcore.so -ln -snf $out/lib/libGLcore.so.$versionNumber $out/lib/libGLcore.so.1 -ln -snf $out/lib/libGL.so.$versionNumber $out/lib/libGL.so -ln -snf $out/lib/libGL.so.$versionNumber $out/lib/libGL.so.1 -ln -snf $out/lib/libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1 -ln -snf $out/lib/libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1 -ln -snf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber $out/X11R6/lib/libXvMCNVIDIA.so.1 -ln -snf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA.so.1 -ln -snf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber $out/X11R6/lib/modules/libnvidia-wfb.so.1 -ln -snf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber $out/lib/libnvidia-wfb.so.1 -ln -snf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber $out/X11R6/lib/modules/extensions/libglx.so.1 -ln -snf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber $out/lib/libglx.so.1 - -#TODO: patchelf binaries ! -#patchelf --set-interpreter ${path glibc TODO /lib/ld-linux.so.2 $out/bin/.... - -#from dep on xorg-sys-opengl: add symlinks in /usr/lib/ (especially libGL.so.1) to the real location... - -ensureDir /usr/lib/ -cd /usr/lib -ln -snf $out/lib/libGLcore.so.$versionNumber libGLcore.so.1 -ln -snf $out/lib/libGL.la libGL.la -ln -snf $out/lib/libGL.so.$versionNumber libGL.so.1 -ln -snf $out/lib/libnvidia-cfg.so.$versionNumber libnvidia-cfg.so.1 -ln -snf $out/lib/libnvidia-tls.so.$versionNumber libnvidia-tls.so.1 -ensureDir /usr/lib/tls/ -ln -snf $out/lib/tls/libnvidia-tls.so.$versionNumber /usr/lib/tls/libnvidia-tls.so.1 -ln -snf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber libglx.so.1 -ln -snf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber libnvidia-wfb.so.1 -ln -snf $out/X11R6/lib/modules/drivers/nvidia_drv.so nvidia_drv.so -ln -snf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber libXvMCNVIDIA.so.1 -ln -snf $out/bin/tls_test_dso.so tls_test_dso.so -ln -snf $out/src/nv/nvidia.ko nvidia.ko - -echo "YOU! need to add symlinks as root to the libs in the current $xorgOutPath/lib/xorg/modules/extensions/ (especially libglx.so)" -rwlibs=" -cd $xorgOutPath/lib/xorg/modules/extensions/; -mv libglx.so libglx.so.org; -mv libglx.la libglx.la.org; -mv libGLcore.so libGLcore.so.org; -ln -snf /usr/lib/libglx.so.1 libglx.so; -ln -snf /usr/lib/libglx.so.1 libglx.so.1; -ln -snf /usr/lib/libGLcore.so.1 libGLcore.so; -ln -snf /usr/lib/libGLcore.so.1 libGLcore.so.1; -ln -snf /usr/lib/libGL.so.1 libGL.so; -ln -snf /usr/lib/libGL.so.1 libGL.so.1; -ln -snf /usr/lib/libglx.la libglx.la; -ln -snf /usr/lib/libglx.so.1 libglx.so; -ln -snf /usr/lib/libglx.so.1 libglx.so.1; -ln -snf /usr/lib/nvidia_drv.so nvidia_drv.so; - -# rm /var/run/opengl-driver; -ln -snf /var/run/opengl-driver $out; - -kerneldrvnvpath=$kernelOutPath/lib/modules/*-default/kernel/drivers/video/nvidia; -#echo TODO kerneldrvnvpath: \$kerneldrvnvpath -ln -snf $out/src/nv/nvidia.ko \$kerneldrvnvpath/nvidia.ko; -" -#TODO ADD ln -sf is sometimes not strong enough ... - -rwlibsfile="$out/bin/nvidia-rewriteLibs.sh" - -echo "--------------------------------------------------------" -echo "YOU MUST RUN $rwlibsfile as ROOT after this installation" -echo "--------------------------------------------------------" -echo $rwlibs > $rwlibsfile -chmod 755 $rwlibsfile - -sleep 5 +dontPatchELF=1 # must keep libXv, $out in RPATH +unpackFile() { + sh $src -x +} + + +buildPhase=myBuildPhase +myBuildPhase() { + echo "Building linux driver against kernel: " $kernel; + + cd usr/src/nv/ + + # Workaround: get it to build on kernels that have CONFIG_XEN set. + # Disable the test, apply a patch to disable the Xen functionality. + #substituteInPlace Makefile.kbuild --replace xen_sanity_check fnord + #patch -p1 < $xenPatch + + # Create the module. + sysSrc=$(echo $kernel/lib/modules/2.*/build/) + unset src # used by the nv makefile + make SYSSRC=$sysSrc module + cd ../../.. +} + + +installPhase=myInstallPhase +myInstallPhase() { + + # Install the kernel module. + ensureDir $out/lib + cp usr/src/nv/nvidia.ko $out/lib/ + + # Install libGL and friends. + cp -prd usr/lib/* usr/X11R6/lib/libXv* $out/lib/ + + ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so + ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so.1 + ln -snf libGL.so.$versionNumber $out/lib/libGL.so + ln -snf libGL.so.$versionNumber $out/lib/libGL.so.1 + ln -snf libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1 + ln -snf libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1 + ln -snf libnvidia-tls.so.$versionNumber $out/lib/tls/libnvidia-tls.so.1 + ln -snf libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA_dynamic.so.1 + ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1 + + # Install the X driver. + ensureDir $out/lib/xorg/modules + cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/ + + ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1 + ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so + + # Install the programs. + ensureDir $out/bin + + fullPath=$out/lib + for i in $libPath; do + fullPath=$fullPath:$i/lib + done + + for i in nvidia-settings nvidia-xconfig; do + cp usr/bin/$i $out/bin/$i + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $fullPath $out/bin/$i + done + + # Header files etc. + cp -prd usr/include usr/share $out +} + + +genericBuild diff --git a/pkgs/os-specific/linux/nvidia/default.nix b/pkgs/os-specific/linux/nvidia/default.nix index d4f1c8ac9bc..11906b60658 100644 --- a/pkgs/os-specific/linux/nvidia/default.nix +++ b/pkgs/os-specific/linux/nvidia/default.nix @@ -1,46 +1,26 @@ -{ stdenv -, fetchurl - -, kernel -, coreutils -, xorg_server - -#deps -,libXext, libX11 - -}: +{stdenv, fetchurl, kernel, xlibs, gtkLibs}: let - versionNumber = "100.14.19"; #important ! to also update this if the sources are updated, this is used as follows: extensions/libglx.so.$versionNumber + versionNumber = "169.07"; in + stdenv.mkDerivation { name = "nvidiaDrivers-" + versionNumber; builder = ./builder.sh; - - nvidiasrc = fetchurl { #we cannot use $src since this variable is also used in the nvidia sources - #url = http://www.denbreejen.net/public/nixos/NVIDIA-Linux-x86-1.0-9755-pkg1.run; - #sha256 = "1985373866b1dcae80f3da66dbbbd3c28ad76e75a620865be321ee870ad9d1ea"; - #url = http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-100.14.11-pkg1.run; - #sha256 = "8665370e590328cc5bf3d13737739a80dacbfb6844436cab03c992e84bf16b0c"; - url = http://us.download.nvidia.com/XFree86/Linux-x86/100.14.19/NVIDIA-Linux-x86-100.14.19-pkg1.run; - sha256 = "4dc97d8ff5340954f3cd446093636261c54b147e9721eb295574207d79e9a7e7"; + src = fetchurl { + url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg1.run"; + sha256 = "1q4sbwcf24rvx72sj19pvhsmg5n8v2rfzsxf56mfxjbiy2jhjbaa"; }; - inherit versionNumber; - kernelOutPath = kernel.outPath; - xorgOutPath = xorg_server.outPath; + #xenPatch = ./nvidia-2.6.24-xen.patch; - buildInputs = [ - libXext libX11 + inherit versionNumber kernel; + + libPath = [ + gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib + xlibs.libXext xlibs.libX11 xlibs.libXv ]; - - propagatedBuildInputs = [ - libX11 libXext - ]; - - NIX_LDFLAGS = "-rpath ${libX11}/lib -rpath ${libXext}/lib"; - LD_LIBRARY_PATH = "${libX11}/lib:${libXext}/lib/"; } diff --git a/pkgs/os-specific/linux/sdparm/1.02.nix b/pkgs/os-specific/linux/sdparm/1.02.nix new file mode 100644 index 00000000000..0616ac83563 --- /dev/null +++ b/pkgs/os-specific/linux/sdparm/1.02.nix @@ -0,0 +1,21 @@ +args : with args; + with builderDefs { + src = /* put a fetchurl here */ + fetchurl { + url = http://sg.torque.net/sg/p/sdparm-1.02.tgz; + sha256 = "13acyg6r65gypdprjhfkmvaykgfcj1riwpnycpvv9znzgq9fxsiv"; + }; + + buildInputs = []; + configureFlags = []; + } null; /* null is a terminator for sumArgs */ +stdenv.mkDerivation rec { + name = "sdparm-"+version; + builder = writeScript (name + "-builder") + (textClosure [doConfigure doMakeInstall doForceShare doPropagate]); + meta = { + description = " + SCSI parameters utility. +"; + }; +} diff --git a/pkgs/os-specific/linux/squashfs/default.nix b/pkgs/os-specific/linux/squashfs/default.nix index 1f2bde7feac..00ce8fba56e 100644 --- a/pkgs/os-specific/linux/squashfs/default.nix +++ b/pkgs/os-specific/linux/squashfs/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, zlib}: stdenv.mkDerivation { - name = "squashfs-3.1-r2"; + name = "squashfs-3.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/squashfs/squashfs3.1-r2.tar.gz; - md5 = "c252e5286b142afa54ca49829c51a33f"; + url = mirror://sourceforge/squashfs/squashfs3.3.tgz; + sha256 = "1j55m26nyvlbld4yxad0r6s1f4rdw9yg89y2gv93ihkx3rx048w4"; }; buildInputs = [zlib]; } diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index bad391330a5..0fc27acbc1f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1986,8 +1986,8 @@ rec { url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.3/src/everything/xf86-video-ati-6.6.3.tar.bz2; sha256 = "102p6nz1jvd3pgbl83a4zi99smydqr6il61r33l0lqmi3yg452nh"; }; - buildInputs = [pkgconfig fontsproto libdrm randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ]; - }) // {inherit fontsproto libdrm randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;}; + buildInputs = [pkgconfig fontsproto libdrm randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto mesaHeaders glproto ]; + }) // {inherit fontsproto libdrm randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto mesaHeaders glproto;}; xf86videochips = (stdenv.mkDerivation { name = "xf86-video-chips-1.1.1"; diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix index cd374289d54..f0ef071bb56 100644 --- a/pkgs/shells/tcsh/default.nix +++ b/pkgs/shells/tcsh/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, ncurses}: stdenv.mkDerivation { - name = "tcsh-6.14.00"; + name = "tcsh-6.15.00"; src = fetchurl { - url = ftp://ftp.gw.com/pub/unix/tcsh/tcsh-6.14.00.tar.gz; - md5 = "353d1bb7d2741bf8de602c7b6f0efd79"; + url = ftp://ftp.funet.fi/pub/unix/shells/tcsh/tcsh-6.15.00.tar.gz; + sha256 = "1p5chgvj87m2dv4ci9qf4i81gav0lzr7rkcm320sj62z09ckxa6w"; }; buildInputs = [ncurses]; } diff --git a/pkgs/tools/X11/xlaunch/default.nix b/pkgs/tools/X11/xlaunch/default.nix new file mode 100644 index 00000000000..89c94ffd515 --- /dev/null +++ b/pkgs/tools/X11/xlaunch/default.nix @@ -0,0 +1,48 @@ +args: with args; +stdenv.mkDerivation { + name = "xlaunch"; + inherit xorgserver; + buildCommand = " + cat << EOF > realizeuid.c + #include + #include + #include + int main(int argc, char ** argv, char ** envp) + { + uid_t a,b,c; + int i; + char *nargv[10000]; + char arg1 [10]; + nargv[0]=argv[0]; + for (i=1; i<=argc; i++){ + nargv[i+1]=argv[i]; + } + nargv[1]=arg1; + getresuid (&a,&b,&c); + snprintf(arg1,8,\"%d\",a); + setresuid(c,c,c); + execve(\"\$out/libexec/xlaunch\", nargv, envp); + } +EOF + mkdir -p \$out/bin + mkdir -p \$out/libexec + gcc realizeuid.c -o \$out/bin/xlaunch + echo '#! ${stdenv.shell} + USER=\$(egrep '\\''^[-a-z0-9A-Z_]*:[^:]*:'\\''\$1'\\'':'\\'' /etc/passwd | sed -e '\\''s/:.*//'\\'' ) + shift + case \"\$1\" in + :*) export _display=\"\$1\"; + shift + esac + _display=\${_display:-:0} + _display=\${_display#:} + echo Using :\$_display + XCMD=\"\$(egrep \"^env\" /etc/event.d/xserver | sed -e \"s/env/ export /\" | sed -e '\\''s/#.*//'\\'' ; echo export _XARGS_=\\\$\\( grep xserver_arguments \\\$SLIM_CFGFILE \\| sed -e s/xserver_arguments// \\| sed -e s/:0/:\${_display}/ \\| sed -e s/vt7/vt\$((7+_display))/ \\) ; echo ${xorgserver}/bin/X \\\$_XARGS_ )\" + echo \"\$XCMD\" + echo \"\$XCMD\" | bash & + while ! test -e /tmp/.X11-unix/X\$_display &>/dev/null ; do sleep 0.5; done + su -l \${USER:-identityless-shelter} -c \"DISPLAY=:\$_display \$*\"; + ' >\$out/libexec/xlaunch + chmod a+x \$out/libexec/xlaunch + "; +} diff --git a/pkgs/tools/archivers/cabextract/default.nix b/pkgs/tools/archivers/cabextract/default.nix index e7f9a5a5da0..a87c02c7d04 100644 --- a/pkgs/tools/archivers/cabextract/default.nix +++ b/pkgs/tools/archivers/cabextract/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "cabextract-1.2"; src = fetchurl { - url = http://www.kyz.uklinux.net/downloads/cabextract-1.2.tar.gz; - md5 = "dc421a690648b503265c82ade84e143e"; + url = http://www.cabextract.org.uk/cabextract-1.2.tar.gz; + sha256 = "1sr5f7qicj5q2h5m4wbmfcaaqxg5zkl5vkxlhyc11spwfh58d75f"; }; } diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix index 51a1b618e02..f3fb96ae1e5 100644 --- a/pkgs/tools/archivers/zip/default.nix +++ b/pkgs/tools/archivers/zip/default.nix @@ -2,7 +2,7 @@ name = "zip-2.32"; builder = ./builder.sh; src = fetchurl { - url = http://ftp.info-zip.org/pub/infozip/src/zip232.tar.gz; + url = ftp://ftp.info-zip.org/pub/infozip/src/zip232.tgz; md5 = "8a4da4460386e324debe97f3b7fe4d96"; }; } diff --git a/pkgs/tools/graphics/exif/default.nix b/pkgs/tools/graphics/exif/default.nix index aa4d82468c3..94bf2e2cb0d 100644 --- a/pkgs/tools/graphics/exif/default.nix +++ b/pkgs/tools/graphics/exif/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, pkgconfig, libexif, popt}: stdenv.mkDerivation { - name = "exif-0.6.9"; + name = "exif-0.6.15"; src = fetchurl { - url = http://nix.cs.uu.nl/dist/tarballs/exif-0.6.9.tar.gz; - md5 = "555029098386fa677c461eb249d852d7"; + url = mirror://sourceforge/libexif/exif-0.6.15.tar.bz2; + sha256 = "19kxl72l1iqq747k58rir7v4ld1676j3dmjdc1pik9hjlgdb1yj1"; }; buildInputs = [pkgconfig libexif popt]; diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix index b424672ed41..abde6da66d6 100644 --- a/pkgs/tools/graphics/graphviz/default.nix +++ b/pkgs/tools/graphics/graphviz/default.nix @@ -3,11 +3,11 @@ assert libpng != null && libjpeg != null && expat != null; stdenv.mkDerivation { - name = "graphviz-2.12"; + name = "graphviz-2.16.1"; src = fetchurl { - url = http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.12.tar.gz; - md5 = "e5547bc0ec47943c72f5c3e2b5dff58f"; + url = http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.16.1.tar.gz; + sha256 = "1lan1hyar0xbqvnkcmlcvv02g8zfpk94gk04y4sik5irpa2s3h9j"; }; buildInputs = [x11 libpng libjpeg expat libXaw yacc libtool]; @@ -19,5 +19,10 @@ stdenv.mkDerivation { "--with-expatincludedir=${expat}/include" "--with-expatlibdir=${expat}/lib" ] - ++ (if x11 == null then ["--without-x"] else []); + ++ stdenv.lib.optional (x11 == null) "--without-x"; + + meta = { + description = "A program for visualising graphs"; + homepage = http://www.graphviz.org/; + }; } diff --git a/pkgs/tools/hddtemp/default.nix b/pkgs/tools/hddtemp/default.nix new file mode 100644 index 00000000000..0bb51287474 --- /dev/null +++ b/pkgs/tools/hddtemp/default.nix @@ -0,0 +1,27 @@ +args: +args.stdenv.mkDerivation { + name = "hddtemp-0.3-beta15"; + + db = args.fetchurl{ + url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp.db; + sha256 = "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya"; + }; + src = args.fetchurl { + url = http://download.savannah.nongnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2; + sha256 = "0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1"; + }; + + configurePhase = " + ensureDir \$out/nix-support + cp \$db \$out/nix-support/hddtemp.db + ./configure --prefix=\$out --with-db-path=\$out/nix-support/hddtemp.db + "; + + buildInputs =(with args; []); + + meta = { + description = "shows the harddisk temperature"; + homepage = https://savannah.nongnu.org/projects/hddtemp/; + license = "GPL2"; + }; +} diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index d7e31e9cf32..cf4919d3c8f 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -1,9 +1,14 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "file-4.17"; + name = "file-4.23"; src = fetchurl { - url = ftp://ftp.astron.com/pub/file/file-4.17.tar.gz; - md5 = "50919c65e0181423d66bb25d7fe7b0fd"; + url = ftp://ftp.astron.com/pub/file/file-4.23.tar.gz; + sha256 = "0iyiyzcs88k6r881l11zrg86ys3rnwjyh1bgx7hnfyjv8zk9db9g"; + }; + + meta = { + description = "A program that shows the type of files"; + homepage = ftp://ftp.astron.com/pub/file; }; } diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix index 0a406f72b46..1b7f052dfdf 100644 --- a/pkgs/tools/misc/grub/default.nix +++ b/pkgs/tools/misc/grub/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, autoconf, automake}: if stdenv.system == "x86_64-linux" then abort "Grub doesn't build on x86_64-linux. You should use the build for i686-linux instead." @@ -6,8 +6,27 @@ else stdenv.mkDerivation { name = "grub-0.97"; + src = fetchurl { url = ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz; md5 = "cd3f3eb54446be6003156158d51f4884"; }; + + patches = [ + # Patch to add primitive splash screen support (not the fancy SUSE gfxmenu stuff). + # With this you can set splashimage=foo.xpm.gz in menu.lst to get + # a 640x480, 14-colour background. + (fetchurl { + url = "http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/system/grub-gfx/grub-0.97-graphics.patch?rev=HEAD&cvsroot=AUR&only_with_tag=CURRENT&content-type=text/plain"; + sha256 = "0m6min9cbj71kvp0kxkxdq8dx2dwm3dj0rd5sjz5xdl13ihaj5hy"; + }) + ]; + + # Autoconf/automake required for the splashimage patch. + buildInputs = [autoconf automake]; + + preConfigure = '' + autoreconf + ''; + } diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix index ad7fe970d31..f4a7bc0cf5d 100644 --- a/pkgs/tools/misc/less/default.nix +++ b/pkgs/tools/misc/less/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ncurses}: stdenv.mkDerivation { - name = "less-394"; + name = "less-418"; src = fetchurl { - url = http://www.greenwoodsoftware.com/less/less-394.tar.gz; - md5 = "a9f072ccefa0d315b325f3e9cdbd4b97"; + url = http://www.greenwoodsoftware.com/less/less-418.tar.gz; + sha256 = "1d03n4wx8y1gmf2m8yawzg6ixmfrixcai5l14p9pj8q13gbgqcpm"; }; buildInputs = [ncurses]; diff --git a/pkgs/tools/misc/memtest86/default.nix b/pkgs/tools/misc/memtest86/default.nix new file mode 100644 index 00000000000..32f2094b44c --- /dev/null +++ b/pkgs/tools/misc/memtest86/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "memtest86+-1.70"; + + src = fetchurl { + url = http://www.memtest.org/download/1.70/memtest86+-1.70.tar.gz; + sha256 = "1swj4hc764qwb3j80kvvb4qg5maq9dp8pxzy9jkk187jf92j8vfw"; + }; + + preBuild = '' + # Really dirty hack to get Memtest to build without needing a Glibc + # with 32-bit libraries and headers. + if test "$system" = x86_64-linux; then + mkdir gnu + touch gnu/stubs-32.h + fi + ''; + + NIX_CFLAGS_COMPILE = "-I."; + + installPhase = '' + ensureDir $out + cp memtest.bin $out/ + ''; +} diff --git a/pkgs/tools/misc/psmisc/default.nix b/pkgs/tools/misc/psmisc/default.nix new file mode 100644 index 00000000000..64985a8638c --- /dev/null +++ b/pkgs/tools/misc/psmisc/default.nix @@ -0,0 +1,15 @@ +{stdenv, fetchurl, ncurses}: + +stdenv.mkDerivation { + name = "psmisc-22.6"; + src = fetchurl { + url = mirror://sourceforge/psmisc/psmisc-22.6.tar.gz; + sha256 = "0qlx4rdcj3igk67gzmdbyy6f54h4c5ya17gw0pkxdcwlgj4q2g51"; + }; + buildInputs = [ncurses]; + + meta = { + homepage = http://psmisc.sourceforge.net/; + description = "A set of small useful utilities that use the proc filesystem (such as fuser, killall and pstree)"; + }; +} diff --git a/pkgs/tools/misc/relfs/cvs.2007.12.01.nix b/pkgs/tools/misc/relfs/cvs.2007.12.01.nix index 146d55e90c6..411906e45ba 100644 --- a/pkgs/tools/misc/relfs/cvs.2007.12.01.nix +++ b/pkgs/tools/misc/relfs/cvs.2007.12.01.nix @@ -22,7 +22,9 @@ let build = FullDepEntry (" sed -e '/install:/a\\\tmkdir -p '\$out'/share' -i Makefile make mkdir -p \$out/bin - echo 'dropdb relfs_\$1 ; + echo ' + createuser -A -D \$1 + dropdb relfs_\$1 ; rm -rf /tmp/relfs-\$1-tmp; mkdir /tmp/relfs-\$1-tmp; USER=\$1 relfs -f -s /tmp/relfs-raskin-tmp & diff --git a/pkgs/tools/networking/curl/connect-timeout.patch b/pkgs/tools/networking/curl/connect-timeout.patch new file mode 100644 index 00000000000..829c724c30e --- /dev/null +++ b/pkgs/tools/networking/curl/connect-timeout.patch @@ -0,0 +1,156 @@ +diff -rc curl-7.17.1-orig/lib/connect.c curl-7.17.1/lib/connect.c +*** curl-7.17.1-orig/lib/connect.c 2007-10-22 16:30:17.000000000 +0200 +--- curl-7.17.1/lib/connect.c 2007-12-19 18:30:32.000000000 +0100 +*************** +*** 99,105 **** + singleipconnect(struct connectdata *conn, + const Curl_addrinfo *ai, /* start connecting to this */ + long timeout_ms, +! bool *connected); + + /* + * Curl_nonblock() set the given socket to either blocking or non-blocking +--- 99,106 ---- + singleipconnect(struct connectdata *conn, + const Curl_addrinfo *ai, /* start connecting to this */ + long timeout_ms, +! bool *connected, +! bool *timed_out); + + /* + * Curl_nonblock() set the given socket to either blocking or non-blocking +*************** +*** 492,497 **** +--- 493,499 ---- + { + curl_socket_t sockfd; + Curl_addrinfo *ai; ++ bool timed_out; + + /* first close the failed socket */ + sclose(conn->sock[sockindex]); +*************** +*** 505,511 **** + ai = conn->ip_addr->ai_next; + + while (ai) { +! sockfd = singleipconnect(conn, ai, 0L, connected); + if(sockfd != CURL_SOCKET_BAD) { + /* store the new socket descriptor */ + conn->sock[sockindex] = sockfd; +--- 507,513 ---- + ai = conn->ip_addr->ai_next; + + while (ai) { +! sockfd = singleipconnect(conn, ai, 0L, connected, &timed_out); + if(sockfd != CURL_SOCKET_BAD) { + /* store the new socket descriptor */ + conn->sock[sockindex] = sockfd; +*************** +*** 669,675 **** + singleipconnect(struct connectdata *conn, + const Curl_addrinfo *ai, + long timeout_ms, +! bool *connected) + { + char addr_buf[128]; + int rc; +--- 671,678 ---- + singleipconnect(struct connectdata *conn, + const Curl_addrinfo *ai, + long timeout_ms, +! bool *connected, +! bool *timed_out) + { + char addr_buf[128]; + int rc; +*************** +*** 689,694 **** +--- 692,699 ---- + struct curl_sockaddr *addr=(struct curl_sockaddr*)&addr_storage; + const void *iptoprint; + ++ *timed_out = FALSE; ++ + addr->family=ai->ai_family; + addr->socktype=conn->socktype; + addr->protocol=ai->ai_protocol; +*************** +*** 790,797 **** + infof(data, "connected\n"); + return sockfd; + } +! else if(WAITCONN_TIMEOUT == rc) + infof(data, "Timeout\n"); + else { + data->state.os_errno = error; + infof(data, "%s\n", Curl_strerror(conn, error)); +--- 795,804 ---- + infof(data, "connected\n"); + return sockfd; + } +! else if(WAITCONN_TIMEOUT == rc) { +! *timed_out = TRUE; + infof(data, "Timeout\n"); ++ } + else { + data->state.os_errno = error; + infof(data, "%s\n", Curl_strerror(conn, error)); +*************** +*** 822,829 **** + Curl_addrinfo *ai; + Curl_addrinfo *curr_addr; + int timeout_set = 0; + +- struct timeval after; + struct timeval before = Curl_tvnow(); + + /************************************************************* +--- 829,836 ---- + Curl_addrinfo *ai; + Curl_addrinfo *curr_addr; + int timeout_set = 0; ++ bool timed_out; + + struct timeval before = Curl_tvnow(); + + /************************************************************* +*************** +*** 891,909 **** + curr_addr = curr_addr->ai_next, aliasindex++) { + + /* start connecting to the IP curr_addr points to */ +! sockfd = singleipconnect(conn, curr_addr, timeout_per_addr, connected); + + if(sockfd != CURL_SOCKET_BAD) + break; + +! /* get a new timeout for next attempt */ +! after = Curl_tvnow(); +! timeout_ms -= Curl_tvdiff(after, before); +! if(timeout_ms < 0) { + failf(data, "connect() timed out!"); + return CURLE_OPERATION_TIMEDOUT; + } +- before = after; + } /* end of connect-to-each-address loop */ + + if (sockfd == CURL_SOCKET_BAD) { +--- 898,914 ---- + curr_addr = curr_addr->ai_next, aliasindex++) { + + /* start connecting to the IP curr_addr points to */ +! sockfd = singleipconnect(conn, curr_addr, timeout_per_addr, connected, &timed_out); + + if(sockfd != CURL_SOCKET_BAD) + break; + +! /* if this is the last address and it timed out, propagate the +! timeout to the caller */ +! if(!curr_addr->ai_next && timed_out) { + failf(data, "connect() timed out!"); + return CURLE_OPERATION_TIMEDOUT; + } + } /* end of connect-to-each-address loop */ + + if (sockfd == CURL_SOCKET_BAD) { diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 21866f02bc8..7f3488b2f35 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -4,10 +4,10 @@ assert zlibSupport -> zlib != null; assert sslSupport -> openssl != null; stdenv.mkDerivation { - name = "curl-7.16.2"; + name = "curl-7.17.1"; src = fetchurl { - url = http://curl.haxx.se/download/curl-7.16.2.tar.bz2; - sha256 = "18mzp56y8qhlvi27av7866mvsiyiigb7c5qdppjr8qizsj0kx0rf"; + url = http://curl.haxx.se/download/curl-7.17.1.tar.bz2; + sha256 = "0yz50r75jhfr2ya6wqi6n90bn4ij30299pjglmlckzq6jp28wrkz"; }; buildInputs = stdenv.lib.optional zlibSupport zlib ++ @@ -19,4 +19,15 @@ stdenv.mkDerivation { CXX = "g++"; CXXCPP = "g++ -E"; inherit sslSupport openssl; + + patches = [ + /* Fixes broken retry support when a timeout is used. The + select() system call (used to wait for the connection to come + up) can return slightly before the computed deadline (a few + milliseconds). Curl will think the problem is something else, + proceed with the next IP address (which usually doesn't exist), + then barf with a CURLE_COULDNT_CONNECT error, which is + considered non-transient so it won't retry. */ + ./connect-timeout.patch + ]; } diff --git a/pkgs/tools/networking/p2p/bit-tornado/default.nix b/pkgs/tools/networking/p2p/bit-tornado/default.nix index 75e06f7ca2f..d8b5d2bb015 100644 --- a/pkgs/tools/networking/p2p/bit-tornado/default.nix +++ b/pkgs/tools/networking/p2p/bit-tornado/default.nix @@ -13,7 +13,9 @@ stdenv.mkDerivation { installPhase = "python setup.py install --prefix=$out ;"+ " echo 'export PYTHONPATH=$PYTHONPATH:'$out'/lib/python2.4/site-packages:"+ wxPython26+"/lib/python2.4/site-packages:"+ - wxPython26+"/lib/python2.4/site-packages/wx-2.6-gtk2-unicode; "+ + "'$out'/lib/python2.5/site-packages:"+ + wxPython26+"/lib/python2.4/site-packages/wx-2.6-gtk2-unicode:"+ + wxPython26+"/lib/python2.5/site-packages/wx-2.6-gtk2-unicode; "+ "python `which btdownloadgui.py` --ipv6_enabled 1 --ipv6_binds_v4 0 \"$@\";' >"+ "$out/bin/bittornado ; chmod a+rx $out/bin/bittornado;"; diff --git a/pkgs/tools/networking/sshfs-fuse/default.nix b/pkgs/tools/networking/sshfs-fuse/default.nix index 29a74aed7a1..e528f68af01 100644 --- a/pkgs/tools/networking/sshfs-fuse/default.nix +++ b/pkgs/tools/networking/sshfs-fuse/default.nix @@ -1,10 +1,15 @@ {stdenv, fetchurl, pkgconfig, glib, fuse}: stdenv.mkDerivation { - name = "sshfs-fuse-1.7"; + name = "sshfs-fuse-1.9"; src = fetchurl { - url = mirror://sourceforge/fuse/sshfs-fuse-1.7.tar.gz; - md5 = "e91a2fed1da952a375798408dc6e41a0"; + url = mirror://sourceforge/fuse/sshfs-fuse-1.9.tar.gz; + sha256 = "10ishsghdwd6a1cd36gp26qpch6z8d6wjs7aw8vs0ffnvrs4hdza"; }; buildInputs = [pkgconfig glib fuse]; + + meta = { + homepage = http://fuse.sourceforge.net/sshfs.html; + description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH"; + }; } diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix index f47ca7a965c..82d8641f60b 100644 --- a/pkgs/tools/networking/tcpdump/default.nix +++ b/pkgs/tools/networking/tcpdump/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, libpcap}: stdenv.mkDerivation { - name = "tcpdump-3.9.5"; + name = "tcpdump-3.9.8"; src = fetchurl { - url = http://www.tcpdump.org/release/tcpdump-3.9.5.tar.gz; - md5 = "2135e7b1f09af0eaf66d2af822bed44a"; + url = http://www.tcpdump.org/release/tcpdump-3.9.8.tar.gz; + sha256 = "16fjm1ih56mwqniffp63adbxwfj5n10x1a7l22j3cx683pmwh293"; }; buildInputs = [libpcap]; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 55c20a4b837..128bc23dd4b 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, aterm, db4, perl, curl, bzip2 +{ stdenv, fetchurl, aterm, db4, perl, curl, bzip2, openssl ? null , storeDir ? "/nix/store" , stateDir ? "/nix/var" }: stdenv.mkDerivation { - name = "nix-0.10.1"; + name = "nix-0.11"; src = fetchurl { - url = http://nix.cs.uu.nl/dist/nix/nix-0.10.1/nix-0.10.1.tar.bz2; - md5 = "22dc0c024ca5bb477da0b38ba834dbf2"; + url = http://nix.cs.uu.nl/dist/nix/nix-0.11/nix-0.11.tar.bz2; + md5 = "890c25ac0005ff466683869efc288b67"; }; - buildInputs = [perl curl]; + buildInputs = [perl curl openssl]; configureFlags = " --with-store-dir=${storeDir} --localstatedir=${stateDir} diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 30d0b8f345e..51bcb9ef298 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -3,14 +3,14 @@ , stateDir ? "/nix/var" }: -let version = "0.11pre9718"; in +let version = "0.12pre10069"; in stdenv.mkDerivation { name = "nix-${version}"; src = fetchurl { url = "http://nix.cs.uu.nl/dist/nix/nix-${version}/nix-${version}.tar.bz2"; - md5 = "cae130dcc51a30eff34fc194e17891f2"; + md5 = "bf05ebe9463f0453beae2c43f05ac13d"; }; buildInputs = [perl curl openssl]; diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index 95555c2e11c..dd522fe1d96 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -7,15 +7,20 @@ }: stdenv.mkDerivation { - name = "gnupg-1.4.7"; + name = "gnupg-1.4.8"; builder = ./builder.sh; src = fetchurl { - url = ftp://ftp.surfnet.nl/pub/security/gnupg/gnupg/gnupg-1.4.7.tar.bz2; - sha256 = "13a6qrgswbrfj3z5hcjx62ahraj4j16cpssgxlkwlqiz35yqplb9"; + url = ftp://ftp.cert.dfn.de/pub/tools/crypt/gcrypt/gnupg/gnupg-1.4.8.tar.bz2; + sha1 = "4b63267358e5c70f05b48e27d6877bad2636cabd"; }; buildInputs = [readline]; idea = if ideaSupport then fetchurl { url = http://nix.cs.uu.nl/dist/tarballs/idea.c.gz; md5 = "9dc3bc086824a8c7a331f35e09a3e57f"; } else null; + + meta = { + description = "A free implementation of the OpenPGP standard for encrypting and signing data"; + homepage = http://www.gnupg.org/; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index edb774fd96b..10bf6ee2323 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -295,8 +295,10 @@ rec { writeText = name: text: runCommand name {inherit text;} "echo -n \"$text\" > $out"; writeScript = name: text: runCommand name {inherit text;} "echo -n \"$text\" > $out; chmod +x $out"; - + stdenvNewSetupScript = stdenv; + + writeScriptBin = name: text: runCommand name {inherit text;} "mkdir -p \$out/bin; echo -n \"\$text\" > \$out/bin/\$name ; chmod +x \$out/bin/\$name"; substituteAll = import ../build-support/substitute/substitute-all.nix { inherit stdenv; @@ -523,7 +525,7 @@ rec { (import ./all-packages.nix {system = "i686-linux";}).grub else import ../tools/misc/grub { - inherit fetchurl stdenv; + inherit fetchurl stdenv autoconf automake; }; gtkgnutella = import ../tools/networking/p2p/gtk-gnutella { @@ -536,6 +538,10 @@ rec { inherit fetchurl stdenv; }); + hddtemp = import ../tools/hddtemp { + inherit fetchurl stdenv; + }; + hevea = import ../tools/typesetting/hevea { inherit fetchurl stdenv ocaml; }; @@ -589,6 +595,10 @@ rec { inherit fetchurl stdenv db4 groff; }; + memtest86 = import ../tools/misc/memtest86 { + inherit fetchurl stdenv; + }; + mjpegtools = import ../tools/video/mjpegtools { inherit fetchurl stdenv libjpeg; inherit (xlibs) libX11; @@ -653,6 +663,10 @@ rec { inherit (xlibs) libX11; }; + psmisc = import ../tools/misc/psmisc { + inherit stdenv fetchurl ncurses; + }; + pwgen = import ../tools/security/pwgen { inherit stdenv fetchurl; }; @@ -847,7 +861,7 @@ rec { })); bashInteractive = appendToName "interactive" (import ../shells/bash { - inherit fetchurl stdenv ncurses; + inherit fetchurl ncurses stdenv; bison = bison23; interactive = true; }); @@ -1017,12 +1031,11 @@ rec { ghc = ghc661; - ghc68 = lowPrio (import ../development/compilers/ghc-6.8 { - inherit fetchurl stdenv readline perl gmp ncurses pkgconfig; - inherit (gtkLibs) gtk; + ghc68 = import ../development/compilers/ghc-6.8 { + inherit fetchurl stdenv readline perl gmp ncurses; m4 = gnum4; ghc = ghcboot; - }); + }; ghc661 = import ../development/compilers/ghc-6.6.1 { inherit fetchurl stdenv readline perl gmp ncurses; @@ -1238,6 +1251,7 @@ rec { lib = lib_unstable; inherit fetchurl flex bison apacheHttpd; # gettext; inherit libxml2; + flags = [ "xdebug" "mysql" "mysqli" "pdo_mysql" "libxml2" "apxs2" ]; }; python = getVersion "python" python_alts; @@ -1383,10 +1397,15 @@ rec { inherit fetchurl stdenv replace; }; - elfutils = import ../development/tools/misc/elfutils { - inherit fetchurl stdenv; + elfutilsFun = lib.sumArgs + (selectVersion ../development/tools/misc/elfutils) { + inherit fetchurl stdenv; }; + elfutils = elfutilsFun { + version = "0.131"; + } null; + epm = import ../development/tools/misc/epm { inherit fetchurl stdenv rpm; }; @@ -1467,8 +1486,8 @@ rec { }; ltrace = import ../development/tools/misc/ltrace { - inherit fetchurl stdenv builderDefs stringsWithDeps lib - elfutils; + inherit fetchurl stdenv builderDefs stringsWithDeps lib; + elfutils = elfutilsFun {version = "0.127";} null; }; mk = import ../development/tools/build-managers/mk { @@ -1563,6 +1582,10 @@ rec { inherit fetchurl stdenv ncurses; }; + acl = import ../development/libraries/acl { + inherit stdenv fetchurl autoconf libtool gettext attr; + }; + /* agg = import ../development/libraries/agg { inherit fetchurl stdenv autoconf automake libtool pkgconfig; @@ -1586,6 +1609,14 @@ rec { inherit (gnome) glib; }; + aspell = import ../development/libraries/aspell { + inherit fetchurl stdenv perl; + }; + + aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix { + inherit fetchurl stdenv aspell which; + }); + aterm = lowPrio (import ../development/libraries/aterm { inherit fetchurl stdenv; }); @@ -1598,14 +1629,10 @@ rec { inherit fetchurl stdenv; }; - aspell = import ../development/libraries/aspell { - inherit fetchurl stdenv perl; + attr = import ../development/libraries/attr { + inherit stdenv fetchurl autoconf libtool gettext; }; - aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix { - inherit fetchurl stdenv aspell which; - }); - audiofile = import ../development/libraries/audiofile { inherit fetchurl stdenv; }; @@ -1997,6 +2024,10 @@ rec { inherit sqlite mysql; } null; + libdv = import ../development/libraries/libdv { + lib = lib_unstable; + inherit fetchurl stdenv mkDerivationByConfiguration; + }; libdrm = import ../development/libraries/libdrm { inherit fetchurl stdenv; @@ -2123,7 +2154,11 @@ rec { inherit fetchurl stdenv zlib libjpeg; }; - libungif = import ../development/libraries/libungif { + giflib = import ../development/libraries/giflib { + inherit fetchurl stdenv; + }; + + libungif = import ../development/libraries/giflib/libungif.nix { inherit fetchurl stdenv; }; @@ -2367,7 +2402,7 @@ rec { t1lib = import ../development/libraries/t1lib { inherit fetchurl stdenv x11; - inherit (xlibs) libXaw; + inherit (xlibs) libXaw libXpm; }; taglib = import ../development/libraries/taglib { @@ -2934,6 +2969,17 @@ rec { inherit fetchurl stdenv; }; + atherosFun = lib.sumArgs (selectVersion ../os-specific/linux/atheros) { + inherit fetchurl stdenv builderDefs; + }; + + atherosVersion = "r3122"; + + atherosFunCurrent = theKernel: (atherosFun { + version = atherosVersion; + kernel = theKernel; + } null); + bridge_utils = import ../os-specific/linux/bridge_utils { inherit fetchurl stdenv autoconf automake; }; @@ -2955,6 +3001,14 @@ rec { static = true; })); + dmidecodeFun = lib.sumArgs (selectVersion ../os-specific/linux/dmidecode) { + inherit fetchurl stdenv builderDefs; + }; + + dmidecode = dmidecodeFun { + version = "2.9"; + } null; + dietlibc = import ../os-specific/linux/dietlibc { inherit fetchurl glibc; # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works. @@ -2984,7 +3038,7 @@ rec { }; fuse = import ../os-specific/linux/fuse { - inherit fetchurl stdenv; + inherit fetchurl stdenv utillinux; }; genext2fs = import ../os-specific/linux/genext2fs { @@ -3088,6 +3142,11 @@ rec { libselinux = import ../os-specific/linux/libselinux { inherit fetchurl stdenv libsepol; }; + + libraw1394 = import ../development/libraries/libraw1394 { + inherit fetchurl stdenv; + }; + libsexy = import ../development/libraries/libsexy { inherit stdenv fetchurl pkgconfig libxml2; @@ -3178,6 +3237,13 @@ rec { inherit fetchurl stdenv; }; + module_aggregation = moduleSources: + import ../os-specific/linux/module-init-tools/aggregator.nix { + inherit fetchurl stdenv module_init_tools moduleSources + builderDefs; + inherit (xorg) lndir; + }; + modutils = import ../os-specific/linux/modutils { inherit fetchurl bison flex; stdenv = overrideGCC stdenv gcc34; @@ -3195,9 +3261,7 @@ rec { }; nvidiaDrivers = import ../os-specific/linux/nvidia { - inherit stdenv fetchurl kernel coreutils; - xorg_server = xorg.xorgserver; - inherit (xlibs) libX11 libXext; + inherit stdenv fetchurl kernel xlibs gtkLibs; }; gw6c = import ../os-specific/linux/gw6c { @@ -3260,6 +3324,14 @@ rec { inherit fetchurl stdenv; }; + sdparmFun = lib.sumArgs (selectVersion ../os-specific/linux/sdparm) { + inherit fetchurl stdenv builderDefs; + }; + + sdparm = sdparmFun { + version = "1.02"; + } null; + shadowutils = import ../os-specific/linux/shadow { inherit fetchurl stdenv; }; @@ -3365,6 +3437,11 @@ rec { inherit fetchurl stdenv cabextract; }; + wrapFonts = paths : ((import ../data/fonts/fontWrap) { + inherit fetchurl stdenv builderDefs paths; + inherit (xorg) mkfontdir mkfontscale; + }); + docbook5 = import ../data/sgml+xml/schemas/docbook-5.0 { inherit fetchurl stdenv; }; @@ -3635,6 +3712,14 @@ rec { inherit fetchurl stdenv qt4 djvulibre; }; + dvdplusrwtoolsFun = lib.sumArgs (selectVersion ../os-specific/linux/dvd+rw-tools) { + inherit fetchurl stdenv builderDefs cdrkit m4; + }; + + dvdplusrwtools = dvdplusrwtoolsFun { + version = "7.0"; + } null; + eclipse = plugins: import ../applications/editors/eclipse { inherit fetchurl stdenv makeWrapper jdk; @@ -3725,7 +3810,25 @@ rec { #enableOfficialBranding = true; }); - firefox3b1Wrapper = wrapFirefox firefox3b1 ""; + firefox3b2 = lowPrio (import ../applications/networking/browsers/firefox3b1/3b2.nix { + inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo + python curl coreutils dbus dbus_glib freetype fontconfig; + inherit (gtkLibs) gtk pango; + inherit (gnome) libIDL; + inherit (xlibs) libXi libX11 libXrender libXft libXt; + #enableOfficialBranding = true; + }); + + firefox3b1Bin = lowPrio (import ../applications/networking/browsers/firefox3b1/binary.nix { + inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo + python curl coreutils freetype fontconfig; + inherit (gtkLibs) gtk atk pango glib; + inherit (gnome) libIDL; + inherit (xlibs) libXi libX11 libXrender libXft libXt; + }); + + firefox3b1Wrapper = lowPrio (wrapFirefox firefox3b1 ""); + firefox3b1BinWrapper = lowPrio (wrapFirefox firefox3b1Bin ""); flac = import ../applications/audio/flac { inherit fetchurl stdenv libogg; @@ -3746,6 +3849,12 @@ rec { inherit fetchurl stdenv; }; + freemind = import ../applications/misc/freemind { + inherit fetchurl stdenv ant; + jdk = jdk; + jre = jdk; + }; + fspot = import ../applications/graphics/f-spot { inherit fetchurl stdenv perl perlXMLParser pkgconfig mono libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer; @@ -3829,7 +3938,7 @@ rec { }; imagemagickFun = lib.sumArgs (import ../applications/graphics/ImageMagick) { - inherit stdenv fetchurl; + inherit stdenv fetchurl libtool; }; imagemagick = imagemagickFun { @@ -4024,7 +4133,7 @@ rec { }; pinfo = import ../applications/misc/pinfo { - inherit fetchurl stdenv ncurses; + inherit fetchurl stdenv ncurses readline; }; # perhaps there are better apps for this task? It's how I had configured my preivous system. @@ -4042,6 +4151,28 @@ rec { python = builtins.getAttr "2.5" python_alts; }; + qemuFun = lib.sumArgs (selectVersion ../applications/virtualization/qemu ) { + inherit fetchurl; + stdenv = overrideGCC stdenv gcc34; + builderDefs = builderDefs { + stdenv = (overrideGCC stdenv gcc34)//{gcc=gcc34;}; + }; + inherit SDL zlib which; + }; + + qemu = qemuFun { + version = "0.9.0"; + } null; + + qemuImageFun = lib.sumArgs + (selectVersion ../applications/virtualization/qemu/linux-img ) { + inherit builderDefs fetchurl stdenv; + }; + + qemuImage = qemuImageFun { + version = "0.2"; + } null; + ratpoison = import ../applications/window-managers/ratpoison { inherit fetchurl stdenv fontconfig readline; inherit (xlibs) libX11 inputproto libXt libXpm libXft @@ -4164,6 +4295,13 @@ rec { inherit (xlibs) xextproto libXtst inputproto; }; + /* does'nt work yet i686-linux only (32bit version) + teamspeak_client = import ../applications/networking/instant-messengers/teamspeak/client.nix { + inherit fetchurl stdenv; + inherit glibc x11; + }; + */ + thunderbird = import ../applications/networking/mailreaders/thunderbird-2.x { inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo; inherit (gtkLibs) gtk; @@ -4197,13 +4335,44 @@ rec { })); vimHugeX = import ../applications/editors/vim { - inherit fetchurl stdenv lib ncurses pkgconfig; + inherit fetchurl stdenv lib ncurses pkgconfig + perl python tcl; inherit (xlibs) libX11 libXext libSM libXpm libXt libXaw libXau; inherit (gtkLibs) glib gtk; - flags = ["hugeFeatures" "gtkGUI" "x11Support"]; + + # Looks like python and perl can conflict + flags = ["hugeFeatures" "gtkGUI" "x11Support" + /*"perlSupport"*/ "pythonSupport" "tclSupport"]; }; + vim_configurable = import ../applications/editors/vim/configurable.nix { + inherit fetchurl stdenv ncurses pkgconfig mkDerivationByConfiguration; + inherit (xlibs) libX11 libXext libSM libXpm + libXt libXaw libXau libXmu; + inherit (gtkLibs) glib gtk; + lib = lib_unstable; + features = "huge"; # one of tiny, small, normal, big or huge + # optional features by passing + # python + # TODO mzschemeinterp perlinterp + inherit python /*x11*/; + + # optional features by flags + flags = [ "X11" ]; # only flag "X11" by now + }; + + /*virtualboxFun = lib.sumArgs (selectVersion ../applications/virtualization/virtualbox) { + inherit stdenv fetchurl builderDefs bridge_utils umlutilities kernelHeaders + wine jre libxslt SDL qt3 openssl zlib; + inherit (xorg) libXcursor; + inherit (gnome) libIDL; + }; + + virtualbox = virtualboxFun { + version = "1.5.2"; + } null;*/ + vlc = import ../applications/video/vlc { inherit fetchurl stdenv perl x11 wxGTK zlib mpeg2dec a52dec libmad ffmpeg @@ -4304,6 +4473,11 @@ rec { inherit (xlibs) libXaw xproto libXt libX11 libSM libICE; }; + xlaunch = import ../tools/X11/xlaunch { + inherit stdenv; + inherit (xorg) xorgserver; + }; + xmacro = import ../tools/X11/xmacro { inherit fetchurl stdenv; inherit (xlibs) libX11 libXi @@ -4315,6 +4489,7 @@ rec { inherit (xlibs) libX11 libXi imake libXau; inherit (xorg) xauth; }; + xvidcap = import ../applications/video/xvidcap { inherit fetchurl stdenv perl perlXMLParser pkgconfig; inherit (gtkLibs) gtk; @@ -4322,6 +4497,24 @@ rec { inherit (xlibs) libXmu libXext; }; + # doesn't compile yet - in case someone else want's to continue .. + /* + qgis_svn = import ../applications/misc/qgis_svn { + lib = lib_unstable; + inherit mkDerivationByConfiguration fetchsvn flex + ncurses fetchurl perl cmake gdal geos proj x11 + gsl libpng zlib stdenv + sqlite glibc fontconfig freetype; + inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender; + inherit (xorg) libICE; + qt = qt4; + bison = bison23; + + # optional features + # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE and GRASS_PREFX=.. + }; + */ + zapping = import ../applications/video/zapping { inherit fetchurl stdenv pkgconfig perl python gettext zvbi libjpeg libpng x11 @@ -4550,10 +4743,16 @@ rec { inherit stdenv fetchurl jdk; }; + # don't have time for the source build right now + # maven2 + mvn_bin = import ../misc/maven/maven-2.nix { + inherit fetchurl stdenv; + }; + nix = import ../tools/package-management/nix { - inherit fetchurl stdenv perl curl bzip2; + inherit fetchurl stdenv perl curl bzip2 openssl; aterm = aterm242fixes; - db4 = db44; + db4 = db45; }; nixStatic = import ../tools/package-management/nix-static { diff --git a/pkgs/top-level/build-for-release.nix b/pkgs/top-level/build-for-release.nix index 18a7074d843..6b9d91981fd 100644 --- a/pkgs/top-level/build-for-release.nix +++ b/pkgs/top-level/build-for-release.nix @@ -4,7 +4,6 @@ let { i686LinuxPkgs = {inherit (allPackages {system = "i686-linux";}) aterm - gcc nixUnstable pan subversion @@ -27,6 +26,5 @@ let { body = [ i686LinuxPkgs x86_64LinuxPkgs -# powerpcLinuxPkgs ]; } diff --git a/pkgs/top-level/builder-defs.nix b/pkgs/top-level/builder-defs.nix index df7df3e71a0..aa53c9ba157 100644 --- a/pkgs/top-level/builder-defs.nix +++ b/pkgs/top-level/builder-defs.nix @@ -3,7 +3,7 @@ args: with args; with stringsWithDeps; with lib; { inherit writeScript; - + addSbinPath = getAttr ["addSbinPath"] false args; forceShare = if args ? forceShare then args.forceShare else ["man" "doc" "info"]; @@ -13,6 +13,11 @@ args: with args; with stringsWithDeps; with lib; else if (hasSuffixHack ".tar.bz2" s) || (hasSuffixHack ".tbz2" s) then "tbz2" else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip" else if (hasSuffixHack "-cvs-export" s) then "cvs-dir" + else if (hasSuffixHack ".nar.bz2" s) then "narbz2" + + # Last block - for single files!! It should be always after .tar.* + else if (hasSuffixHack ".bz2" s) then "plain-bz2" + else (abort "unknown archive type : ${s}")); defAddToSearchPath = FullDepEntry (" @@ -130,6 +135,11 @@ args: with args; with stringsWithDeps; with lib; fail fi " else "") + +(if addSbinPath then " + if test -d \$1/sbin; then + export _PATH=\$_PATH\${_PATH:+:}\$1/sbin + fi + " else "") +" if test -d \$1/bin; then export _PATH=\$_PATH\${_PATH:+:}\$1/bin @@ -180,6 +190,14 @@ args: with args; with stringsWithDeps; with lib; cp -r '${s}' . cd \$(basename ${s}) chmod u+rwX -R . + " else if (archiveType s) == "narbz2" then " + bzip2 <${s} | nix-store --restore \$PWD/\$(basename ${s} .nar.bz2) + cd \$(basename ${s} .nar.bz2) + " else if (archiveType s) == "plain-bz2" then " + mkdir \$PWD/\$(basename ${s} .bz2) + NAME=\$(basename ${s} .bz2) + bzip2 -d <${s} > \$PWD/\$(basename ${s} .bz2)/\${NAME#*-} + cd \$(basename ${s} .bz2) " else (abort "unknown archive type : ${s}"))+ (if args ? goSrcDir then args.goSrcDir else "") ) [minInit]; @@ -296,4 +314,7 @@ args: with args; with stringsWithDeps; with lib; makeFlags = if useConfig then autoMakeFlags else getAttr ["makeFlags"] "" args; inherit lib; + + surroundWithCommands = x : before : after : {deps=x.deps; text = before + "\n" + + x.text + "\n" + after ;}; }) // args