summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix692
-rw-r--r--pkgs/top-level/haskell-packages.nix246
-rw-r--r--pkgs/top-level/perl-packages.nix210
-rw-r--r--pkgs/top-level/platforms.nix14
-rw-r--r--pkgs/top-level/python-packages.nix19
-rw-r--r--pkgs/top-level/release-cross.nix14
-rw-r--r--pkgs/top-level/release.nix57
7 files changed, 870 insertions, 382 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c1f37aaca9a..b4010ada3f7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -43,7 +43,7 @@ let config_ = config; in # rename the function argument
 
 let
 
-  lib = import ../lib; # see also libTests below
+  lib = import ../lib;
 
   # The contents of the configuration file found at $NIXPKGS_CONFIG or
   # $HOME/.nixpkgs/config.nix.
@@ -106,13 +106,13 @@ let
   # The package compositions.  Yes, this isn't properly indented.
   pkgsFun = __overrides: with helperFunctions; rec {
 
-  # override system. This is useful to build i686 packages on x86_64-linux
+  # Override system. This is useful to build i686 packages on x86_64-linux.
   forceSystem = system: (import ./all-packages.nix) {
     inherit system;
     inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
   };
 
-  # used by wine, firefox with debugging version of Flash, ..
+  # Used by wine, firefox with debugging version of Flash, ...
   pkgsi686Linux = forceSystem "i686-linux";
 
   inherit __overrides;
@@ -363,8 +363,8 @@ let
   };
 
   amule = import ../tools/networking/p2p/amule {
-    inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper;
-    inherit wxGTK;
+    inherit fetchurl stdenv zlib perl cryptopp gettext libupnp makeWrapper
+      wxGTK pkgconfig;
   };
 
   aria = builderDefsPackage (import ../tools/networking/aria) {
@@ -524,6 +524,10 @@ let
     inherit fetchurl stdenv;
   };
 
+  usb_modeswitch = import ../development/tools/misc/usb-modeswitch {
+    inherit stdenv fetchurl libusb;
+  };
+
   cloogppl = import ../development/libraries/cloog-ppl {
     inherit fetchurl stdenv ppl;
   };
@@ -630,6 +634,12 @@ let
     inherit builderDefs;
   };
 
+  dropbear = makeOverridable (import ../tools/networking/dropbear) {
+    inherit fetchurl stdenv;
+    enableStatic = true;
+    zlib = zlibStatic;
+  };
+
   duplicity = import ../tools/backup/duplicity {
     inherit fetchurl stdenv librsync gnupg makeWrapper python;
     inherit (pythonPackages) boto;
@@ -697,11 +707,6 @@ let
     inherit fetchurl stdenv;
   };
 
-  filelight = import ../tools/system/filelight {
-    inherit fetchurl stdenv kdelibs x11 zlib perl libpng;
-    qt = qt3;
-  };
-
   findutils = useFromStdenv "findutils"
     (if stdenv.isDarwin then findutils4227 else
       import ../tools/misc/findutils {
@@ -989,7 +994,7 @@ let
   };
 
   kismet = import ../applications/networking/sniffers/kismet {
-    inherit fetchurl stdenv libpcap ncurses expat;
+    inherit fetchurl stdenv libpcap ncurses expat pcre;
   };
 
   ktorrent = import ../tools/networking/p2p/ktorrent {
@@ -1224,6 +1229,21 @@ let
     inherit fetchurl stdenv pkgconfig openobex bluez;
   };
 
+  offlineimap = import ../tools/networking/offlineimap {
+    inherit fetchurl;
+    # I did not find any better way of reusing buildPythonPackage+setuptools
+    # for a python with openssl support
+    buildPythonPackage = assert pythonFull.opensslSupport;
+      import ../development/python-modules/generic {
+        inherit makeWrapper lib;
+        python = pythonFull;
+        setuptools = builderDefsPackage (import ../development/python-modules/setuptools) {
+          inherit makeWrapper;
+          python = pythonFull;
+        };
+      };
+  };
+
   opendbx = import ../development/libraries/opendbx {
     inherit fetchurl stdenv readline mysql postgresql sqlite;
   };
@@ -1254,7 +1274,7 @@ let
   };
 
   openssh = import ../tools/networking/openssh {
-    inherit fetchurl stdenv zlib openssl pam perl;
+    inherit fetchurl stdenv zlib openssl pam perl libedit pkgconfig;
     pamSupport = getPkgConfig "openssh" "pam" true;
     hpnSupport = getPkgConfig "openssh" "hpn" false;
     etcDir = getPkgConfig "openssh" "etcDir" "/etc/ssh";
@@ -1269,6 +1289,10 @@ let
     inherit fetchurl stdenv iproute lzo openssl nettools;
   };
 
+  optipng = import ../tools/graphics/optipng {
+    inherit fetchurl stdenv;
+  };
+
   p7zip = import ../tools/archivers/p7zip {
     inherit fetchurl stdenv;
   };
@@ -1312,6 +1336,11 @@ let
     inherit fetchurl stdenv;
   };
 
+  pdfread = import ../tools/graphics/pdfread {
+    inherit stdenv fetchurl unzip python makeWrapper ghostscript pngnq pil
+      djvulibre unrar optipng;
+  };
+
   pg_top = import ../tools/misc/pg_top {
     inherit fetchurl stdenv ncurses postgresql;
   };
@@ -1350,6 +1379,10 @@ let
     inherit fetchurl stdenv libpng;
   };
 
+  pngnq = import ../tools/graphics/pngnq {
+    inherit fetchurl stdenv libpng;
+  };
+
   povray = import ../tools/graphics/povray {
     inherit fetchurl stdenv;
   };
@@ -1416,6 +1449,11 @@ let
     inherit stdenv fetchurl;
   };
 
+  qshowdiff = import ../tools/text/qshowdiff {
+    inherit fetchurl stdenv perl;
+    qt = qt4;
+  };
+
   reiser4progs = import ../tools/filesystems/reiser4progs {
     inherit fetchurl stdenv libaal;
   };
@@ -1523,6 +1561,11 @@ let
     inherit stdenv perl;
   };
 
+  slimrat = import ../tools/networking/slimrat {
+    inherit fetchurl stdenv perl makeWrapper;
+    inherit (perlPackages) WWWMechanize LWP;
+  };
+
   slsnif = import ../tools/misc/slsnif {
     inherit fetchurl stdenv;
   };
@@ -1558,12 +1601,6 @@ let
   suidChroot = builderDefsPackage (import ../tools/system/suid-chroot) {
   };
 
-  superkaramba = import ../desktops/superkaramba {
-    inherit stdenv fetchurl kdebase kdelibs zlib libjpeg
-      perl qt3 python libpng freetype expat;
-    inherit (xlibs) libX11 libXext libXt libXaw libXpm;
-  };
-
   ssmtp = import ../tools/networking/ssmtp {
     inherit fetchurl stdenv openssl;
     tlsSupport = true;
@@ -1590,6 +1627,10 @@ let
     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
   };
 
+  svnfs = import ../tools/filesystems/svnfs {
+    inherit fetchurl stdenv automake autoconf perl fuse subversion apr;
+  };
+
   system_config_printer = import ../tools/misc/system-config-printer {
     inherit stdenv fetchurl perl perlXMLParser desktop_file_utils;
   };
@@ -1754,6 +1795,10 @@ let
     inherit stdenv fetchurl neon fuse pkgconfig glib;
   };
 
+  wdiff = import ../tools/text/wdiff {
+    inherit fetchurl stdenv;
+  };
+
   webalizer = import ../tools/networking/webalizer {
     inherit stdenv fetchurl zlib libpng gd db4 geoip;
   };
@@ -1765,6 +1810,7 @@ let
 
   wget = import ../tools/networking/wget {
     inherit fetchurl stdenv gettext gnutls perl;
+    inherit (perlPackages) LWP;
   };
 
   which = import ../tools/system/which {
@@ -1963,27 +2009,26 @@ let
     cross = assert crossSystem != null; crossSystem;
   };
 
-  gcc44_realCross = makeOverridable (import ../development/compilers/gcc-4.4) {
-    inherit stdenv fetchurl texinfo gmp mpfr /* ppl cloogppl */ noSysDirs
-        gettext which;
-    binutilsCross = binutilsCross;
-    libcCross = libcCross;
-    profiledCompiler = false;
-    enableMultilib = false;
-    # cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug.
-    # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818
-    enableShared = if (crossSystem.arch == "sparc64") then false else true;
-    crossStageStatic = false;
-    cross = assert crossSystem != null; crossSystem;
-  };
+  gcc44_realCross = lib.addMetaAttrs { platforms = []; }
+    (makeOverridable (import ../development/compilers/gcc-4.4) {
+      inherit stdenv fetchurl texinfo gmp mpfr /* ppl cloogppl */ noSysDirs
+          gettext which;
+      binutilsCross = binutilsCross;
+      libcCross = libcCross;
+      profiledCompiler = false;
+      enableMultilib = false;
+      crossStageStatic = false;
+      cross = assert crossSystem != null; crossSystem;
+    });
 
   gccCrossStageStatic = wrapGCCCross {
-    gcc = forceBuildDrv (gcc44_realCross.override {
+    gcc = forceBuildDrv (lib.addMetaAttrs { platforms = []; } (
+      gcc44_realCross.override {
         crossStageStatic = true;
         langCC = false;
         libcCross = null;
         enableShared = true;
-    });
+      }));
     libc = null;
     binutils = binutilsCross;
     cross = assert crossSystem != null; crossSystem;
@@ -2246,9 +2291,11 @@ let
     };
   };
 
-  haxe = import ../development/compilers/haxe {
-    inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper;
+  haxeDist = import ../development/compilers/haxe {
+    inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;
   };
+  haxe = haxeDist.haxe;
+  haxelib = haxeDist.haxelib;
 
   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
     inherit cmake;
@@ -2295,7 +2342,7 @@ let
       inherit fetchurl stdenv unzip;
     });
 
-  jdk       = jdkdistro true  false;
+  jdk       = if stdenv.isDarwin then openjdkDarwin else jdkdistro true  false;
   jre       = jdkdistro false false;
 
   jdkPlugin = jdkdistro true true;
@@ -2331,6 +2378,10 @@ let
     inherit llvm perl libtool bison;
   };
 
+  mitscheme = import ../development/compilers/mit-scheme {
+    inherit fetchurl stdenv;
+  };
+
   mono = import ../development/compilers/mono {
     inherit fetchurl stdenv bison pkgconfig gettext perl glib;
   };
@@ -2399,7 +2450,7 @@ let
   };
 
   stalin = import ../development/compilers/stalin {
-    inherit stdenv fetchurl;
+    inherit stdenv fetchurl ncompress;
     inherit (xlibs) libX11;
   };
 
@@ -2456,6 +2507,14 @@ let
 
   wrapGCC = wrapGCCWith (import ../build-support/gcc-wrapper) glibc;
 
+  # To be removed on stdenv-updates
+  # By now this has at least the fix of setting the proper rpath when a file "libbla.so"
+  # is passed directly to the linker.
+  # This is of interest to programs built by cmake, because this is a common practice
+  # in cmake builds.
+  wrapGCC2 = wrapGCCWith (import ../build-support/gcc-wrapper/default2.nix) glibc;
+  stdenv2 = if (gcc.nativeTools) then stdenv else (overrideGCC stdenv (wrapGCC2 gcc.gcc));
+
   wrapGCCCross =
     {gcc, libc, binutils, cross, shell ? "", name ? "gcc-cross-wrapper"}:
 
@@ -2509,6 +2568,10 @@ let
     inherit fetchurl stdenv perl gnum4 ncurses openssl;
   };
 
+  groovy = import ../development/interpreters/groovy {
+    inherit stdenv fetchurl unzip;
+  };
+
   guile = import ../development/interpreters/guile {
     inherit fetchurl stdenv readline libtool gmp gawk makeWrapper;
   };
@@ -2518,12 +2581,6 @@ let
       libunistring pkgconfig boehmgc libffi;
   };
 
-  guile_1_9_coverage = import ../development/interpreters/guile/1.9.nix {
-    inherit fetchurl stdenv readline libtool gmp gawk makeWrapper
-      libunistring pkgconfig boehmgc libffi;
-    inherit (releaseTools) coverageAnalysis;
-  };
-
   io = builderDefsPackage (import ../development/interpreters/io) {
     inherit sqlite zlib gmp libffi cairo ncurses freetype mesa
       libpng libtiff libjpeg readline libsndfile libxml2
@@ -2610,8 +2667,8 @@ let
   python = if getConfig ["python" "full"] false then pythonFull else pythonBase;
   python25 = if getConfig ["python" "full"] false then python25Full else python25Base;
   python26 = if getConfig ["python" "full"] false then python26Full else python26Base;
-  pythonBase = if stdenv.isDarwin then python25Base else python26Base;
-  pythonFull = if stdenv.isDarwin then python25Full else python26Full;
+  pythonBase = python26Base;
+  pythonFull = python26Full;
 
   python24 = import ../development/interpreters/python/2.4 {
     inherit fetchurl stdenv zlib bzip2;
@@ -2621,7 +2678,7 @@ let
     inherit fetchurl stdenv zlib bzip2 gdbm;
   };
 
-  python25Full = python25Base.passthru.function {
+  python25Full = lowPrio (python25Base.passthru.function {
     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
@@ -2631,7 +2688,7 @@ let
     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
-  };
+  });
 
   python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) {
     inherit fetchurl stdenv zlib bzip2 gdbm;
@@ -2639,7 +2696,7 @@ let
     sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
   };
 
-  python26Full = python26Base.passthru.function {
+  python26Full = lowPrio (python26Base.passthru.function {
     # FIXME: We lack ncurses support, needed, e.g., for `gpsd'.
     db4 = if getConfig ["python" "db4Support"] true then db4 else null;
     sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null;
@@ -2649,18 +2706,14 @@ let
     tcl = if getConfig ["python" "tkSupport"] true then tcl else null;
     libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null;
     xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null;
-  };
-
-  # new python and lib proposal
-  # - adding a python lib to buildinputs should be enough
-  #   (handles .pth files by patching site.py
-  #    while introducing NIX_PYTHON_SITES describing list of modules)
-  # - adding pyCheck = "import foo" test scripts to ensure libraries can be imported
-  # - providing pythonWrapper so that you can run python and import the selected libraries
-  # feel free to comment on this (experimental)
-  python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs);
-  pythonNew = python25New; # the default python
+  });
 
+  python31Base = lowPrio (composedArgsAndFun (import ../development/interpreters/python/3.1) {
+    inherit fetchurl stdenv zlib bzip2 gdbm;
+    arch = if stdenv.isDarwin then darwinArchUtility else null;
+    sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null;
+  });
+  
   pyrex = pyrex095;
 
   pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix {
@@ -3032,6 +3085,10 @@ let
     inherit fetchurl stdenv;
   };
 
+  gradle = import ../development/tools/build-managers/gradle {
+    inherit stdenv fetchurl unzip;
+  };
+
   gperf = import ../development/tools/misc/gperf {
     inherit fetchurl stdenv;
   };
@@ -3067,14 +3124,12 @@ let
     inherit fetchurl stdenv lib;
   };
 
-  jikespg = import ../development/tools/parsing/jikespg {
+  ired = import ../development/tools/analysis/radare/ired.nix {
     inherit fetchurl stdenv;
   };
 
-  kcachegrind = import ../development/tools/misc/kcachegrind {
-    inherit fetchurl stdenv kdelibs zlib perl expat libpng libjpeg;
-    inherit (xlibs) libX11 libXext libSM;
-    qt = qt3;
+  jikespg = import ../development/tools/parsing/jikespg {
+    inherit fetchurl stdenv;
   };
 
   lcov = import ../development/tools/analysis/lcov {
@@ -3291,14 +3346,6 @@ let
     bdbSupport = true;
   };
 
-  arts = import ../development/libraries/arts {
-    inherit fetchurl stdenv pkgconfig;
-    inherit (xlibs) libX11 libXext;
-    inherit kdelibs zlib libjpeg libpng perl;
-    qt = qt3;
-    inherit (gnome) glib;
-  };
-
   aspell = import ../development/libraries/aspell {
     inherit fetchurl stdenv perl;
   };
@@ -3355,7 +3402,7 @@ let
     inherit fetchurl stdenv icu expat zlib bzip2 python;
   };
 
-  boost = makeOverridable (import ../development/libraries/boost/1.41.0.nix) {
+  boost = makeOverridable (import ../development/libraries/boost/1.42.0.nix) {
     inherit fetchurl stdenv icu expat zlib bzip2 python;
   };
 
@@ -3438,7 +3485,7 @@ let
   };
 
   commoncpp2 = import ../development/libraries/commoncpp2 {
-    inherit stdenv fetchurl lib;
+    inherit stdenv fetchurl;
   };
 
   consolekit = makeOverridable (import ../development/libraries/consolekit) {
@@ -3525,9 +3572,9 @@ let
 
   extremetuxracer = builderDefsPackage (import ../games/extremetuxracer) {
     inherit mesa tcl freeglut SDL SDL_mixer pkgconfig
-    	libpng gettext intltool;
+      libpng gettext intltool;
     inherit (xlibs) libX11 xproto libXi inputproto
-    	libXmu libXext xextproto libXt libSM libICE;
+      libXmu libXext xextproto libXt libSM libICE;
   };
 
   eventlog = import ../development/libraries/eventlog {
@@ -3559,7 +3606,7 @@ let
   };
 
   ffmpeg = import ../development/libraries/ffmpeg {
-    inherit fetchurl stdenv faad2;
+    inherit fetchurl stdenv faad2 libvorbis speex libtheora;
   };
 
   fftw = import ../development/libraries/fftw {
@@ -3800,7 +3847,7 @@ let
         inherit stdenv fetchurl m4;
         cxx = false;
       }
-    else 
+    else
       makeOverridable (import ../development/libraries/gmp) {
         inherit stdenv fetchurl m4;
         cxx = false;
@@ -3837,7 +3884,7 @@ let
     inherit (gtkLibs) glib pango gtk;
     inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
              it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
-	     libsoup;
+      libsoup;
   });
 
   gnet = import ../development/libraries/gnet {
@@ -3993,7 +4040,8 @@ let
   };
 
   hwloc = import ../development/libraries/hwloc {
-    inherit fetchurl stdenv pkgconfig cairo expat;
+    inherit fetchurl stdenv pkgconfig cairo expat ncurses
+      autoconf automake libtool;
   };
 
   hydraAntLogger = import ../development/libraries/java/hydra-ant-logger {
@@ -4102,7 +4150,8 @@ let
   };
 
   libarchive = import ../development/libraries/libarchive {
-    inherit fetchurl stdenv zlib bzip2 e2fsprogs sharutils;
+    inherit fetchurl stdenv acl zlib bzip2 e2fsprogs xz sharutils libxml2
+      openssl attr;
   };
 
   libassuan = import ../development/libraries/libassuan {
@@ -4140,6 +4189,10 @@ let
     inherit fetchurl stdenv pkgconfig xlibs mesa glib;
   };
 
+  libcue = import ../development/libraries/libcue {
+    inherit stdenv fetchurl;
+  };
+
   libcv = builderDefsPackage (import ../development/libraries/libcv) {
     inherit libtiff libjpeg libpng pkgconfig;
     inherit (gtkLibs) gtk glib;
@@ -4248,6 +4301,12 @@ let
     inherit stdenv fetchurl perl;
   };
 
+  libiodbc = makeOverridable (import ../development/libraries/libiodbc) {
+    inherit stdenv fetchurl pkgconfig;
+    inherit (gtkLibs) gtk;
+    useGTK = getPkgConfig "libiodbc" "gtk" false;
+  };
+
   libnice = import ../development/libraries/libnice {
     inherit stdenv fetchurl pkgconfig;
     inherit (gnome) glib;
@@ -4315,7 +4374,7 @@ let
   };
 
   libmad = import ../development/libraries/libmad {
-    inherit fetchurl stdenv;
+    inherit fetchurl stdenv autoconf;
   };
 
   libmatthew_java = import ../development/libraries/java/libmatthew-java {
@@ -4330,6 +4389,10 @@ let
     inherit fetchurl stdenv curl;
   };
 
+  libmikmod = import ../development/libraries/libmikmod {
+    inherit stdenv fetchurl texinfo;
+  };
+
   libmilter = import ../development/libraries/libmilter {
     inherit fetchurl stdenv m4;
   };
@@ -4435,7 +4498,7 @@ let
     inherit fetchurl stdenv pkgconfig;
     inherit (xlibs) libX11 libxcb xcbutil;
   };
-  
+
   libtasn1 = import ../development/libraries/libtasn1 {
     inherit fetchurl stdenv;
   };
@@ -4687,10 +4750,11 @@ let
   };
 
   opencv = import ../development/libraries/opencv {
-      inherit fetchurl stdenv cmake libjpeg libpng libtiff jasper ffmpeg
+      inherit fetchurl cmake libjpeg libpng libtiff jasper ffmpeg
           pkgconfig xineLib;
       inherit (gtkLibs) gtk glib;
       inherit (gst_all) gstreamer;
+      stdenv = stdenv2; 
   };
 
   # this ctl version is needed by openexr_viewers
@@ -4778,19 +4842,9 @@ let
     qt4Support = false;
   };
 
-  popplerQt44 = poppler.override {
-    qt4Support = true;
-    qt4 = qt44;
-  };
-
-  popplerQt45 = poppler.override {
+  popplerQt4 = poppler.override {
+    inherit qt4;
     qt4Support = true;
-    qt4 = qt45;
-  };
-
-  popplerQt46 = poppler.override {
-    qt4Support = true;
-    qt4 = qt46;
   };
 
   popt = import ../development/libraries/popt {
@@ -4819,15 +4873,6 @@ let
 
   qt4 = qt46;
 
-  qt44 = import ../development/libraries/qt-4.4 {
-    inherit fetchurl stdenv fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
-      fontconfig freetype pkgconfig libtiff;
-    inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
-      libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
-      inputproto fixesproto libXfixes;
-    inherit (gnome) glib;
-  };
-
   qt45 = import ../development/libraries/qt-4.5 {
     inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus
       fontconfig freetype pkgconfig libtiff;
@@ -4868,24 +4913,16 @@ let
   librdf_raptor = import ../development/libraries/librdf/raptor.nix {
     inherit fetchurl stdenv lib libxml2 curl;
   };
-  
+
   librdf_rasqal = import ../development/libraries/librdf/rasqal.nix {
     inherit fetchurl stdenv lib pcre libxml2 gmp librdf_raptor;
   };
-  
+
   librdf = import ../development/libraries/librdf {
     inherit fetchurl stdenv lib pkgconfig librdf_raptor ladspaH openssl zlib;
   };
 
-  redland = redland_1_0_10;
-  
-  redland_1_0_8 = makeOverridable (import ../development/libraries/redland/1.0.8.nix) {
-    inherit fetchurl stdenv openssl libxml2 pkgconfig perl sqlite
-      libxslt curl pcre librdf_rasqal librdf_raptor;
-    bdb = db4;
-  };
-
-  redland_1_0_10 = makeOverridable (import ../development/libraries/redland/1.0.10.nix) {
+  redland = makeOverridable (import ../development/libraries/redland/1.0.10.nix) {
     inherit fetchurl stdenv openssl libxml2 pkgconfig perl sqlite
       mysql libxslt curl pcre librdf_rasqal librdf_raptor;
     bdb = db4;
@@ -4981,10 +5018,6 @@ let
     inherit stdenv fetchurl cmake taglib;
   };
 
-  tapioca_qt = import ../development/libraries/tapioca-qt {
-    inherit stdenv fetchurl cmake qt4 telepathy_qt;
-  };
-
   tdb = import ../development/libraries/tdb {
     inherit fetchurl stdenv libxslt libxml2 docbook_xsl;
   };
@@ -5044,6 +5077,10 @@ let
     inherit (xlibs) libXt;
   };
 
+  wvstreams = import ../development/libraries/wvstreams {
+    inherit stdenv fetchurl qt4 dbus zlib openssl readline perl;
+  };
+
   wxGTK = wxGTK28;
 
   wxGTK26 = import ../development/libraries/wxGTK-2.6 {
@@ -5250,6 +5287,9 @@ let
 
   perlXMLParser = perlPackages.XMLParser;
 
+  ack = perlPackages.ack;
+
+  perlcritic = perlPackages.PerlCritic;
 
   ### DEVELOPMENT / PYTHON MODULES
 
@@ -5265,7 +5305,9 @@ let
       setuptools = setuptools_python26;
     };
 
-  pythonPackages = recurseIntoAttrs (import ./python-packages.nix {
+  pythonPackages = python26Packages;
+
+  python25Packages = recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs python buildPythonPackage;
   });
 
@@ -5297,14 +5339,9 @@ let
     inherit fetchurl stdenv python zlib libjpeg freetype;
   };
 
-  pil_python26 = import ../development/python-modules/pil {
-    inherit fetchurl stdenv zlib libjpeg freetype;
-    python = python26;
-  };
-
   psyco = import ../development/python-modules/psyco {
-      inherit fetchurl stdenv python;
-    };
+    inherit fetchurl stdenv python;
+  };
 
   pycairo = import ../development/python-modules/pycairo {
     inherit fetchurl stdenv python pkgconfig cairo x11;
@@ -5342,49 +5379,16 @@ let
     inherit python openssl;
   };
 
-  pythonSip = builderDefsPackage (import ../development/python-modules/python-sip/4.7.4.nix) {
-    inherit python;
-  };
-
   rhpl = import ../development/python-modules/rhpl {
     inherit stdenv fetchurl rpm cpio python wirelesstools gettext;
   };
 
   sip = import ../development/python-modules/python-sip {
-    inherit stdenv fetchurl lib python;
-  };
-
-  sip410 = import ../development/python-modules/python-sip/4.10.nix {
-    inherit stdenv fetchurl lib python;
-  };
-
-  sip_python26 = import ../development/python-modules/python-sip {
-    inherit stdenv fetchurl lib;
-    python = python26;
-  };
-
-  pyqt = builderDefsPackage (import ../development/python-modules/pyqt/4.3.3.nix) {
-    inherit pkgconfig python pythonSip glib;
-    inherit (xlibs) libX11 libXext;
-    qt = qt4;
+    inherit stdenv fetchurl python;
   };
 
   pyqt4 = import ../development/python-modules/pyqt {
-    inherit stdenv fetchurl lib python sip;
-    qt4 = qt45;
-  };
-
-  pyqt4_python26 = import ../development/python-modules/pyqt {
-    inherit stdenv fetchurl lib;
-    qt4 = qt45;
-    python = python26;
-    sip = sip_python26;
-  };
-
-  pyqt47 = import ../development/python-modules/pyqt/4.7.nix {
-    inherit stdenv fetchurl lib python;
-    qt4 = qt46;
-    sip = sip410;
+    inherit stdenv fetchurl python qt4 sip;
   };
 
   pyx = import ../development/python-modules/pyx {
@@ -5445,9 +5449,8 @@ let
     inherit fetchurl stdenv libtool gettext zlib readline guile python;
   };
 
-  dict = composedArgsAndFun (import ../servers/dict/1.9.15.nix) {
-    inherit builderDefs which bison;
-    flex=flex2534;
+  dict = makeOverridable (import ../servers/dict) {
+    inherit fetchurl stdenv which bison flex;
   };
 
   dictdDBs = recurseIntoAttrs (import ../servers/dict/dictd-db.nix {
@@ -5473,6 +5476,14 @@ let
     inherit fetchurl stdenv erlang spidermonkey icu getopt
       curl;
   };
+  
+  felix = import ../servers/felix {
+    inherit stdenv fetchurl;
+  };
+  
+  felix_remoteshell = import ../servers/felix/remoteshell.nix {
+    inherit stdenv fetchurl;
+  };
 
   fingerd_bsd = import ../servers/fingerd/bsd-fingerd {
     inherit fetchurl stdenv;
@@ -5506,6 +5517,11 @@ let
     inherit (pkgsOverriden) fetchurl stdenv apacheHttpd python;
   };
 
+  mpd = import ../servers/mpd {
+    inherit stdenv fetchurl pkgconfig glib alsaLib flac libvorbis libmad
+            libid3tag libmikmod libcue;
+  };
+
   myserver = import ../servers/http/myserver {
     inherit fetchurl stdenv libgcrypt libevent libidn gnutls libxml2
       zlib texinfo cppunit xz;
@@ -5624,6 +5640,10 @@ let
     inherit fetchurl stdenv jdk apacheAnt unzip;
   };
 
+  virtuoso = makeOverridable (import ../servers/sql/virtuoso) {
+    inherit stdenv fetchurl libxml2 openssl readline;
+  };
+
   vsftpd = import ../servers/ftp/vsftpd {
     inherit fetchurl openssl stdenv libcap pam;
   };
@@ -5881,11 +5901,24 @@ let
 
   linuxHeaders = linuxHeaders_2_6_28;
 
-  linuxHeadersCross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
+  linuxHeaders26Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
+    inherit stdenv fetchurl perl;
+    cross = assert crossSystem != null; crossSystem;
+  });
+
+  linuxHeaders24Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.4.nix {
     inherit stdenv fetchurl perl;
     cross = assert crossSystem != null; crossSystem;
   });
 
+  # We can choose:
+  linuxHeadersCrossChooser = ver : if (ver == "2.4") then linuxHeaders24Cross
+    else if (ver == "2.6") then linuxHeaders26Cross
+    else throw "Unknown linux kernel version";
+
+  linuxHeadersCross = assert crossSystem != null;
+    linuxHeadersCrossChooser crossSystem.platform.kernelMajor;
+
   linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
     inherit fetchurl stdenv unifdef;
   };
@@ -5972,6 +6005,22 @@ let
       ];
   };
 
+  linux_2_6_33_zen1 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.33-zen1.nix) {
+    inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz;
+  };
+
+  linux_2_6_33_zen1_oldi686 = linux_2_6_33_zen1.override {
+    features = {
+      oldI686 = true;
+    };
+  };
+
+  linux_2_6_33_zen1_bfs = linux_2_6_33_zen1.override {
+    features = {
+      ckSched = true;
+    };
+  };
+
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
@@ -6000,6 +6049,10 @@ let
       }
     else null;
 
+    blcr = import ../os-specific/linux/blcr/0.8.2.nix {
+      inherit fetchurl stdenv kernel perl makeWrapper;
+    };
+
     exmap = import ../os-specific/linux/exmap {
       inherit fetchurl stdenv kernel boost pcre pkgconfig;
       inherit (gtkLibs) gtkmm;
@@ -6313,6 +6366,10 @@ let
     inherit fetchurl stdenv;
   };
 
+  rfkill = import ../os-specific/linux/rfkill {
+    inherit fetchurl stdenv;
+  };
+
   rt73fw = import ../os-specific/linux/firmware/rt73 {
     inherit fetchurl stdenv unzip;
   };
@@ -6463,6 +6520,11 @@ let
     inherit fetchurl stdenv qt4 imagemagick inkscape;
   };
 
+  xf86_input_wacom = import ../os-specific/linux/xf86-input-wacom {
+    inherit stdenv fetchurl ncurses pkgconfig file;
+    inherit (xorg) libX11 libXi inputproto xproto xorgserver;
+  };
+
   xmoto = builderDefsPackage (import ../games/xmoto) {
     inherit chipmunk sqlite curl zlib bzip2 libjpeg libpng
       freeglut mesa SDL SDL_mixer SDL_image SDL_net SDL_ttf
@@ -6588,7 +6650,7 @@ let
     inherit fetchurl stdenv pkgconfig gettext
       intltool perl perlXMLParser libxml2 glib;
   };
-  
+
   shared_desktop_ontologies = import ../data/misc/shared-desktop-ontologies {
     inherit stdenv fetchurl cmake;
   };
@@ -6661,23 +6723,28 @@ let
 
 
   aangifte2005 = import ../applications/taxes/aangifte-2005 {
-    inherit stdenv fetchurl;
-    inherit (xlibs) libX11 libXext;
+    inherit (pkgsi686Linux) stdenv fetchurl;
+    inherit (pkgsi686Linux.xlibs) libX11 libXext;
   };
 
   aangifte2006 = import ../applications/taxes/aangifte-2006 {
-    inherit stdenv fetchurl;
-    inherit (xlibs) libX11 libXext;
+    inherit (pkgsi686Linux) stdenv fetchurl;
+    inherit (pkgsi686Linux.xlibs) libX11 libXext;
   };
 
   aangifte2007 = import ../applications/taxes/aangifte-2007 {
-    inherit stdenv fetchurl;
-    inherit (xlibs) libX11 libXext libSM;
+    inherit (pkgsi686Linux) stdenv fetchurl;
+    inherit (pkgsi686Linux.xlibs) libX11 libXext libSM;
   };
 
   aangifte2008 = import ../applications/taxes/aangifte-2008 {
-    inherit stdenv fetchurl;
-    inherit (xlibs) libX11 libXext libSM;
+    inherit (pkgsi686Linux) stdenv fetchurl;
+    inherit (pkgsi686Linux.xlibs) libX11 libXext libSM;
+  };
+
+  aangifte2009 = import ../applications/taxes/aangifte-2009 {
+    inherit (pkgsi686Linux) stdenv fetchurl makeWrapper xdg_utils;
+    inherit (pkgsi686Linux.xlibs) libX11 libXext libSM;
   };
 
   abcde = import ../applications/audio/abcde {
@@ -6711,18 +6778,13 @@ let
     inherit (gnome) libgnomecanvas;
   };
 
-  audacious = import ../applications/audio/audacious/player.nix {
-    inherit fetchurl stdenv pkgconfig libmowgli libmcs gettext xlibs dbus_glib;
-    inherit (gnome) libglade;
+  audacious = import ../applications/audio/audacious {
+    inherit fetchurl stdenv gettext pkgconfig libmowgli libmcs
+      dbus_glib libxml2 libmad xlibs alsaLib libogg libvorbis libcdio
+      libcddb flac ffmpeg;
     inherit (gtkLibs) glib gtk;
   };
 
-  audacious_plugins = import ../applications/audio/audacious/plugins.nix {
-    inherit fetchurl stdenv pkgconfig audacious dbus_glib gettext
-      libmad xlibs alsaLib taglib libmpcdec libogg libvorbis
-      libcdio libcddb libxml2;
-  };
-
   audacity = import ../applications/audio/audacity {
     inherit fetchurl stdenv gettext pkgconfig zlib perl intltool libogg
       libvorbis libmad;
@@ -6741,10 +6803,11 @@ let
   };
 
   avidemux = import ../applications/video/avidemux {
-    inherit fetchurl stdenv cmake pkgconfig libxml2 qt4 gettext SDL libxslt x264
+    inherit fetchurl cmake pkgconfig libxml2 qt4 gettext SDL libxslt x264
       alsaLib lame faac faad2 libvorbis;
     inherit (gtkLibs) gtk;
     inherit (xlibs) libXv pixman libpthreadstubs libXau libXdmcp;
+    stdenv = stdenv2;
   };
 
   awesome = import ../applications/window-managers/awesome {
@@ -6829,14 +6892,10 @@ let
     inherit fetchurl stdenv ncurses;
   };
 
-  calibre = import ../applications/misc/calibre {
+  calibre = makeOverridable (import ../applications/misc/calibre) {
     inherit stdenv fetchurl libpng imagemagick pkgconfig libjpeg fontconfig podofo
-      qt4 makeWrapper unrar;
+      qt4 makeWrapper unrar pil chmlib popplerQt4 pyqt4 sip;
     python = python26Full;
-    pyqt4 = pyqt4_python26;
-    sip = sip_python26;
-    pil = pil_python26;
-    popplerQt4 = popplerQt45;
     inherit (python26Packages) mechanize lxml dateutil cssutils beautifulsoap;
   };
 
@@ -6883,7 +6942,6 @@ let
 
   chromeWrapper = wrapFirefox chrome "chrome" "";
 
-
   cinelerra = import ../applications/video/cinelerra {
     inherit lib fetchurl sourceFromHead stdenv
       automake autoconf libtool
@@ -6998,16 +7056,9 @@ let
     inherit (gtkLibs) gtk glib;
   };
 
-  digikam = import ../applications/graphics/digikam {
-    inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3 cmake;
-    inherit (kde3) kdelibs;
-    inherit (xlibs) libXt libXext;
-  };
-
-  djvulibre = import ../applications/misc/djvulibre {
-    inherit stdenv fetchurl libjpeg libtiff libungif zlib
-      ghostscript libpng x11 mesa;
-    qt = if (getConfig ["djvulibre" "qt3Frontend"] true) then qt3 else null;
+  djvulibre = makeOverridable (import ../applications/misc/djvulibre) {
+    inherit stdenv fetchurl lib libjpeg libtiff libungif qt3 zlib
+      ghostscript libpng mesa x11;
     inherit (xlibs) libX11;
   };
 
@@ -7022,7 +7073,7 @@ let
 
   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
     inherit libpng libtiff libjpeg imagemagick librsvg
-      pkgconfig bzip2 zlib libtool freetype fontconfig 
+      pkgconfig bzip2 zlib libtool freetype fontconfig
       ghostscript;
     inherit (xlibs) libX11;
   };
@@ -7056,7 +7107,7 @@ let
 
   elinks = import ../applications/networking/browsers/elinks {
     inherit stdenv fetchurl python perl ncurses x11 zlib openssl spidermonkey
-      guile bzip2;
+      guile bzip2 gpm;
   };
 
   elvis = import ../applications/editors/elvis {
@@ -7146,7 +7197,7 @@ let
     };
 
     magit = import ../applications/editors/emacs-modes/magit {
-      inherit fetchurl stdenv emacs texinfo;
+      inherit fetchurl stdenv emacs texinfo autoconf automake;
     };
 
     maudeMode = import ../applications/editors/emacs-modes/maude {
@@ -7216,12 +7267,6 @@ let
     inherit (gnome) libgnome libgnomeui vte;
   };
 
-  gwenview = import ../applications/graphics/gwenview {
-    inherit stdenv fetchurl exiv2 zlib libjpeg perl libpng expat qt3;
-    inherit (kde3) kdelibs;
-    inherit (xlibs) libXt libXext;
-  };
-
   wavesurfer = import ../applications/misc/audio/wavesurfer {
     inherit fetchurl stdenv tcl tk snack makeWrapper;
   };
@@ -7230,6 +7275,10 @@ let
     inherit fetchurl stdenv perl pkgconfig libpcap flex bison;
     inherit (gtkLibs) gtk;
   };
+  
+  wvdial = import ../os-specific/linux/wvdial {
+    inherit stdenv fetchurl wvstreams pkgconfig;
+  };
 
   fbida = builderDefsPackage ../applications/graphics/fbida {
     inherit libjpeg libexif giflib libtiff libpng
@@ -7524,7 +7573,7 @@ let
   ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) {
     inherit fetchurl stdenv perl gettext makeWrapper lib;
     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
-      HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder;
+      HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext;
     inherit git; # The RCS should be optional
     monotone = null;
     extraUtils = [];
@@ -7596,16 +7645,6 @@ let
     inherit (xlibs) libX11 libXext libXinerama libXpm libXft;
   };
 
-  k3b = import ../applications/misc/k3b {
-    inherit stdenv fetchurl kdelibs x11 zlib libpng libjpeg perl qt3;
-  };
-
-  kbasket = import ../applications/misc/kbasket {
-    inherit fetchurl kdelibs x11 zlib libpng libjpeg
-      perl qt3 gpgme libgpgerror;
-    stdenv = overrideGCC stdenv gcc43;
-  };
-
   kermit = import ../tools/misc/kermit {
     inherit fetchurl stdenv ncurses;
   };
@@ -7621,31 +7660,6 @@ let
     #  inherit ffmpeg2theora sox, vorbis-tools lame mjpegtools dvdauthor 'Q'dvdauthor growisofs mencoder;
   };
 
-  kile = import ../applications/editors/kile {
-    inherit stdenv fetchurl perl arts kdelibs zlib libpng libjpeg freetype expat;
-    inherit (xlibs) libX11 libXt libXext libXrender libXft;
-    qt = qt3;
-  };
-
-  konversation = import ../applications/networking/irc/konversation {
-    inherit fetchurl stdenv perl arts kdelibs zlib libpng libjpeg expat;
-    inherit (xlibs) libX11 libXt libXext libXrender libXft;
-    qt = qt3;
-  };
-
-  kphone = import ../applications/networking/kphone {
-    inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
-    qt = qt3;
-    inherit (xlibs) libX11 libXext libXt libICE libSM;
-    stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
-  };
-
-  kuickshow = import ../applications/graphics/kuickshow {
-    inherit fetchurl stdenv kdelibs arts libpng libjpeg libtiff libungif imlib expat perl;
-    inherit (xlibs) libX11 libXext libSM;
-    qt = qt3;
-  };
-
   lame = import ../applications/audio/lame {
     inherit fetchurl stdenv;
   };
@@ -7684,10 +7698,17 @@ let
   };
 
   lyx = import ../applications/misc/lyx {
-   inherit fetchurl stdenv texLive python;
+   inherit fetchurl stdenv texLive python makeWrapper;
+   inherit (xlibs) libX11;
    qt = qt4;
   };
 
+  meld = import ../applications/version-management/meld {
+    inherit fetchurl stdenv python intltool makeWrapper;
+    inherit (gnome) scrollkeeper;
+    pygtk = pyGtkGlade;
+  };
+
   mercurial = import ../applications/version-management/mercurial {
     inherit fetchurl stdenv makeWrapper getConfig tk;
     guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg)
@@ -7762,8 +7783,8 @@ let
   };
 
   MPlayer = import ../applications/video/MPlayer {
-    inherit fetchurl stdenv freetype x11 zlib libtheora libcaca freefont_ttf libdvdnav
-      cdparanoia mesa pkgconfig unzip amrnb amrwb;
+    inherit fetchurl stdenv freetype fontconfig x11 zlib libtheora libcaca libdvdnav
+      cdparanoia mesa pkgconfig unzip amrnb amrwb jackaudio;
     inherit (xlibs) libX11 libXv libXinerama libXrandr;
     alsaSupport = true;
     alsa = alsaLib;
@@ -7783,19 +7804,6 @@ let
       # !!! should depend on MPlayer
     };
 
-  MPlayerTrunk = import ../applications/video/MPlayer/trunk.nix {
-    inherit fetchurl sourceFromHead stdenv freetype x11 zlib libtheora libcaca
-      freefont_ttf libdvdnav cdparanoia mesa pkgconfig jackaudio;
-    inherit (xlibs) libX11 libXv libXinerama libXrandr;
-    alsaSupport = true;
-    alsa = alsaLib;
-    theoraSupport = true;
-    cacaSupport = true;
-    xineramaSupport = true;
-    randrSupport = true;
-    cddaSupport = true;
-  };
-
   mrxvt = import ../applications/misc/mrxvt {
     inherit lib fetchurl stdenv freetype pkgconfig which;
     inherit (xlibs) libXaw xproto libXt libX11 libSM libICE libXft
@@ -7808,7 +7816,7 @@ let
   };
 
   mutt = import ../applications/networking/mailreaders/mutt {
-    inherit fetchurl stdenv ncurses which openssl gdbm perl;
+    inherit fetchurl stdenv ncurses which openssl gdbm perl cyrus_sasl;
   };
 
   msmtp = import ../applications/networking/msmtp {
@@ -7872,7 +7880,8 @@ let
   };
 
   paraview = import ../applications/graphics/paraview {
-    inherit fetchurl stdenv cmake qt4;
+    inherit fetchurl cmake qt4;
+    stdenv = stdenv2;
   };
 
   partitionManager = import ../tools/misc/partition-manager {
@@ -7950,6 +7959,10 @@ let
     openexr = openexr_1_6_1;
   };
 
+  rapidsvn = import ../applications/version-management/rapidsvn {
+    inherit fetchurl stdenv wxGTK subversion apr aprutil python;
+  };
+
   ratpoison = import ../applications/window-managers/ratpoison {
     inherit fetchurl stdenv fontconfig readline pkgconfig autoconf automake;
     inherit (xlibs) libX11 inputproto libXt libXpm libXft
@@ -8011,7 +8024,8 @@ let
     inherit fetchurl stdenv lib cmake pkgconfig freetype lcms libtiff libxml2
       cairo python cups fontconfig zlib libjpeg libpng;
     inherit (gnome) libart_lgpl;
-    inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama;
+    inherit (xlibs) libXau libXaw libXdmcp libXext libX11 libXtst libXi libXinerama libXrender;
+    inherit (xorg) pixman libpthreadstubs;
     qt = qt3;
   };
 
@@ -8133,8 +8147,8 @@ let
     inherit (xlibs) libX11 libXext libSM libICE;
 
     # KDE support is not working yet.
-    inherit kdelibs kdebase;
-    withKde = pkgs.getConfig ["taskJuggler" "kde"] false;
+    inherit (kde3) kdelibs kdebase;
+    withKde = getPkgConfig "taskJuggler" "kde" false;
   };
 
   thinkingRock = import ../applications/misc/thinking-rock {
@@ -8168,6 +8182,11 @@ let
     inherit fetchurl stdenv diffutils gnutar gnupatch which;
   };
 
+  transmission = import ../applications/networking/p2p/transmission {
+    inherit stdenv fetchurl pkgconfig openssl curl intltool;
+    inherit (gtkLibs) gtk;
+  };
+
   twinkle = import ../applications/networking/twinkle {
     inherit fetchurl stdenv lib pkgconfig commoncpp2 ccrtp openssl speex libjpeg perl
       libzrtpcpp libsndfile libxml2 file readline alsaLib;
@@ -8242,7 +8261,8 @@ let
 
   vlc = import ../applications/video/vlc {
     inherit fetchurl stdenv perl xlibs zlib a52dec libmad faad2
-      ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf;
+      ffmpeg libdvdnav pkgconfig hal fribidi qt4 freefont_ttf
+      libvorbis libtheora speex;
     dbus = dbus.libs;
     alsa = alsaLib;
   };
@@ -8343,6 +8363,10 @@ let
     inherit (xlibs) libXcomposite libXfixes libXdamage libXrender;
   };
 
+  xdg_utils = import ../tools/X11/xdg-utils {
+    inherit stdenv fetchurl;
+  };
+
   /* Doesn't work yet
 
   xen = builderDefsPackage (import ../applications/virtualization/xen) {
@@ -8695,11 +8719,11 @@ let
     inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype;
   };
 
-  gnome28 = import ../desktops/gnome-2.28 pkgs;
+  gnome28 = recurseIntoAttrs (import ../desktops/gnome-2.28 pkgs);
 
   gnome = gnome28;
 
-  kde3 = {
+  kde3 = recurseIntoAttrs {
 
     kdelibs = import ../desktops/kde-3/kdelibs {
       inherit
@@ -8713,32 +8737,68 @@ let
     kdebase = import ../desktops/kde-3/kdebase {
       inherit
         fetchurl pkgconfig x11 xlibs zlib libpng libjpeg perl
-        kdelibs openssl bzip2 fontconfig pam hal dbus glib;
+        openssl bzip2 fontconfig pam hal dbus glib;
       stdenv = overrideGCC stdenv gcc43;
+      inherit (kde3) kdelibs;
+      qt = qt3;
+    };
+
+    arts = import ../development/libraries/arts {
+      inherit fetchurl stdenv pkgconfig;
+      inherit (xlibs) libX11 libXext;
+      inherit zlib libjpeg libpng perl;
+      qt = qt3;
+      inherit (gnome) glib;
+      inherit (kde3) kdelibs;
+    };
+
+    k3b = import ../applications/misc/k3b {
+      inherit stdenv fetchurl x11 zlib libpng libjpeg perl qt3;
+      inherit (kde3) kdelibs;
+    };
+
+    kbasket = import ../applications/misc/kbasket {
+      inherit fetchurl x11 zlib libpng libjpeg
+        perl qt3 gpgme libgpgerror;
+      stdenv = overrideGCC stdenv gcc43;
+      inherit (kde3) kdelibs;
+    };
+
+    kile = import ../applications/editors/kile {
+      inherit stdenv fetchurl perl zlib libpng libjpeg freetype expat;
+      inherit (xlibs) libX11 libXt libXext libXrender libXft;
+      inherit (kde3) arts kdelibs;
+      qt = qt3;
+    };
+
+    kphone = import ../applications/networking/kphone {
+      inherit fetchurl lib autoconf automake libtool pkgconfig openssl libpng alsaLib;
+      qt = qt3;
+      inherit (xlibs) libX11 libXext libXt libICE libSM;
+      stdenv = overrideGCC stdenv gcc42; # I'm to lazy to clean up header files
+    };
+
+    kuickshow = import ../applications/graphics/kuickshow {
+      inherit fetchurl stdenv libpng libjpeg libtiff libungif imlib expat perl;
+      inherit (xlibs) libX11 libXext libSM;
+      inherit (kde3) arts kdelibs;
+      qt = qt3;
+    };
+
+    kcachegrind = import ../development/tools/misc/kcachegrind {
+      inherit fetchurl stdenv zlib perl expat libpng libjpeg;
+      inherit (xlibs) libX11 libXext libSM;
+      inherit (kde3) kdelibs;
       qt = qt3;
     };
 
   };
 
-  kde4 = kde43;
-  
-  kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // {
-    openexr = openexr_1_6_1;
-    qt4 = qt45;
-    popplerQt4 = popplerQt45;
-  });
-  
+  kde4 = kde44;
+
   kde44 = makeOverridable (import ../desktops/kde-4.4) (pkgs // {
     openexr = openexr_1_6_1;
-    qt4 = qt46;
-    popplerQt4 = popplerQt46;
-    sip = sip410;
-    pyqt4 = pyqt47;
   });
-  
-
-  kdelibs = kde3.kdelibs;
-  kdebase = kde3.kdebase;
 
   ### SCIENCE
 
@@ -8869,7 +8929,7 @@ let
   };
 
   gtkwave = import ../applications/science/electronics/gtkwave {
-    inherit fetchurl stdenv gperf pkgconfig bzip2;
+    inherit fetchurl stdenv gperf pkgconfig bzip2 xz;
     inherit (gtkLibs) gtk;
   };
 
@@ -8911,8 +8971,9 @@ let
     inherit stdenv fetchurl emacs texLive;
   };
 
-  busybox = import ../misc/busybox {
+  busybox = makeOverridable (import ../misc/busybox) {
     inherit fetchurl stdenv;
+    enableStatic = true;
   };
 
   cups = import ../misc/cups {
@@ -8928,7 +8989,7 @@ let
     inherit fetchurl stdenv rpm cpio zlib;
   };
 
-  cupsBjnp = import ../misc/cups/drivers/cups-bnjp {
+  cupsBjnp = import ../misc/cups/drivers/cups-bjnp {
     inherit fetchurl stdenv cups;
   };
 
@@ -9015,11 +9076,6 @@ let
     flex = flex2535;
   };
 
-  linuxwacom = import ../misc/linuxwacom {
-    inherit fetchurl stdenv ncurses pkgconfig;
-    inherit (xorg) libX11 libXi xproto inputproto xorgserver;
-  };
-
   martyr = import ../development/libraries/martyr {
     inherit stdenv fetchurl apacheAnt;
   };
@@ -9039,11 +9095,14 @@ let
   };
 
   # The bleeding edge.
+  nixUnstable = nix;
+  /*
   nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
     inherit fetchurl stdenv perl curl bzip2 openssl aterm;
     storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
     stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
   };
+  */
 
   # The SQLite branch.
   nixSqlite = lowPrio (makeOverridable (import ../tools/package-management/nix/sqlite.nix) {
@@ -9063,15 +9122,15 @@ let
     };
 
   disnix = import ../tools/package-management/disnix {
-    inherit stdenv fetchsvn openssl autoconf automake libtool pkgconfig dbus_glib libxml2;
+    inherit stdenv fetchurl pkgconfig dbus_glib libxml2 libxslt getopt nixUnstable;
   };
 
   disnix_activation_scripts = import ../tools/package-management/disnix/activation-scripts {
-    inherit stdenv fetchsvn autoconf automake;
+    inherit stdenv fetchurl;
   };
 
   DisnixService = import ../tools/package-management/disnix/DisnixService {
-    inherit stdenv fetchsvn apacheAnt jdk axis2 shebangfix;
+    inherit stdenv fetchurl apacheAnt jdk axis2 dbus_java;
   };
 
   latex2html = import ../misc/tex/latex2html/default.nix {
@@ -9136,6 +9195,10 @@ let
     hasktags = haskellPackages.myhasktags;
   };
 
+  splix = import ../misc/cups/drivers/splix {
+    inherit stdenv fetchurl cups zlib;
+  };
+
   synaptics = import ../misc/synaptics {
     inherit fetchurl stdenv pkgconfig;
     inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev;
@@ -9214,25 +9277,20 @@ let
     inherit (pythonPackages) pysqlite;
   };
 
-   vice = import ../misc/emulators/vice {
-     inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
-     inherit pkgconfig SDL makeDesktopItem autoconf automake;
-     inherit (gtkLibs) gtk;
-   };
+  vice = import ../misc/emulators/vice {
+    inherit stdenv fetchurl lib perl gettext libpng giflib libjpeg alsaLib readline mesa;
+    inherit pkgconfig SDL makeDesktopItem autoconf automake;
+    inherit (gtkLibs) gtk;
+  };
 
   wine =
-    if system == "x86_64-linux" then
-      # Can't build this in 64-bit; use a 32-bit build instead.
-      pkgsi686Linux.wine
-      # some hackery to make nix-env show this package on x86_64...
-      // {system = "x86_64-linux";}
-    else
-      import ../misc/emulators/wine {
-        inherit fetchurl stdenv bison mesa ncurses
-          libpng libjpeg alsaLib lcms xlibs freetype
-          fontconfig fontforge libxml2 libxslt openssl;
-	flex = flex2535;
-      };
+    # Wine cannot be built in 64-bit; use a 32-bit build instead.
+    import ../misc/emulators/wine {
+      inherit (pkgsi686Linux) fetchurl stdenv bison mesa ncurses
+        libpng libjpeg alsaLib lcms xlibs freetype
+        fontconfig fontforge libxml2 libxslt openssl;
+      flex = pkgsi686Linux.flex2535;
+    };
 
   xosd = import ../misc/xosd {
     inherit fetchurl stdenv;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 399ae41b8bb..9d4f276d9b3 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -41,10 +41,18 @@ rec {
     inherit cabal ansiTerminal;
   };
 
+  AspectAG = import ../development/libraries/haskell/AspectAG {
+    inherit cabal HList mtl;
+  };
+
   benchpress = import ../development/libraries/haskell/benchpress {
     inherit cabal;
   };
 
+  bimap = import ../development/libraries/haskell/bimap {
+    inherit cabal;
+  };
+
   binary = import ../development/libraries/haskell/binary {
     inherit cabal;
   };
@@ -57,6 +65,15 @@ rec {
     inherit cabal bytestring network;
   };
 
+  cautiousFile = import ../development/libraries/haskell/cautious-file {
+    inherit cabal;
+  };
+
+  cgi3001172 = import ../development/libraries/haskell/cgi/3001.1.7.2.nix {
+    inherit cabal mtl parsec xhtml;
+    network = network2217;
+  };
+
   cgi = import ../development/libraries/haskell/cgi {
     inherit cabal mtl network parsec xhtml;
   };
@@ -65,6 +82,10 @@ rec {
     inherit cabal ansiTerminal haskellLexer;
   };
 
+  ConfigFile = import ../development/libraries/haskell/ConfigFile {
+    inherit cabal mtl parsec MissingH;
+  };
+
   convertible = import ../development/libraries/haskell/convertible {
     inherit cabal mtl;
     time = time113;
@@ -97,6 +118,10 @@ rec {
     inherit cabal QuickCheck time;
   };
 
+  deepseq = import ../development/libraries/haskell/deepseq {
+    inherit cabal;
+  };
+
   Diff = import ../development/libraries/haskell/Diff {
     inherit cabal;
   };
@@ -127,6 +152,14 @@ rec {
     inherit cabal;
   };
 
+  fclabels = import ../development/libraries/haskell/fclabels {
+    inherit cabal monadsFd;
+  };
+
+  feed = import ../development/libraries/haskell/feed {
+    inherit cabal utf8String xml;
+  };
+
   filestore = import ../development/libraries/haskell/filestore {
     inherit cabal datetime parsec regexPosix split time utf8String xml Diff;
   };
@@ -135,6 +168,10 @@ rec {
     inherit cabal mtl;
   };
 
+  gdiff = import ../development/libraries/haskell/gdiff {
+    inherit cabal;
+  };
+
   getOptions = import ../development/libraries/haskell/get-options {
     inherit (pkgs) fetchurl sourceFromHead;
     inherit cabal mtl;
@@ -144,6 +181,10 @@ rec {
     inherit cabal pcreLight colorizeHaskell;
   };
 
+  ghcPaths0106 = import ../development/libraries/haskell/ghc-paths/0.1.0.6.nix {
+    inherit cabal;
+  };
+
   ghcPaths = import ../development/libraries/haskell/ghc-paths {
     inherit cabal;
   };
@@ -154,11 +195,25 @@ rec {
   };
 
   gitit = import ../development/libraries/haskell/gitit {
-    inherit cabal HAppSServer HStringTemplate HTTP SHA cgi datetime
-      filestore highlightingKate mtl network pandoc parsec recaptcha
-      utf8String xhtml zlib;
+    inherit cabal happstackServer happstackUtil
+      HStringTemplate SHA datetime
+      filestore highlightingKate safe
+      mtl pandoc parsec recaptcha
+      utf8String xhtml zlib ConfigFile url
+      cautiousFile feed;
+    cgi = cgi3001172;
+    HTTP = HTTP400009;
+    network = network2217;
   };
 
+  GLUT2121 = import ../development/libraries/haskell/GLUT/2.1.2.1.nix {
+    inherit cabal;
+    OpenGL = OpenGL2230;
+    glut = pkgs.freeglut;
+    inherit (pkgs) mesa;
+    inherit (pkgs.xlibs) libSM libICE libXmu libXi;
+  };
+  
   GLUT = import ../development/libraries/haskell/GLUT {
     inherit cabal OpenGL;
     glut = pkgs.freeglut;
@@ -191,6 +246,20 @@ rec {
     inherit cabal HaXml mtl network stm hslogger HAppSUtil HAppSData bytestring binary hspread;
   };
 
+  /* cannot yet get this to work with 6.12.1 */
+  happstackData = import ../development/libraries/haskell/happstack/happstack-data.nix {
+    inherit cabal mtl sybWithClass HaXml happstackUtil binary;
+  };
+
+  happstackUtil = import ../development/libraries/haskell/happstack/happstack-util.nix {
+    inherit cabal mtl hslogger QuickCheck HUnit strictConcurrency unixCompat SMTPClient;
+  };
+
+  happstackServer = import ../development/libraries/haskell/happstack/happstack-server.nix {
+    inherit cabal HUnit HaXml MaybeT parsec sendfile utf8String mtl hslogger happstackData happstackUtil xhtml html zlib;
+    network = network2217;
+  };
+
   hashedStorage = import ../development/libraries/haskell/hashed-storage {
     inherit cabal mtl zlib mmap;
   };
@@ -219,14 +288,40 @@ rec {
     inherit cabal haskellSrcExts;
   };
   
+  haskellPlatform2010100 = import ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix {
+    inherit cabal ghc fgl
+      haskellSrc html
+      stm xhtml happy;
+    cabalInstall = cabalInstall080;
+    GLUT = GLUT2121;
+    OpenGL = OpenGL2230;
+    zlib = zlib0520;
+    alex = alex232;
+    cgi = cgi3001172;
+    QuickCheck = QuickCheck2;
+    HTTP = HTTP400009;
+    HUnit = HUnit1221;
+    network = network2217;
+    parallel = parallel2201;
+    regexBase = regexBase0931;
+    regexCompat = regexCompat092;
+    regexPosix = regexPosix0941;
+    haddock = haddock272;
+    inherit (pkgs) fetchurl;
+  };
+
   haskellPlatform = import ../development/libraries/haskell/haskell-platform {
-    inherit cabal GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
+    inherit cabal ghc GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
       haskellSrc html parallel regexBase regexCompat regexPosix
       stm time xhtml zlib cabalInstall alex happy haddock;
-    ghc = ghcReal;
     inherit (pkgs) fetchurl;
   };
 
+  HTTP400009 = import ../development/libraries/haskell/HTTP/4000.0.9.nix {
+    inherit cabal mtl parsec;
+    network = network2217;
+  };
+
   HTTP = import ../development/libraries/haskell/HTTP {
     inherit cabal mtl network parsec;
   };
@@ -281,8 +376,12 @@ rec {
     inherit cabal;
   };
 
+  hsemail = import ../development/libraries/haskell/hsemail {
+    inherit cabal mtl parsec;
+  };
+
   HStringTemplate = import ../development/libraries/haskell/HStringTemplate {
-    inherit cabal parsec time;
+    inherit cabal parsec time text utf8String parallel;
   };
 
   hspread = import ../development/libraries/haskell/hspread {
@@ -301,6 +400,10 @@ rec {
     inherit cabal network;
   };
 
+  HUnit1221 = import ../development/libraries/haskell/HUnit/1.2.2.1.nix {
+    inherit cabal;
+  };
+
   HUnit = import ../development/libraries/haskell/HUnit {
     inherit cabal;
   };
@@ -309,6 +412,10 @@ rec {
     inherit cabal mtl parsec;
   };
 
+  jpeg = import ../development/libraries/haskell/jpeg {
+    inherit cabal mtl;
+  };
+
   json = import ../development/libraries/haskell/json {
     inherit cabal mtl;
   };
@@ -321,6 +428,19 @@ rec {
     inherit cabal benchpress;
   };
 
+  MaybeT = import ../development/libraries/haskell/MaybeT {
+    inherit cabal mtl;
+  };
+
+  MaybeTTransformers = import ../development/libraries/haskell/MaybeT-transformers {
+    inherit cabal transformers monadsFd;
+  };
+
+  MissingH = import ../development/libraries/haskell/MissingH {
+    inherit cabal HUnit hslogger parsec regexCompat;
+    network = network2217;
+  };
+
   mmap = import ../development/libraries/haskell/mmap {
     inherit cabal;
   };
@@ -333,6 +453,10 @@ rec {
     inherit cabal mtl;
   };
 
+  monadsFd = import ../development/libraries/haskell/monads-fd {
+    inherit cabal transformers;
+  };
+
   mpppc = import ../development/libraries/haskell/mpppc {
     inherit cabal ansiTerminal split text;
   };
@@ -349,6 +473,10 @@ rec {
     inherit cabal syb;
   };
 
+  network2217 = import ../development/libraries/haskell/network/2.2.1.7.nix {
+    inherit cabal parsec;
+  };
+
   network = import ../development/libraries/haskell/network {
     inherit cabal parsec;
   };
@@ -366,6 +494,12 @@ rec {
     inherit (pkgs) openal;
   };
 
+  OpenGL2230 = import ../development/libraries/haskell/OpenGL/2.2.3.0.nix {
+    inherit cabal;
+    inherit (pkgs) mesa;
+    inherit (pkgs.xlibs) libX11;
+  };
+
   OpenGL = import ../development/libraries/haskell/OpenGL {
     inherit cabal;
     inherit (pkgs) mesa;
@@ -373,7 +507,14 @@ rec {
   };
 
   pandoc = import ../development/libraries/haskell/pandoc {
-    inherit cabal mtl network parsec utf8String xhtml zipArchive;
+    inherit cabal mtl parsec utf8String xhtml zipArchive
+      xml texmath;
+    HTTP = HTTP400009;
+    network = network2217;
+  };
+
+  parallel2201 = import ../development/libraries/haskell/parallel/2.2.0.1.nix {
+    inherit cabal deepseq;
   };
 
   parallel = import ../development/libraries/haskell/parallel {
@@ -405,6 +546,10 @@ rec {
     inherit cabal;
   };
 
+  pureMD5 = import ../development/libraries/haskell/pureMD5 {
+    inherit cabal binary;
+  };
+
   QuickCheck  = QuickCheck1;
 
   QuickCheck1 = import ../development/libraries/haskell/QuickCheck {
@@ -421,17 +566,34 @@ rec {
   };
 
   recaptcha = import ../development/libraries/haskell/recaptcha {
-    inherit cabal HTTP network xhtml;
+    inherit cabal xhtml;
+    HTTP = HTTP400009;
+    network = network2217;
+  };
+
+  regexBase0931 = import ../development/libraries/haskell/regex-base/0.93.1.nix {
+    inherit cabal mtl;
   };
 
   regexBase = import ../development/libraries/haskell/regex-base {
     inherit cabal mtl;
   };
 
+  regexCompat092 = import ../development/libraries/haskell/regex-compat/0.92.nix {
+    inherit cabal;
+    regexBase = regexBase0931;
+    regexPosix = regexPosix0941;
+  };
+
   regexCompat = import ../development/libraries/haskell/regex-compat {
     inherit cabal regexBase regexPosix;
   };
 
+  regexPosix0941 = import ../development/libraries/haskell/regex-posix/0.94.1.nix {
+    inherit cabal;
+    regexBase = regexBase0931;
+  };
+
   regexPosix = import ../development/libraries/haskell/regex-posix {
     inherit cabal regexBase;
   };
@@ -440,10 +602,30 @@ rec {
     inherit cabal;
   };
 
+  safe = import ../development/libraries/haskell/safe {
+    inherit cabal;
+  };
+
+  salvia = import ../development/libraries/haskell/salvia {
+    inherit cabal fclabels MaybeTTransformers monadsFd pureMD5
+      safe salviaProtocol split text threadmanager transformers
+      utf8String stm time;
+    network = network2217;
+  };
+
+  salviaProtocol = import ../development/libraries/haskell/salvia-protocol {
+    inherit cabal fclabels parsec safe split utf8String bimap;
+  };
+
   scion = import ../development/libraries/haskell/scion {
     inherit cabal ghcPaths ghcSyb hslogger json multiset time uniplate;
   };
 
+  sendfile = import ../development/libraries/haskell/sendfile {
+    inherit cabal;
+    network = network2217;
+  };
+
   syb = import ../development/libraries/haskell/syb {
     inherit cabal;
   };
@@ -488,6 +670,11 @@ rec {
     inherit cabal Shellac readline;
   };
 
+  SMTPClient = import ../development/libraries/haskell/SMTPClient {
+    inherit cabal hsemail;
+    network = network2217;
+  };
+
   split = import ../development/libraries/haskell/split {
     inherit cabal;
   };
@@ -513,7 +700,16 @@ rec {
     inherit cabal HUnit QuickCheck mtl;
   };
 
+  texmath = import ../development/libraries/haskell/texmath {
+    inherit cabal json parsec xml;
+    cgi = cgi3001172;
+  };
+
   text = import ../development/libraries/haskell/text {
+    inherit cabal deepseq;
+  };
+
+  threadmanager = import ../development/libraries/haskell/threadmanager {
     inherit cabal;
   };
 
@@ -538,6 +734,14 @@ rec {
     inherit cabal;
   };
 
+  unixCompat = import ../development/libraries/haskell/unix-compat {
+    inherit cabal;
+  };
+
+  url = import ../development/libraries/haskell/url {
+    inherit cabal utf8String;
+  };
+
   utf8String = import ../development/libraries/haskell/utf8-string {
     inherit cabal;
   };
@@ -631,6 +835,10 @@ rec {
     inherit (pkgs) zlib;
   };
 
+  zlib0520 = import ../development/libraries/haskell/zlib/0.5.2.0.nix {
+    inherit cabal;
+    inherit (pkgs) zlib;
+  };
 
   # Compilers.
 
@@ -657,6 +865,11 @@ rec {
     inherit (pkgs) perl;
   };
 
+  alex232 = import ../development/tools/parsing/alex/2.3.2.nix {
+    inherit cabal;
+    inherit (pkgs) perl;
+  };
+
   cpphs = import ../development/tools/misc/cpphs {
     inherit cabal;
   };
@@ -683,6 +896,13 @@ rec {
     inherit (pkgs) libedit;
   };
 
+  haddock272 = import ../development/tools/documentation/haddock/haddock-2.7.2.nix {
+    inherit cabal;
+    alex = alex232;
+    happy = happy1184;
+    ghcPaths = ghcPaths0106;
+  };
+
   happy = happy1184;
 
   happy117 = import ../development/tools/parsing/happy/happy-1.17.nix {
@@ -700,7 +920,8 @@ rec {
   };
 
   hslogger = import ../development/tools/haskell/hslogger {
-    inherit cabal mtl network time;
+    inherit cabal mtl time;
+    network = network2217;
   };
 
   mkcabal = import ../development/tools/haskell/mkcabal {
@@ -743,6 +964,13 @@ rec {
 
   # Tools.
 
+  cabalInstall080 = import ../tools/package-management/cabal-install/0.8.0.nix {
+    inherit cabal;
+    HTTP = HTTP400009;
+    network = network2217;
+    zlib = zlib0520;
+  };
+
   cabalInstall = import ../tools/package-management/cabal-install {
     inherit cabal HTTP network zlib;
   };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 5afb4415593..bb455efa790 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -11,6 +11,23 @@ rec {
 
   inherit (pkgs) buildPerlPackage fetchurl stdenv perl;
 
+  ack = buildPerlPackage rec {
+    name = "ack-1.92";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
+      sha256 = "8689156cb0639ff60adee47fc4b77e656cf0fc58e6c123ee6c481d9d48e99b88";
+    };
+    propagatedBuildInputs = [ FileNext ];
+    meta = {
+      description = "grep-like text finder";
+      longDescription = ''
+        ack is a grep-like tool tailored to working with large trees of source code.
+      '';
+      homepage = http://betterthangrep.com/;
+      license = "free";  # Artistic 2.0
+    };
+  };
+
   AlgorithmAnnotate = buildPerlPackage {
     name = "Algorithm-Annotate-0.10";
     src = fetchurl {
@@ -133,6 +150,14 @@ rec {
     propagatedBuildInputs = [CarpClan];
   };
 
+  BKeywords = buildPerlPackage rec {
+    name = "B-Keywords-1.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JJ/JJORE/${name}.tar.gz";
+      sha256 = "9a231f54a01a705c574a38702cb3fe8bbb301ea7357a09797e3da876a265d395";
+    };
+  };
+
   Boolean = buildPerlPackage rec {
     name = "boolean-0.20";
     src = fetchurl {
@@ -654,6 +679,14 @@ rec {
     };
   };
 
+  ConfigTiny = buildPerlPackage rec {
+    name = "Config-Tiny-2.12";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "1a5b7f5e8245a3e7be859df571209353be30abc7292815ee0f459b8dc87cdb5b";
+    };
+  };
+
   constant = buildPerlPackage {
     name = "constant-1.15";
     src = fetchurl {
@@ -1040,6 +1073,15 @@ rec {
     };
   };
 
+  ExceptionClass = buildPerlPackage rec {
+    name = "Exception-Class-1.30";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
+      sha256 = "54e256fdb317c1736c2c257fa63d5b87cfb382870711b24937c36eb5171b3154";
+    };
+    propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
+  };
+
   ExtUtilsInstall = buildPerlPackage {
     name = "ExtUtils-Install-1.50";
     src = fetchurl {
@@ -1100,6 +1142,22 @@ rec {
     };
   };
 
+  FileNext = buildPerlPackage rec {
+    name = "File-Next-1.06";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/${name}.tar.gz";
+      sha256 = "36cc0a4e5e4e44e04f7bea6f7453db517acc1a1b35a2b5fe5bc14cea0f560662";
+    };
+  };
+
+  FileRemove = buildPerlPackage rec {
+    name = "File-Remove-1.42";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "2ec2643c4e1a721965ed70ce184b72ae831c82b577420612a59eba8a0ce2a504";
+    };
+  };
+
   FileShareDir = buildPerlPackage rec {
     name = "File-ShareDir-1.00";
     src = fetchurl {
@@ -1125,6 +1183,15 @@ rec {
     };
   };
 
+  FileWhich = buildPerlPackage rec {
+    name = "File-Which-1.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "b72fec6590160737cba97293c094962adf4f7d44d9e68dde7062ecec13f4b2c3";
+    };
+    propagatedBuildInputs = [ TestScript ];
+  };
+
   FreezeThaw = buildPerlPackage {
     name = "FreezeThaw-0.43";
     src = fetchurl {
@@ -1151,6 +1218,15 @@ rec {
     };
   };
 
+  HookLexWrap = buildPerlPackage rec {
+    name = "Hook-LexWrap-0.22";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.zip";
+      sha256 = "eda90ba26f8a0cef02d38f08a1786a203beec1309279493c78eed13567d0fa7e";
+    };
+    buildInputs = [ pkgs.unzip ];
+  };
+
   HTMLFormFu = buildPerlPackage rec {
     name = "HTML-FormFu-0.03007";
     src = fetchurl {
@@ -1339,6 +1415,14 @@ rec {
     };
   };
 
+  IOString = buildPerlPackage rec {
+    name = "IO-String-1.08";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
+      sha256 = "2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0";
+    };
+  };
+
   IPCRun = buildPerlPackage rec {
     name = "IPC-Run-0.82";
     src = fetchurl {
@@ -1348,6 +1432,14 @@ rec {
     doCheck = false; /* attempts a network connection to localhost */
   };
 
+  IPCRun3 = buildPerlPackage rec {
+    name = "IPC-Run3-0.043";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
+      sha256 = "96b534e07e1459529ac12a77393628366f30d122b0dfaaa3ed5ec032079097ad";
+    };
+  };
+
   ImageExifTool = buildPerlPackage rec {
       name = "Image-ExifTool-8.12";
 
@@ -1760,10 +1852,10 @@ rec {
   };
 
   ParamsUtil = buildPerlPackage rec {
-    name = "Params-Util-0.37";
+    name = "Params-Util-1.01";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
-      sha256 = "1n36vhahbs2mfck5x6g8ab9280zji9zwc5092jiq78s791227cb6";
+      sha256 = "6a1613b669f18bf329003c7dbd11435248cffa9c1497645073821a68c0987a40";
     };
   };
 
@@ -1807,6 +1899,18 @@ rec {
     };
   };
 
+  PerlCritic = buildPerlPackage rec {
+    name = "Perl-Critic-1.105";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EL/ELLIOTJS/${name}.tar.gz";
+      sha256 = "3e1bd5ab4912ebe20cd3cb81b36ee28dbdd8d410374a31025dc9fb289921ff27";
+    };
+    propagatedBuildInputs = [
+      PPI BKeywords ConfigTiny ExceptionClass Readonly StringFormat
+      EmailAddress FileWhich PerlTidy PodSpell ReadonlyXS RegexpParser
+    ];
+  };
+
   PerlIOeol = buildPerlPackage {
     name = "PerlIO-eol-0.14";
     src = fetchurl {
@@ -1831,6 +1935,33 @@ rec {
     };
   };
 
+  PerlTidy = buildPerlPackage rec {
+    name = "Perl-Tidy-20090616";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHANCOCK/${name}.tar.gz";
+      sha256 = "c7ca21e287d23c769c235f6742fab7b5779b7c7bf58b6a55ba8cdc492e50a118";
+    };
+  };
+
+  PPI = buildPerlPackage rec {
+    name = "PPI-1.210";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "6c851e86475242fa0def2f02565743d41ab703ff6df3e826166ee9df5b961c7a";
+    };
+    propagatedBuildInputs = [ 
+      ClassInspector
+      Clone
+      FileRemove
+      IOString
+      ListMoreUtils
+      ParamsUtil
+      TaskWeaken
+      TestNoWarnings TestObject TestSubCalls
+    ];
+    doCheck = false;
+  };
+
   ModulePluggable = buildPerlPackage rec {
     name = "Module-Pluggable-3.9";
     src = fetchurl {
@@ -1894,6 +2025,22 @@ rec {
     propagatedBuildInputs = [constant PodEscapes];
   };
 
+  PodSpell = buildPerlPackage rec {
+    name = "Pod-Spell-1.01";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SB/SBURKE/${name}.tar.gz";
+      sha256 = "938648dca5b62e591783347f9d4d4e2a5239f9629c6adfed9a581b9457ef7d2e";
+    };
+  };
+
+  ProbePerl = buildPerlPackage rec {
+    name = "Probe-Perl-0.01";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/${name}.tar.gz";
+      sha256 = "9b7d211139e42b2a2952c9a4b9f55ac12705e256f4a0acd4ac6ff665aeaddd87";
+    };
+  };
+
   Readonly = buildPerlPackage rec {
     name = "Readonly-1.03";
     src = fetchurl {
@@ -1902,6 +2049,14 @@ rec {
     };
   };
 
+  ReadonlyXS = buildPerlPackage rec {
+    name = "Readonly-XS-1.05";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROODE/${name}.tar.gz";
+      sha256 = "8ae5c4e85299e5c8bddd1b196f2eea38f00709e0dc0cb60454dc9114ae3fff0d";
+    };
+  };
+
   RegexpAssemble = buildPerlPackage rec {
     name = "Regexp-Assemble-0.34";
     src = fetchurl {
@@ -1926,6 +2081,14 @@ rec {
     };
   };
 
+  RegexpParser = buildPerlPackage rec {
+    name = "Regexp-Parser-0.20";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PI/PINYAN/${name}.tar.gz";
+      sha256 = "0dfdbe060724396697303c5522e697679ab6e74151f3c3ef8df49f3bda30a2a5";
+    };
+  };
+
   ReturnValue = buildPerlPackage {
     name = "Return-Value-1.302";
     src = fetchurl {
@@ -1981,6 +2144,14 @@ rec {
     buildInputs = [TestPod TestPodCoverage];
   };
 
+  StringFormat = buildPerlPackage rec {
+    name = "String-Format-1.16";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz";
+      sha256 = "edb27dd055ad71012a439f262f9394517adb585a5c27ba72c1819bae2c23729a";
+    };
+  };
+
   StringMkPasswd = buildPerlPackage {
     name = "String-MkPasswd-0.02";
     src = fetchurl {
@@ -2217,6 +2388,23 @@ rec {
     propagatedBuildInputs = [TestTester];
   };
 
+  TestObject = buildPerlPackage rec {
+    name = "Test-Object-0.07";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "d142a91b039928dc5d616c7bd9bb62ffb06e58991f00c54e26ef7e62ed61032a";
+    };
+  };
+
+  TestPerlCritic = buildPerlPackage rec {
+    name = "Test-Perl-Critic-1.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TH/THALJEF/${name}.tar.gz";
+      sha256 = "89b242ff539034336ed87c11ef3e5ecac47c333a6ab8b46aab4cc449e3739a89";
+    };
+    propagatedBuildInputs = [ PerlCritic ];
+  };
+
   TestPod = buildPerlPackage {
     name = "Test-Pod-1.26";
     src = fetchurl {
@@ -2243,6 +2431,24 @@ rec {
     propagatedBuildInputs = [TestHarness];
   };
 
+  TestScript = buildPerlPackage rec {
+    name = "Test-Script-1.07";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "e21e5ee43a27b4c51b54ded5c92e60b817309778117a1d98ae6354abff27eb96";
+    };
+    propagatedBuildInputs = [ProbePerl IPCRun3];
+  };
+
+  TestSubCalls = buildPerlPackage rec {
+    name = "Test-SubCalls-1.09";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
+      sha256 = "a334b0457da338d79be2dbb62d403701fc90f7607df840115ff45ee1e2bd6e70";
+    };
+    propagatedBuildInputs = [ HookLexWrap ];
+  };
+
   TestTester = buildPerlPackage {
     name = "Test-Tester-0.107";
     src = fetchurl {
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index 3c680cac9e4..5244769a261 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -26,6 +26,7 @@ rec {
 
   sheevaplug = {
     name = "sheevaplug";
+    kernelMajor = "2.6";
     kernelHeadersBaseConfig = "kirkwood_defconfig";
     kernelBaseConfig = "kirkwood_defconfig";
     kernelArch = "arm";
@@ -34,15 +35,18 @@ rec {
       ''
         BLK_DEV_RAM y
         BLK_DEV_INITRD y
+        BLK_DEV_CRYPTOLOOP m
         BLK_DEV_DM m
+        DM_CRYPT m
         MD y
         REISERFS_FS m
         EXT4_FS m
         USB_STORAGE_CYPRESS_ATACB m
 
-        CONFIG_IP_PNP y
-        CONFIG_NFS_FS y
-        CONFIG_ROOT_NFS y
+        IP_PNP y
+        NFS_FS y
+        ROOT_NFS y
+        TUN m
 
         # Fail to build
         DRM n
@@ -58,8 +62,6 @@ rec {
         ATM_HE n
         SCSI_ACARD n
         BLK_DEV_CMD640_ENHANCED n
-
-        IP_PNP y
       '';
     kernelTarget = "uImage";
     uboot = "sheevaplug";
@@ -69,6 +71,7 @@ rec {
 
   versatileARM = {
     name = "versatileARM";
+    kernelMajor = "2.6";
     kernelHeadersBaseConfig = "versatile_defconfig";
     kernelBaseConfig = "versatile_defconfig";
     kernelArch = "arm";
@@ -106,6 +109,7 @@ rec {
 
   integratorCP = {
     name = "integratorCP";
+    kernelMajor = "2.6";
     kernelHeadersBaseConfig = "integrator_defconfig";
     kernelBaseConfig = "integrator_defconfig";
     kernelArch = "arm";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index dcebf275587..16a6544f3ff 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -77,6 +77,23 @@ rec {
     };
   });
 
+  clientform = buildPythonPackage (rec {
+    name = "clientform-0.2.10";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz";
+      sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm";
+    };
+
+    meta = {
+      homepage = http://wwwsearch.sourceforge.net/ClientForm/;
+
+      license = "bsd";
+
+      description = "Python module for handling HTML forms on the client side";
+    };
+  });
+
   cssutils = buildPythonPackage (rec {
     name = "cssutils-0.9.7a2";
 
@@ -265,6 +282,8 @@ rec {
       sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2";
     };
 
+    propagatedBuildInputs = [ clientform ];
+
     meta = {
       description = "Stateful programmatic web browsing in Python";
 
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index fdac71e2da3..571484f0540 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -5,6 +5,8 @@ let
   /* Basic list of packages to cross-build */
   basicHostDrv = {
     bison.hostDrv = nativePlatforms;
+    busybox.hostDrv = nativePlatforms;
+    dropbear.hostDrv = nativePlatforms;
     tightvnc.hostDrv = nativePlatforms;
     #openoffice.hostDrv = nativePlatforms;
     wxGTK.hostDrv = nativePlatforms;
@@ -78,20 +80,21 @@ let
     arch = "mips";
     float = "soft";
     withTLS = true;
-    libc = "glibc";
+    libc = "uclibc";
     platform = {
       name = "malta";
+      kernelMajor = "2.4";
       kernelBaseConfig = "malta_defconfig";
-      kernelHeadersBaseConfig = "malta_defconfig";
+      kernelHeadersBaseConfig = "defconfig-malta";
       uboot = null;
       kernelArch = "mips";
       kernelAutoModules = false;
-      kernelTarget = "vmlinux.bin";
+      kernelTarget = "vmlinux";
     };
     openssl.system = "linux-generic32";
   };
 in {
-  crossMipselLinux = mapTestOnCross crossSystem basic;
+  crossMipselLinux24 = mapTestOnCross crossSystem basic;
 }) // (
 
 /* Test some cross builds to the ultrasparc */
@@ -102,10 +105,10 @@ let
     arch = "sparc64";
     float = "hard";
     withTLS = true;
-    cpu = "ultrasparc";
     libc = "glibc";
     platform = {
         name = "ultrasparc";
+        kernelMajor = "2.6";
         kernelHeadersBaseConfig = "sparc64_defconfig";
         kernelBaseConfig = "sparc64_defconfig";
         kernelArch = "sparc";
@@ -114,6 +117,7 @@ let
         uboot = null;
     };
     openssl.system = "linux64-sparcv9";
+    gcc.cpu = "ultrasparc";
   };
 in {
   crossUltraSparcLinux = mapTestOnCross crossSystem basic;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 7c5623a8991..d5f29f6d784 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -1,3 +1,12 @@
+/*
+  This file will be evaluated by hydra with a call like this:
+  hydra_eval_jobs --gc-roots-dir \
+    /nix/var/nix/gcroots/per-user/hydra/hydra-roots --argstr \
+    system i686-linux --argstr system x86_64-linux --arg \
+    nixpkgs "{outPath = ./}" .... release.nix
+    
+  Hydra can be installed with "nix-env -i hydra".
+*/
 with (import ./release-lib.nix);
 
 {
@@ -16,7 +25,6 @@ with (import ./release-lib.nix);
   aterm25 = all;
   aterm28 = all;
   audacious = linux;
-  audacious_plugins = linux;
   autoconf = all;
   automake110x = all;
   automake111x = all;
@@ -102,7 +110,7 @@ with (import ./release-lib.nix);
   ghostscriptX = linux;
   gimp = linux;
   git = linux;
-  #gitFull = linux;
+  gitFull = linux;
   glibc = linux;
   glibcLocales = linux;
   glxinfo = linux;
@@ -158,13 +166,9 @@ with (import ./release-lib.nix);
   jfsrec = linux;
   jnettop = linux;
   jwhois = linux;
-  k3b = linux;
   kbd = linux;
-  kcachegrind = linux;
   keen4 = ["i686-linux"];
-  kile = linux;
   klibc = linux;
-  konversation = linux;
   ktorrent = linux;
   kvm = linux;
   qemu = linux;
@@ -177,7 +181,6 @@ with (import ./release-lib.nix);
   libtool_2 = all;
   libxml2 = all;
   libxslt = all;
-  linuxwacom = linux;
   lout = linux;
   lsh = linux;
   lsof = linux;
@@ -425,43 +428,9 @@ with (import ./release-lib.nix);
   kde3 = {
     kdebase = linux;
     kdelibs = linux;
-  };
-
-  kde43 = {
-    kdelibs = linux;
-    kdelibs_experimental = linux;
-    kdebase_workspace = linux;
-    kdebase = linux;
-    kdebase_runtime = linux;
-    oxygen_icons = linux;
-    kdepimlibs = linux;
-    kdeadmin = linux;
-    kdeartwork = linux;
-    kdeaccessibility = linux;
-    kdeedu = linux;
-    kdegraphics = linux;
-    kdemultimedia = linux;
-    kdenetwork = linux;
-    kdepim = linux;
-    kdepim_runtime = linux;
-    kdeplasma_addons = linux;
-    kdegames = linux;
-    kdetoys = linux;
-    kdeutils = linux;
-    kdesdk = linux;
-    kdewebdev = linux;
-    krusader = linux;
-    kmplayer = linux;
-    ktorrent = linux;
-    koffice = linux;
-    konversation = linux;
-    kdesvn = linux;
-    amarok = linux;
-    l10n.ca = linux;
-    l10n.de = linux;
-    l10n.fr = linux;
-    l10n.nl = linux;
-    l10n.ru = linux;
+    k3b = linux;
+    kcachegrind = linux;
+    kile = linux;
   };
 
   kde44 = {