summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/ecl/src-for-default.nix10
-rw-r--r--pkgs/development/compilers/gcc-4.4/default.nix25
-rw-r--r--pkgs/development/compilers/gcc-4.4/pr41818.patch26
-rw-r--r--pkgs/development/compilers/haxe/default.nix174
-rw-r--r--pkgs/development/compilers/jdk/jdk6-linux.nix10
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix36
-rw-r--r--pkgs/development/compilers/mono/default.nix4
-rw-r--r--pkgs/development/compilers/neko/default.nix24
-rw-r--r--pkgs/development/compilers/sbcl/src-for-default.nix10
-rw-r--r--pkgs/development/compilers/scala/default.nix22
-rw-r--r--pkgs/development/compilers/stalin/default.nix9
-rw-r--r--pkgs/development/interpreters/groovy/default.nix27
-rw-r--r--pkgs/development/interpreters/guile/1.9.nix4
-rw-r--r--pkgs/development/interpreters/maude/default.nix18
-rw-r--r--pkgs/development/interpreters/python-new/2.5/default.nix682
-rw-r--r--pkgs/development/interpreters/python-new/2.5/gentoo-python-2.5-compat.patch72
-rw-r--r--pkgs/development/interpreters/python-new/2.5/nix-find-sites-2.5.patch33
-rw-r--r--pkgs/development/interpreters/python-new/2.5/python.nix68
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix4
-rw-r--r--pkgs/development/interpreters/python/3.1/default.nix95
-rw-r--r--pkgs/development/interpreters/python/3.1/search-path.patch (renamed from pkgs/development/interpreters/python-new/2.5/search-path.patch)1
-rw-r--r--pkgs/development/interpreters/python/3.1/setup-hook.sh15
-rw-r--r--pkgs/development/interpreters/ruby/libs.nix399
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix9
-rw-r--r--pkgs/development/libraries/boost/1.42.0.nix (renamed from pkgs/development/libraries/boost/1.41.0.nix)6
-rw-r--r--pkgs/development/libraries/ccrtp/default.nix6
-rw-r--r--pkgs/development/libraries/commoncpp2/default.nix40
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix8
-rw-r--r--pkgs/development/libraries/ffmpeg/default.nix13
-rw-r--r--pkgs/development/libraries/fltk/default.nix8
-rw-r--r--pkgs/development/libraries/freeimage/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/AspectAG/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix12
-rw-r--r--pkgs/development/libraries/haskell/HStringTemplate/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.9.nix12
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix11
-rw-r--r--pkgs/development/libraries/haskell/MaybeT-transformers/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/MaybeT/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/MissingH/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix12
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix4
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SMTPClient/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/bimap/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/cabal/cabal.nix2
-rw-r--r--pkgs/development/libraries/haskell/cautious-file/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix12
-rw-r--r--pkgs/development/libraries/haskell/deepseq/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/feed/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/fgl/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gdiff/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix11
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-data.nix13
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix16
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-util.nix17
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix21
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hsemail/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/jpeg/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/monads-fd/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/mtl/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.7.nix12
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/parallel/2.2.0.1.nix12
-rw-r--r--pkgs/development/libraries/haskell/parsec/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pureMD5/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.1.nix12
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.92.nix12
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.1.nix12
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/salvia-protocol/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/salvia/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/sendfile/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/stm/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/strictConcurrency/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class.nix4
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/text/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/threadmanager/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/unix-compat/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/url/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/uulib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xhtml/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/xml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.2.0.nix13
-rw-r--r--pkgs/development/libraries/hwloc/default.nix22
-rw-r--r--pkgs/development/libraries/hwloc/ncurses.patch13
-rw-r--r--pkgs/development/libraries/libarchive/default.nix11
-rw-r--r--pkgs/development/libraries/libcdio/default.nix10
-rw-r--r--pkgs/development/libraries/libcue/default.nix20
-rw-r--r--pkgs/development/libraries/libedit/default.nix6
-rw-r--r--pkgs/development/libraries/libftdi/default.nix4
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix2
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix17
-rw-r--r--pkgs/development/libraries/libmad/default.nix5
-rw-r--r--pkgs/development/libraries/libmad/pkgconfig.patch117
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix20
-rw-r--r--pkgs/development/libraries/libpcap/default.nix12
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix6
-rw-r--r--pkgs/development/libraries/ncurses/default.nix4
-rw-r--r--pkgs/development/libraries/nspr/default.nix6
-rw-r--r--pkgs/development/libraries/nss/default.nix8
-rw-r--r--pkgs/development/libraries/opencv/default.nix6
-rw-r--r--pkgs/development/libraries/qt-4.4/default.nix70
-rw-r--r--pkgs/development/libraries/qt-4.4/setup-hook.sh9
-rw-r--r--pkgs/development/libraries/qt-4.6/default.nix5
-rw-r--r--pkgs/development/libraries/redland/1.0.10.nix11
-rw-r--r--pkgs/development/libraries/redland/1.0.8.nix35
-rw-r--r--pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/tapioca-qt/default.nix10
-rw-r--r--pkgs/development/libraries/wvstreams/default.nix23
-rw-r--r--pkgs/development/libraries/zlib/default.nix4
-rw-r--r--pkgs/development/perl-modules/generic/default.nix4
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix6
-rw-r--r--pkgs/development/python-modules/pycups/default.nix14
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix6
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix6
-rw-r--r--pkgs/development/python-modules/pyqt/3.17.4.nix20
-rw-r--r--pkgs/development/python-modules/pyqt/4.3.3.nix21
-rw-r--r--pkgs/development/python-modules/pyqt/4.7.nix18
-rw-r--r--pkgs/development/python-modules/pyqt/default.nix16
-rw-r--r--pkgs/development/python-modules/python-sip/4.10.nix16
-rw-r--r--pkgs/development/python-modules/python-sip/4.7.4.nix18
-rw-r--r--pkgs/development/python-modules/python-sip/default.nix16
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix25
-rw-r--r--pkgs/development/tools/analysis/lcov/find-source.patch229
-rw-r--r--pkgs/development/tools/analysis/radare/ired.nix22
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/cmake/findqt4.patch13
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh1
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix36
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix6
-rw-r--r--pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix13
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix6
-rw-r--r--pkgs/development/tools/misc/cppi/default.nix4
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix2
-rw-r--r--pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch15
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix6
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix6
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix30
-rw-r--r--pkgs/development/tools/parsing/alex/2.3.2.nix12
-rw-r--r--pkgs/development/tools/parsing/bison/bison-2.4.nix4
148 files changed, 1834 insertions, 1735 deletions
diff --git a/pkgs/development/compilers/ecl/src-for-default.nix b/pkgs/development/compilers/ecl/src-for-default.nix
index bfd9f53ad09..7a90597f5c8 100644
--- a/pkgs/development/compilers/ecl/src-for-default.nix
+++ b/pkgs/development/compilers/ecl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="10.2.1";
-   name="ecl-10.2.1";
-   hash="1y917ql2dlcg8di1bwhph7zmqaj3c9ywv1iwkdkkfq1ylbn939bj";
-   url="http://downloads.sourceforge.net/ecls/files/ecls/10.2/ecl-${version}.tgz";
-   advertisedUrl="http://downloads.sourceforge.net/ecls/files/ecls/10.2/ecl-10.2.1.tgz";
+   version="10.4.1";
+   name="ecl-10.4.1";
+   hash="0v1wqvvi2zvvmymsgxz7yvqbxf8py6kxani2f4i3bjkayblcypah";
+   url="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-${version}.tar.gz";
+   advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/10.4/ecl-10.4.1.tar.gz";
   
   
 }
diff --git a/pkgs/development/compilers/gcc-4.4/default.nix b/pkgs/development/compilers/gcc-4.4/default.nix
index 4307cbc7ccf..d2ba75624db 100644
--- a/pkgs/development/compilers/gcc-4.4/default.nix
+++ b/pkgs/development/compilers/gcc-4.4/default.nix
@@ -57,24 +57,34 @@ let version = "4.4.3";
 
     javaAwtGtk = langJava && gtk != null;
 
-    withCPU = if cross ? cpu then " --with-cpu=${cross.cpu}" else "";
+    /* Cross-gcc settings */
+    gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross;
+    gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross;
+    gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross;
+    withArch = if gccArch != null then " --with-arch=${gccArch}" else "";
+    withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else "";
+    withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else "";
 
     crossConfigureFlags =
       "--target=${cross.config}" +
-      withCPU +
+      withArch +
+      withCpu +
+      withAbi +
       (if crossStageStatic then
         " --disable-libssp --disable-nls" +
         " --without-headers" +
         " --disable-threads " +
         " --disable-libmudflap " +
         " --disable-libgomp " +
-        " --disable-shared"
+        " --disable-shared" +
+        " --disable-decimal-float" # libdecnumber requires libc
         else
         " --with-headers=${libcCross}/include" +
         " --enable-__cxa_atexit" +
         " --enable-long-long" +
         " --enable-threads=posix" +
-        " --enable-nls"
+        " --enable-nls" +
+        " --disable-decimal-float" # No final libdecnumber (it may work only in 386)
         );
     stageNameAddon = if (crossStageStatic) then "-stage-static" else
       "-stage-final";
@@ -110,7 +120,8 @@ stdenv.mkDerivation ({
     # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
     # target libraries and tools.
     ++ optional langAda ./gnat-cflags.patch
-    ++ optional langVhdl ./ghdl-ortho-cflags.patch;
+    ++ optional langVhdl ./ghdl-ortho-cflags.patch
+    ++ optional (cross != null && cross.arch == "sparc64") ./pr41818.patch;
 
   inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic
     libcCross;
@@ -257,7 +268,9 @@ stdenv.mkDerivation ({
     ];
 
     # Volunteers needed for the {Cyg,Dar}win ports of *PPL.
-    platforms = stdenv.lib.platforms.linux ++ [ "i686-darwin" ];
+    # gnatboot is not available out of linux platforms, so we disable the darwin build
+    # for the gnat (ada compiler).
+    platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false) [ "i686-darwin" ];
   };
 }
 // (if langVhdl then rec {
diff --git a/pkgs/development/compilers/gcc-4.4/pr41818.patch b/pkgs/development/compilers/gcc-4.4/pr41818.patch
new file mode 100644
index 00000000000..98731c46067
--- /dev/null
+++ b/pkgs/development/compilers/gcc-4.4/pr41818.patch
@@ -0,0 +1,26 @@
+From <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818>.  This fixes compilation
+of the sparc64-linux-gnu cross-compiler with shared libraries.
+
+--- trunk/Makefile.in	2010/01/07 19:21:46	155705
++++ trunk/Makefile.in	2010/01/07 19:53:50	155706
+@@ -259,7 +259,7 @@
+ # directories built for the target.
+ TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
+ # This is the list of variables to export in the environment when
+-# configuring subdirectories for the host system.
++# configuring subdirectories for the target system.
+ BASE_TARGET_EXPORTS = \
+ 	$(BASE_EXPORTS) \
+ 	AR="$(AR_FOR_TARGET)"; export AR; \
+@@ -281,7 +281,10 @@
+ 	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
+ 	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
+ 	WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
+-	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
++@if gcc-bootstrap
++	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
++@endif gcc-bootstrap
++	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
+ 
+ RAW_CXX_TARGET_EXPORTS = \
+ 	$(BASE_TARGET_EXPORTS) \
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index 0f1aeddf64b..4bf6390163e 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -3,89 +3,137 @@ args: with args;
 let
 
     src_haxe_swflib = {
-      # REGION AUTO UPDATE:                          { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_swflib-F_01-25-00.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_01-25-00.tar.gz"; sha256 = "ddea39427de23ff58d3b942bbcce2aac7a25dc11ae06ef983653c82614eba9cd"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_swflib-F_23-45-43.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_23-45-43.tar.gz"; sha256 = "a77ce2dda48d28f82b48b96f71404edbf7f58e4c3058b425a473c08d260e0816"; });
       # END
     }.src;
 
     src_haxe_extc = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_extc-F_01-25-08.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_01-25-08.tar.gz"; sha256 = "ab2100391735d39c93c72b236ec6e9c5cf09461311a7e3a714d867861926ae37"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_extc-F_23-45-44.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_23-45-44.tar.gz"; sha256 = "dd49eb771d52f4d67ca1ebdab1ced9a251dc5799f91896c33bd234690997820f"; });
       # END
     }.src;
 
     src_haxe_extlib_dev = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_extlib_dev-F_01-25-17.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_01-25-17.tar.gz"; sha256 = "01c3c8afdf47a98320e65c0652492508854ea28ead0437abd17a4228b33c8066"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_extlib_dev-F_23-45-46.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_23-45-46.tar.gz"; sha256 = "0a3566b6119de9063441cecd553248f3bfc00360edd7143f13b3ab0dbc57b310"; });
       # END
     }.src;
 
     src_haxe_xml_light = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_xml_light-F_01-25-24.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_01-25-24.tar.gz"; sha256 = "7fe244681698995af54085bb2ab873d3dd1ff2fac33aa8e7b00fcbbc50249334"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_xml_light-F_23-45-47.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_23-45-47.tar.gz"; sha256 = "8e1b5a7f1afcb7a6cd8bcac794c3714305ce94a98e989ccf23a38defb6205ed2"; });
       # END
     }.src;
 
     src_haxe_neko_include = { 
-      # REGION AUTO UPDATE:                          { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; }
-      src= sourceFromHead "haxe_neko_include-F_01-25-28.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_01-25-28.tar.gz"; sha256 = "8b642598889cf2fd1f99dfa037eef09b2511d30a8f5a6a75ee02b2e98fa4c6b7"; });
+      # REGION AUTO UPDATE:                             { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe_neko_include-F_23-45-48.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_23-45-48.tar.gz"; sha256 = "78441ec5a20f25c751afeb46e0ea61db6350794f6c5959264059914682c521a9"; });
       # END
     }.src;
 
+    src_haxe = {
+      # REGION AUTO UPDATE:    { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; }
+      src = sourceFromHead "haxe-read-only-3207.tar.gz"
+                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3207.tar.gz"; sha256 = "2d315ca69fac69674eb562e1349fdebefb0dca4a91eb4ee28371230aaaf60df1"; });
+      # END
+    }.src;
+
+
+    # the HaXe compiler
+    haxe = stdenv.mkDerivation {
+      name = "haxe-cvs";
+
+      buildInputs = [ocaml zlib makeWrapper];
+
+      src = src_haxe;
+
+      inherit zlib;
+
+      buildPhase = ''
+        mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs
+
+        # strange setup. install.ml seems to co the same repo again into haxe directory!
+        tar xfz $src --strip-components=1 -C haxe
+
+        t(){ tar xfz $1 -C $2 --strip-components=2; }
+        t ${src_haxe_swflib} ocaml/swflib
+        t ${src_haxe_extc} ocaml/extc
+        t ${src_haxe_extlib_dev} ocaml/extlib-dev
+        t ${src_haxe_xml_light} ocaml/xml-light
+        t ${src_haxe_neko_include} neko/libs
+
+        sed -e '/download();/d' \
+            -e "s@/usr/lib/@''${zlib}/lib/@g" \
+            doc/install.ml > install.ml
+        
+        ocaml install.ml
+      '';
+
+      # probably rpath should be set properly
+      installPhase = ''
+        ensureDir $out/lib/haxe
+        cp -r bin $out/bin
+        wrapProgram "$out/bin/haxe" \
+          --set "LD_LIBRARY_PATH" $zlib/lib \
+          --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:."
+        cp -r std $out/lib/haxe/
+      '';
+
+      meta = { 
+        description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++";
+        homepage = http://haxe.org;
+        license = ["GPLv2" "BSD2" /*?*/ ];  # -> docs/license.txt
+        maintainers = [args.lib.maintainers.marcweber];
+        platforms = args.lib.platforms.linux;
+      };
+    };
+
+    # build a tool found in std/tools/${name} source directory
+    # the .hxml files contain a recipe  to cerate a binary.
+    tool = { name, description }: stdenv.mkDerivation {
+
+        inherit name;
+
+        src = src_haxe;
+
+        buildPhase = ''
+          cd std/tools/${name};
+          haxe *.hxml
+          ensureDir $out/bin
+          mv ${name} $out/bin/
+        '';
+
+        buildInputs = [haxe neko];
+
+        dontStrip=1;
+
+        installPhase=":";
+
+        meta = {
+          inherit description;
+          homepage = http://haxe.org;
+          # license = "?"; TODO
+          maintainers = [args.lib.maintainers.marcweber];
+          platforms = args.lib.platforms.linux;
+        };
+
+      };
+
 in
 
-stdenv.mkDerivation {
-  name = "haxe-cvs";
-
-  # REGION AUTO UPDATE:                             { name="haxe"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "haxe"; groups = "haxe_group"; }
-  src= sourceFromHead "haxe-F_01-25-35.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-F_01-25-35.tar.gz"; sha256 = "8e5e5330e2fd7ffbbfe48d40bda03256aefbe30cf1be1d9c9065117b2b179f24"; });
-  # END
-
-  buildInputs = [ocaml zlib makeWrapper];
-
-  inherit zlib;
-
-  buildPhase = ''
-    mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs
-
-    # strange setup. install.ml seems to co the same repo again into haxe directory!
-    tar xfz $src --strip-components=1 -C haxe
-
-    t(){ tar xfz $1 -C $2 --strip-components=2; }
-    t ${src_haxe_swflib} ocaml/swflib
-    t ${src_haxe_extc} ocaml/extc
-    t ${src_haxe_extlib_dev} ocaml/extlib-dev
-    t ${src_haxe_xml_light} ocaml/xml-light
-    t ${src_haxe_neko_include} neko/libs
-
-    sed -e '/download();/d' \
-        -e "s@/usr/lib/@''${zlib}/lib/@g" \
-        doc/install.ml > install.ml
-    
-    ocaml install.ml
-  '';
-
-  # probably rpath should be set properly
-  installPhase = ''
-    ensureDir $out/lib/haxe
-    cp -r bin $out/bin
-    wrapProgram "$out/bin/haxe" \
-      --set "LD_LIBRARY_PATH" $zlib/lib \
-      --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:."
-    cp -r std $out/lib/haxe/
-  '';
-
-  meta = { 
-    description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++";
-    homepage = http://haxe.org;
-    license = ["GPLv2" "BSD2" /*?*/ ];  # -> docs/license.txt
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+{
+
+  inherit haxe;
+
+  haxelib = tool {
+    name = "haxelib";
+    description = "haxelib is a HaXe library management tool similar to easyinstall or ruby gems";
   };
+
 }
diff --git a/pkgs/development/compilers/jdk/jdk6-linux.nix b/pkgs/development/compilers/jdk/jdk6-linux.nix
index 4c12e01d70f..ddada14008b 100644
--- a/pkgs/development/compilers/jdk/jdk6-linux.nix
+++ b/pkgs/development/compilers/jdk/jdk6-linux.nix
@@ -13,18 +13,18 @@ assert swingSupport -> xlibs != null;
 
 stdenv.mkDerivation ({
   name =
-    if installjdk then "jdk-1.6.0_16" else "jre-1.6.0_16";
+    if installjdk then "jdk-1.6.0_20" else "jre-1.6.0_20";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = http://download.java.net/dlj/binaries/jdk-6u16-dlj-linux-i586.bin;
-        sha256 = "18syxbfsch7j109qcgjh510yvksbzxawf8ij67mx7p92icgf9ss6";
+        url = http://download.java.net/dlj/binaries/jdk-6u20-dlj-linux-i586.bin;
+        sha256 = "1gjd8y7d0a07lpl6x5j8wgyagf2kspl7xs0xf1k9pd8qzlw17z6v";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = http://download.java.net/dlj/binaries/jdk-6u16-dlj-linux-amd64.bin;
-        sha256 = "1kxk9wp7i5ymcpnp48qxjbkr749nshi068yld4q3rx2s3hvi824k";
+        url = http://download.java.net/dlj/binaries/jdk-6u20-dlj-linux-amd64.bin;
+        sha256 = "124a5lpcqx3nh3n968rvaca0clj4crfmxlgy2db227vllc2jlj0y";
       }
     else
       abort "jdk requires i686-linux or x86_64 linux";
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
new file mode 100644
index 00000000000..629aec850d8
--- /dev/null
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -0,0 +1,36 @@
+{ fetchurl, stdenv }:
+
+let version = "9.0.1"; in
+stdenv.mkDerivation {
+  name = "mit-scheme-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz";
+    sha256 = "1g2mifrx0bvag0hlrbk81rkrlm1pbn688zw8b9d2i0sl5g2p1ril";
+  };
+
+  preConfigure = "cd src";
+  buildPhase = "./etc/make-liarc.sh --prefix=$out";
+
+  # XXX: The `check' target doesn't exist.
+  doCheck = false;
+
+  meta = {
+    description = "MIT/GNU Scheme, a native code Scheme compiler";
+
+    longDescription =
+      '' MIT/GNU Scheme is an implementation of the Scheme programming
+         language, providing an interpreter, compiler, source-code debugger,
+         integrated Emacs-like editor, and a large runtime library.  MIT/GNU
+         Scheme is best suited to programming large applications with a rapid
+         development cycle.
+      '';
+
+    homepage = http://www.gnu.org/software/mit-scheme/;
+
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 34e12fff18d..fbbaf72fe7d 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-lgcc_s" ;
 
+  # Attempt to fix this error when running "mcs --version":
+  # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image
+  dontStrip = true;
+
   preBuild = "
     makeFlagsArray=(INSTALL=`type -tp install`)
     patchShebangs ./
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
index e229bd0db02..ec47d17ba94 100644
--- a/pkgs/development/compilers/neko/default.nix
+++ b/pkgs/development/compilers/neko/default.nix
@@ -14,9 +14,9 @@ composableDerivation {} ( fixed : {
 
   name = "neko-cvs";
 
-  # REGION AUTO UPDATE:           { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; }
-  src= sourceFromHead "neko-F_01-20-32.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_01-20-32.tar.gz"; sha256 = "785449f6df718fe26b6c87a2b7aa3cc587a72e7127582e6300ce966d97d6d16b"; });
+  # REGION AUTO UPDATE:              { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; }
+  src = sourceFromHead "neko-F_23-45-39.tar.gz"
+               (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_23-45-39.tar.gz"; sha256 = "fc74720da7a80cc6f0f9ea9842df8a5fa78858f742171365fae66f0b9975d228"; });
   # END
 
   # optionally remove apache mysql like gentoo does?
@@ -28,8 +28,12 @@ composableDerivation {} ( fixed : {
     sed -i \
       -e 's@"/usr/include",@${includes}@' \
       src/tools/install.neko
-    sed -i "s@/usr/local@$out@" Makefile
+    sed -i "s@/usr/local@$out@" Makefile vm/load.c
+    # make sure that nekotools boot finds the neko executable and not our wrapper:
     ensureDir $out/{bin,lib}
+
+    sed -i "s@\"neko\"@\".neko-wrapped\"@" src/tools/nekoboot.neko
+    ln -s ./neko bin/.neko-wrapped
   '';
 
   inherit zlib;
@@ -45,12 +49,18 @@ composableDerivation {} ( fixed : {
   # if stripping was done neko and nekoc would be the same. ?!
   dontStrip = 1;
 
+  # neko-wrapped: nekotools boot has to find it. So don't prefix wrapped executable by "."
   postInstall = ''
-    wrapProgram "$out/bin/nekoc" \
-      --set "LD_LIBRARY_PATH" $out/lib/neko \
+    for prog in nekotools nekoc; do
+      wrapProgram "$out/bin/$prog" \
+        --prefix "LD_LIBRARY_PATH" $out/lib/neko
+    done
   
     wrapProgram "$out/bin/neko" \
-      --set "LD_LIBRARY_PATH" $out/lib/neko \
+      --prefix "LD_LIBRARY_PATH" $out/lib/neko
+
+    # create symlink so that nekotools boot finds not wrapped neko-wrapped executable
+    ln -s  ln -s ../../bin/.neko-wrapped $out/lib/neko
   '';
 
   # TODO make them optional and make them work 
diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix
index 2e985f17611..efb90273dc6 100644
--- a/pkgs/development/compilers/sbcl/src-for-default.nix
+++ b/pkgs/development/compilers/sbcl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.0.35";
-   name="sbcl-1.0.35";
-   hash="0iwjaq2a2m2z7ng8sag86vh2l9s2qnw6gv8l0i55qkzpjn9qcb4q";
-   url="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.35/sbcl-1.0.35-source.tar.bz2";
-   advertisedUrl="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.35/sbcl-1.0.35-source.tar.bz2";
+   version="1.0.36";
+   name="sbcl-1.0.36";
+   hash="1idshas1zyqdchwv2mhs4x8vzspyr1f1drwinlhynvx35db7in5v";
+   url="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.36/sbcl-1.0.36-source.tar.bz2";
+   advertisedUrl="http://downloads.sourceforge.net/sbcl/files/sbcl/1.0.36/sbcl-1.0.36-source.tar.bz2";
   
   
 }
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 6dacef9c1c0..3f824786119 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,22 +1,34 @@
 args: with args;
 
+# at runtime, need jre or jdk
+
 stdenv.mkDerivation rec {
-  name = "scala-2.7.1";
+  name = "scala-2.7.7";
 
   src = fetchurl {
-    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.final.tar.gz";
-    sha256 = "3cad113ed7b84f4f009897f6066bee28459e63a1cf1a6d5d56f10f4d1f9819ec";
+    url = "http://www.scala-lang.org/downloads/distrib/files/${name}.final.tgz";
+    md5 = "5d2294d5aab72fec869c0ba666d28b7e";
   };
 
   installPhase = ''
-    mkdir -p $out
+    ensureDir $out
+    rm bin/*.bat
     mv * $out
-    rm -f $out/bin/*.bat
   '';
 
   phases = "unpackPhase installPhase";
 
   meta = {
     description = "Scala is a general purpose programming language";
+    longDescription = ''
+      Scala is a general purpose programming language designed to express
+      common programming patterns in a concise, elegant, and type-safe way.
+      It smoothly integrates features of object-oriented and functional
+      languages, enabling Java and other programmers to be more productive.
+      Code sizes are typically reduced by a factor of two to three when 
+      compared to an equivalent Java application.
+    '';
+    homepage = http://www.scala-lang.org/;
+    license = "BSD";
   };
 }
diff --git a/pkgs/development/compilers/stalin/default.nix b/pkgs/development/compilers/stalin/default.nix
index 37b7baa4382..acae45626a0 100644
--- a/pkgs/development/compilers/stalin/default.nix
+++ b/pkgs/development/compilers/stalin/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libX11 }:
+{ fetchurl, stdenv, ncompress, libX11 }:
 
 stdenv.mkDerivation rec {
   name = "stalin-0.11";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0lz8riccpigdixwf6dswwva6s4kxaz3dzxhkqhcxgwmffy30vw8s";
   };
 
-  buildInputs = [ libX11 ];
+  buildInputs = [ ncompress libX11 ];
 
   buildPhase = '' ./build '';
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     cp README "$out/doc/${name}"
 
     ensureDir "$out/share/${name}/include"
-    cp include/* "$out/share/${name}/include"
+    cp "include/"* "$out/share/${name}/include"
 
     substituteInPlace "$out/bin/stalin" \
       --replace "$PWD/include/stalin" "$out/share/${name}/include/stalin"
@@ -38,5 +38,8 @@ stdenv.mkDerivation rec {
     homepage = http://www.ece.purdue.edu/~qobi/software.html;
     license = "GPLv2+";
     description = "Stalin, an optimizing Scheme compiler";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
new file mode 100644
index 00000000000..b7dc135215c
--- /dev/null
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -0,0 +1,27 @@
+args: with args;
+
+# at runtime, need jdk
+
+stdenv.mkDerivation rec {
+  name = "groovy-1.7.1";
+
+  src = fetchurl {
+    url = "http://dist.groovy.codehaus.org/distributions/groovy-binary-1.7.1.zip";
+    sha256 = "0a204f6835f07e6a079bd4761e70cd5e0c31ebc0c9eb293fda11dfb2d8bf137c";
+  };
+
+  installPhase = ''
+    ensureDir $out
+    rm bin/*.bat
+    mv * $out
+  '';
+
+  phases = "unpackPhase installPhase";
+
+  buildInputs = [unzip];
+
+  meta = {
+    description = "An agile dynamic language for the Java Platform";
+    homepage = http://groovy.codehaus.org/;
+  };
+}
diff --git a/pkgs/development/interpreters/guile/1.9.nix b/pkgs/development/interpreters/guile/1.9.nix
index ef3c9a16f56..94a396446f9 100644
--- a/pkgs/development/interpreters/guile/1.9.nix
+++ b/pkgs/development/interpreters/guile/1.9.nix
@@ -7,11 +7,11 @@
  else stdenv.mkDerivation)
 
 rec {
-  name = "guile-1.9.8";  # This is a beta release!
+  name = "guile-1.9.10";  # This is a beta release!
 
   src = fetchurl {
     url = "ftp://alpha.gnu.org/gnu/guile/${name}.tar.gz";
-    sha256 = "1b8n1dma3fbxf2j3hprl43xnwfs4knqp2g85s5gsq2j1grlmrb5g";
+    sha256 = "0vdvxkwm0xi65cw77a3yzjvwp3s66p2cpgqgqvp8w46r4amv1zpy";
   };
 
   buildInputs =
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index ccf0c53daec..c41c17c6e3c 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -2,34 +2,34 @@
 
 stdenv.mkDerivation rec {
   name = "maude-2.4";
-  
+
   meta = {
     homepage = "http://maude.cs.uiuc.edu/";
     description = "Maude -- a high-level specification language";
     license = "GPLv2";
   };
-  
+
   src = fetchurl {
     url = "http://maude.cs.uiuc.edu/download/current/Maude-2.4.tar.gz";
     sha256 = "0bydkf8fd5v267bfak4mm5lmm3vvnr6ir1jr7gimgyzqygdk0in2";
   };
-  
+
   fullMaude = fetchurl {
     url = "http://maude.cs.uiuc.edu/download/current/FM2.4/full-maude24.maude";
     sha256 = "9e4ebdc717dc968d0b6c1179f360e60b3a39ea8cecc1a7fa49f2105bbddc48c4";
   };
-  
+
   docs = fetchurl {
     url = "http://mirror.switch.ch/mirror/gentoo/distfiles/maude-2.3.0-extras.tar.bz2";
     sha256 = "0kd5623k1wwj1rk4b6halrm3sdvd9kbiwg1hi2c3qim1nlfdgl0d";
   };
-  
+
   buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
-  
+
   configurePhase = ''./configure --disable-dependency-tracking --prefix=$out --datadir=$out/share/maude TECLA_LIBS="-ltecla -lncursesw" CFLAGS="-O3" CXXFLAGS="-O3"'';
-  
+
   doCheck = true;
-  
+
   postInstall =
   ''
     for n in $out/bin/*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
@@ -42,4 +42,6 @@ stdenv.mkDerivation rec {
     mv maude-2.3.0-extras/pdfs $out/share/doc/maude/pdf
     mv maude-2.3.0-extras/* $out/share/doc/maude/
   '';
+
+  maintainers = [ stdenv.lib.maintainers.simons ];
 }
diff --git a/pkgs/development/interpreters/python-new/2.5/default.nix b/pkgs/development/interpreters/python-new/2.5/default.nix
deleted file mode 100644
index d47a063f63b..00000000000
--- a/pkgs/development/interpreters/python-new/2.5/default.nix
+++ /dev/null
@@ -1,682 +0,0 @@
-# the nix-python way..
-
-# By default python looks in the $prefix/lib/python-$version/site-packages directory
-# and reads the .pth files to add the library paths to sys.path. 
-# Using PYHTONPATH is not enough because it doesn't make python read the .pth files
-# telling python where to find additional modules. PYTHONUSERBASE would suffice, but
-# it only supports *one* user location. That's why I've added the new env var NIX_PYTHON_SITES
-# containing a colon separated list of modules telling python where to look
-# for imports and also read the .pth files
-
-# TODO optimize py modules automatically (gentoo has a ebuild function called python_mod_optimize ?)
-
-p: # p = pkgs
-let 
-  inherit (builtins) isAttrs hasAttr;
-  inherit (p) lib fetchurl stdenv getConfig sourceFromHead;
-  inherit (p.composableDerivation) composableDerivation;
-  # withName prevents  nix-env -qa \* from aborting (pythonLibStub is a derivation but hasn't a name)
-  withName = lib.mapAttrs (n : v : if (isAttrs v && (!hasAttr "name" v)) then null else v);
-in
-  withName ( lib.fix ( t : { # t = this attrs
-
-    version = "2.5";
-    versionAttr = "python25";
-
-    # see pythonFull.
-    pythonMinimal = ( (import ./python.nix) {
-      name = "python-${t.version}";
-      inherit composableDerivation;
-      inherit (p) fetchurl stdenv lib bzip2 ncurses;
-      inherit  (p) zlib sqlite db4 readline openssl gdbm;
-    });
-
-    # python wiht all features enabled.
-    # if you really need a stripped version we should add __overides
-    # so that you can replace it the way it's done in all-packages.nix
-    pythonFull = t.pythonMinimal.merge {
-     name = "python-${t.version}-full";
-      cfg = {
-        zlibSupport = true;
-        sqliteSupport = true;
-        db4Support = true;
-        readlineSupport = true;
-        opensslSupport = true;
-        gdbmSupport = true;
-      };
-    };
-
-    # python wrapper. You should install this
-    # It automatically wrapps python adding NIX_PYTHON_SITES so that you can use all the libraries
-    # when running the wrapper from the console.
-    # configuration:
-    # python25 = { wrapperLibs = let p = pkgs.python25New; in [ p.wxPython25 p.name p.name2 ]; }; 
-    # python25 = { wrapperLibs = [ "all" ]; }; # install all libraries provided by this file
-    # TODO: does pydoc find stuff from libraries?
-    pythonWrapper = stdenv.mkDerivation {
-      name = "${t.pythonFull.name}-wrapper";
-      # [1] using full because I feel installing various versions isn't any better
-      phases = "buildPhase";
-      buildInputs = [ p.makeWrapper ] 
-        ++ lib.concatMap (x: if x == "all" then t.all else [x]) (getConfig [t.versionAttr "wrapperLibs"] []);
-
-      buildPhase = ''
-        ensureDir $out/bin
-
-        for prog in python pydoc; do
-          echo ========= prog $prog
-          cat >> $out/bin/$prog << EOF
-          export NIX_PYTHON_SITES=\$NIX_PYTHON_SITES:$NIX_PYTHON_SITES
-          exec ${t.pythonFull}/bin/$prog "\$@"
-        EOF
-          echo chmod +x
-          chmod +x $out/bin/$prog
-        done
-      '';
-    };
-
-    ### basic support for installing python libraries
-    # set pyCheck to a small python snippet importing all modules of this python
-    # lib to verify it works
-    # You can define { python25 { debugCmd = "DISPLAY=:0.0 pathtoxterm"; }
-    # in your config for easier debugging..
-    pythonLibStub = composableDerivation {} {
-        propagatedBuildInputs = [ t.pythonFull ]; # see [1]
-        postPhases = ["postAll"]; # using new name so that you dno't override this phase by accident
-        # ensure phases are run or a non zero exit status is caused (if there are any syntax errors such as eval "while")
-        postAll = ''
-          ensureDir $out/nix-support
-          echo "export NIX_PYTHON_SITES=\"$out:\$NIX_PYTHON_SITES\"" >> $out/nix-support/setup-hook 
-          # run check
-          if [ -n "$pyCheck" ]; then
-             ( . $out/nix-support/setup-hook
-                 mkdir $TMP/new-test; cd $TMP/new-test
-                 echo PYTHONPATH=$PYTHONPATH
-                 echo NIX_PYTHON_SITES=$NIX_PYTHON_SITES
-                 script="$(echo -e "import sys\nprint sys.path\npyCheck\nprint \"check ok\"")"
-                 script="''${script/pyCheck/$pyCheck}"
-                 echo "check script is"; echo "$script"
-                 echo "$script" | python || { ${ getConfig [t.versionAttr "debugCmd"] ":"} ; echo "pycheck failed"; exit 1; }
-             )
-           fi'';
-        passthru = {
-          libPython = t.version; # used to find all python libraries fitting this version (-> see name all below)
-        };
-        mergeAttrBy = {
-          postPhases = lib.concat;
-          pyCheck = x : y : "${x}\n${y}";
-        };
-    };
-
-    # same as pythonLibStub, but runs default python setup.py actions
-    pythonLibSetup = t.pythonLibStub.merge {
-      buildPhase = ''python setup.py $setupFlags build'';
-      installPhase = ''python setup.py $setupFlags install --prefix=$out'';
-      mergeAttrBy = {
-        setupFlags = lib.concat;
-      };
-    };
-
-    ### python libraries:
-
-    wxPythonBaseFun = (t.pythonLibSetup.merge (a :
-      let inherit (a.fixed.passthru) wxGTK;  inherit (a.fixed) version; in
-        {
-          buildInputs = [p.pkgconfig wxGTK (wxGTK.gtk)];
-          setupFlags=["WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=0 BUILD_OGL=0 UNICODE=1"];
-          configurePhase = ''cd wxPython'';
-          pyCheck = "import wx";
-          name = "wxPython-${version}";
-          meta = { # 2.6.x and 2.8.x
-            description="A blending of the wxWindows C++ class library with Python";
-            homepage="http://www.wxpython.org/";
-            license="wxWinLL-3";
-          };
-        }
-    )).merge;
-
-    wxPython26 = t.wxPythonBaseFun {
-      version = "2.6.3.3";
-      passthru = { wxGTK = p.wxGTK26; };
-      src = fetchurl {
-        url = mirror://sourceforge/wxpython/wxPython-src-2.6.3.3.tar.bz2;
-        md5 = "66b9c5f8e20a9505c39dab1a1234daa9";
-      };
-    };
-
-    # compilation errors
-    #wxPython28 = t.wxPythonBaseFun {
-    #  version = "2.8.9.1";
-    #  passthru = { wxGTK = wxGTK28; };
-    #  src = fetchurl {
-    #    url = mirror://sourceforge.net/sourceforge/wxpython/wxPython-src-2.8.9.1.tar.bz2;
-    #    sha256 = "1yp7l2c2lfpwc2x5lk5pawmzq2bqajzhbzqs1p10jd211slwhjsq";
-    #  };
-    #};
-
-    # couldn't download source
-    #foursuite = pythonLibSetup.merge {
-    #  version = "1.0.2";
-    #  name = "4suite-${version}";
-    #  src = fetchurl {
-    #    url = "mirror://sourceforge/foursuite/4Suite-XML-${version}.tar.bz2";
-    #    sha256 = "0g5cyqxhhiqnvqk457k8sb97r18pwgx6gff18q5296xd3zf4cias";
-    #  };
-    #};
-
-    #bsddb3 = t.pythonLibSetup.merge {
-    #  version = "1.0.2";
-    #  name = "bsddb3-4.5.0";
-    #  setupFlags = ["--berkeley-db=${p.db4}"];
-    #  src = fetchurl {
-    #    url = mirror://sourceforge/pybsddb/bsddb3-4.5.0.tar.gz;
-    #    sha256 = "1h09kij32iikr9racp5p7qrb4li2gf2hs0lyq6d312qarja4d45v";
-    #  };
-    #};
-
-  # pyglib contains import reference to pygtk! So its best to install both at
-  # the same time. I don't want to patch this.
-  # You can install both into different store paths, however you won't be able
-  # to import gtk because after pygtk.require sys.path contains to 
-  # /nix/store/*-pygobject/**/gtk-2.0 (should be pygtk/**/gtk-2.0 instead)
-
-  # gnome python is added here as well because it is loaded after
-  # pygtk.require('2.0') as well. So the pygtk lib path is added to sys.path only.
-  # We could make extra derivations for that. But on the other hand that would require
-  # patching pygtk to another */gtk2.0 directory to sys.path for each NIX_PYTHON_SITES.
-  # If you install dozens of python packages this might be bloat.
-  # So  I think the overhead of installing these packages into the same store path should be prefered.
-  pygtkBaseFun = (t.pythonLibStub.merge (a :
-    let inherit (a.fixed.passthru) glib gtk; in lib.mergeAttrsByFuncDefaults [
-    {
-      unpackPhase = "true";
-      configurePhase = "true";
-      patchPhase = "true";
-      buildPhase = "true";
-      installPhase = ''
-        unset unpackPhase
-        unset configurePhase
-        unset buildPhase
-        unset installPhase
-        export G2CONF="--enable-gconf" # hack, should be specified somewhere else
-        for srcs in $pygobjectSrc $pygtkSrc $pySrcs; do
-          cd $TMP; mkdir "$(basename $srcs)"; cd "$(basename $srcs)"; unpackFile $srcs
-          cd *
-          configurePhase; buildPhase; installPhase
-            addToEnv $out # pygtk has to know about pygobject
-            PATH=$out/bin:$PATH # gnome-python nees pygtk-codegen
-        done
-      '';
-      mergeAttrBy = {
-        phases = lib.concat;
-        pySrcs = lib.concat;
-        pyCheck = x : y : "${x}\n${y}";
-      };
-    }
-    # pygobject
-    {
-      flags = {
-        libffi = { buildInputs = [p.libffi];};
-      };
-      cfg = {
-        libffiSupport = true;
-      };
-      pyCheck = "import gobject";
-      passthru = {
-        pygobjectVersion = "2.15.4";
-      };
-      pygobjectSrc = fetchurl {
-        url = "http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.15/pygobject-2.15.4.tar.bz2";
-        sha256 = "19vxczy01xyss2f5aqf93al3jzrxn50srgzkl4w7ivdz50rnjin7";
-      };
-      buildInputs = [ p.glibc ]; # requires ld-config
-
-      propagatedBuildInputs = [ p.pkgconfig glib gtk ];
-    }
-    # pygtk
-    {
-      propagatedBuildInputs = [ t.pycairo ];
-      flags = {
-        cairo = {
-          propagatedBuildInputs = [ p.cairo ];
-          pyCheck = "import cairo";
-        }; # TODO add pyCheck
-        glade = {
-          propagatedBuildInputs = [ p.gnome.libglade ];
-          pyCheck = "from gtk import glade";
-        };
-      };
-      pyCheck = ''
-        import pygtk; pygtk.require('2.0')
-        import gtk
-        import gconf
-      '';
-      cfg = {
-        gladeSupport = true;
-        cairoSupport = true;
-      };
-    }
-    # gnome-python
-    {
-      #name = "gnome-python-2.22.3";
-      buildInputs = [ p.pkgconfig  p.gnome.libgnome ];
-      propagatedBuildInputs = [ p.gnome.GConf ];
-      pySrcs = [(fetchurl {
-        url = http://ftp.gnome.org/pub/GNOME/sources/gnome-python/2.22/gnome-python-2.22.3.tar.bz2;
-        sha256 = "0ndm3cns9381mm6d8jxxfd931fk93nqfcszy38p1bz501bs3wxm1";
-      })];
-    }
-    # gnome-desktop or gnome-python-extras desktop containing egg.trayicon needed by istanbul
-    {
-      # name = "gnome-desktop-2.24.0";
-      buildInputs = [ p.pkgconfig ];
-      propagatedBuildInputs = [ p.gnome.GConf ];
-      pySrcs = [(fetchurl {
-        url = http://ftp.gnome.org/pub/GNOME/sources/gnome-python-desktop/2.24/gnome-python-desktop-2.24.0.tar.bz2;
-        sha256 = "16514gmv42ygjh5ggzsis697m73pgg7ydz11h487932kkzv4mmlg";
-      })];
-      pyCheck = "import egg.trayicon";
-    }
-    {
-      # name = "gnome-python-extras-2.13";
-      buildInputs = [ p.pkgconfig ];
-      propagatedBuildInputs = [ p.gnome.GConf ];
-      pySrcs = [(fetchurl {
-        url = http://ftp.gnome.org/pub/GNOME/sources/gnome-python-extras/2.13/gnome-python-extras-2.13.3.tar.gz;
-        sha256 = "0vj0289snagrnvbmrs1camwmrc93xgpw650iavj6mq7a3wqcra0b";
-      })];
-    }
-  ]));
-
-  #pygtk213 = t.pygtkBaseFun {
-  #  version = "2.13.0";
-  #  pygtkSrc = fetchurl {
-  #    url = http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.13/pygtk-2.13.0.tar.bz2;
-  #    sha256 = "0644ll48hi8kwfng37b0k5qgb0fbiy298r7sxd4j7ag7lj4bgic0";
-  #  };
-  #  passthru = { inherit (p.gtkLibs) glib gitk; };
-  #  pyCheck = ''
-  #    import pygtk; pygtk.require('2.0')
-  #    import gtk
-  #  '';
-  #};
-
-  pygtk212 = t.pygtkBaseFun.merge (a : {
-    version = "2.12.1";
-    name = "pygobject-${a.fixed.passthru.pygobjectVersion}-and-pygtk-${a.fixed.version}";
-    pygtkSrc = fetchurl { 
-      url = http://ftp.acc.umu.se/pub/GNOME/sources/pygtk/2.12/pygtk-2.12.1.tar.bz2;
-      sha256 = "0gg13xgr7y9sppw8bdys042928nc66czn74g60333c4my95ys021";
-    };
-    passthru = { inherit (p.gtkLibs) glib gtk; };
-    pyCheck = ''
-      import pygtk; pygtk.require('2.0')
-      import gtk
-    '';
-  });
-
-  pycairo = t.pythonLibStub.merge {
-    name = "pycairo-1.8.0";
-    buildInputs = [ p.pkgconfig p.cairo p.x11 ];
-    src = fetchurl {
-      url = http://www.cairographics.org/releases/pycairo-1.6.4.tar.gz;
-      md5 = "2c3aa21e6e610321498f9f81f7b625df";
-    };
-    pyCheck = "import cairo";
-  };
-
-  gstPython = t.pythonLibStub.merge {
-    name = "gst-python-0.10.13";
-    src = fetchurl {
-      url = http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.13.tar.gz;
-      sha256 = "0yin36acr5ryfpmhlb4rlagabgxrjcmbpizwrc8csadmxzmigb86";
-    };
-    buildInputs =[ p.flex2535 p.pkgconfig];
-    flags = {
-      pluginsGood = { propagatedBuildInputs = [p.gst_all.gstPluginsGood]; };
-      ffmpeg = { propagatedBuildInputs = [p.gst_all.gstFfmpeg]; };
-    };
-    cfg = {
-      pluginsGoodSupport = true;
-      ffmpegSupport = true;
-    };
-    propagatedBuildInputs = [
-          t.pygtk212
-          p.gst_all.gstreamer
-          p.gst_all.gstPluginsBase
-          p.gst_all.gnonlin
-        ];
-    # this check fails while building: It succeeds running as normal user
-    /*
-    Traceback (most recent call last):
-      File "<stdin>", line 5, in <module>
-      File "/nix/store/hnc51h035phlk68i1qmr5a8kc73dfvhp-gst-python-0.10.13/lib/python2.5/site-packages/gst-0.10/gst/__init__.py", line 170, in <module>
-        from _gst import *
-    RuntimeError: can't initialize module gst: Error re-scanning registry , child terminated by signal
-    */
-    pyCheck = ''
-      #import pygst
-      #pygst.require('0.10')
-      #import gst
-    '';
-    meta = {
-      description = "python gstreamer bindings";
-      homepage = http://gstreamer.freedesktop.org/modules/gst-python.html;
-      license = "GPLv2.1";
-    };
-  };
-
-  pygoocanvas = t.pythonLibStub.merge {
-    src = p.fetchurl {
-      url = http://download.berlios.de/pygoocanvas/pygoocanvas-0.10.0.tar.gz;
-      sha256 = "0pxznzdscbhvn8102vrqy3r1g6ss4sgs8wwy6y4c5g26rrp7l55d";
-    };
-    propagatedBuildInputs = [ t.pygtk212 ];
-    buildInputs = [ p.pkgconfig p.goocanvas ];
-    pyCheck = "import goocanvas";
-    name = "pygoocanvas-0.10.0";
-    meta = {
-      description = "";
-      homepage = http://developer.berlios.de/projects/pygoocanvas/;
-      license = "LGPL";
-    };
-  };
-
-  setuptools = t.pythonLibSetup.merge {
-    name = "setuptools-0.6c9";
-    postUnpack = ''
-      ensureDir $out/lib/python2.5/site-packages
-      export PYTHONPATH="$out/lib/python${t.version}/site-packages" # shut up installation script
-
-      # setuptools tries to write to the installation location, so ensure it exists
-      # and it requires PYTHONPATH to be set to that location (maybe its better to patch it. - I'm lazy)
-      ensureDir $out/nix-support
-      cat >> $out/nix-support/setup-hook << EOF
-      ensureDir \$out/lib/python${t.version}/site-packages
-      export PYTHONPATH="\$out/lib/python${t.version}/site-packages" # shut up installation script
-      EOF
-    '';
-    src = p.fetchurl {
-      url = "http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c9.tar.gz";
-      md5 = "3864c01d9c719c8924c455714492295e";
-    };
-  };
-
-  zopeInterface = t.pythonLibSetup.merge rec {
-    version = "3.3.0";
-    name = "zope.interface-${version}";
-    buildInputs = [ t.setuptools ];
-    src = p.fetchurl {
-      url = "http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-${version}.tar.gz";
-      sha256 = "0xahg9cmagn4j3dbifvgzbjliw2jdrbf27fhqwkdp8j80xpyyjf0";
-    };
-    pyCheck = "from zope.interface import Interface, Attribute";
-  };
-
-  dbusPython = t.pythonLibStub.merge rec {
-    version = "0.83.0";
-    name = "dbus-python-0.83.0";
-    buildInputs = [ p.pkgconfig ];
-    propagatedBuildInputs = [ p.dbus p.dbus_glib ];
-    src = fetchurl {
-      url = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.83.0.tar.gz";
-      sha256 = "14b1fwq9jyvg9qbbrmpk1264s9shm9n638hsgmkh9fn2lmd1vpc9";
-    };
-    pyCheck = "import dbus";
-    meta = { 
-      description = "";
-      homepage = http://freedesktop.org/wiki/Software/DBusBindings;
-      license = [ "GPLv2" "AFL-2.1" ];
-    };
-  };
-
-  pythonXlib = t.pythonLibSetup.merge {
-    name = "python-xlib-0.14";
-    src = fetchurl {
-      url = http://puzzle.dl.sourceforge.net/sourceforge/python-xlib/python-xlib-0.14.tar.gz;
-      sha256 = "1sv0447j0rx8cgs3jhjl695p5pv13ihglcjlrrz1kq05lsvb0wa7";
-    };
-    meta = {
-      description = "tries to be a fully functional X client library beeing entirely written in python";
-      license = [ "GPL" ];
-      homepage = http://python-xlib.sourceforge.net/;
-    };
-  };
-
-  mechanize = t.pythonLibSetup.merge {
-    name = "mechanize-0.1.11";
-    buildInputs = [ t.setuptools ];
-    src = fetchurl {
-      url = http://wwwsearch.sourceforge.net/mechanize/src/mechanize-0.1.11.tar.gz;
-      sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2";
-    };
-    meta = {
-      description = "Stateful programmatic web browsing in Python, after Andy Lester's Perl module WWW::Mechanize";
-      homepage = http://wwwsearch.sourceforge.net/mechanize/;
-      license = ["BSD" "ZPL 2.1"];
-    };
-    pyCheck = "from mechanize import Browser";
-  };
-
-  pexpect = t.pythonLibSetup.merge {
-    name = "pexpect-2.3";
-    src = fetchurl {
-      url = mirror://sourceforge/pexpect/pexpect-2.3.tar.gz;
-      sha256 = "0x8bfjjqygriry1iyygm5048ykl5qpbpzqfp6i8dhkslm3ryf5fk";
-    };
-    meta = {
-      description = "tcl expect as python library";
-      homepage = http://www.noah.org/wiki/Pexpect;
-      license = "MIT";
-    };
-  };
-
-  # unmantained ? (gentoo/ debian even do have python-3* patches)
-  pyxml = t.pythonLibSetup.merge {
-    name = "pyxml-0.8.4";
-    src = fetchurl {
-      url = mirror://sourceforge/pyxml/PyXML-0.8.4.tar.gz;
-      sha256 = "04wc8i7cdkibhrldy6j65qp5l75zjxf5lx6qxdxfdf2gb3wndawz";
-    };
-    meta = { 
-      description = "python xml package";
-      homepage = http://sourceforge.net/projects/pyxml/;
-      license = "Python License"; # (CNRI Python License);
-    };
-  };
-
-  /*
-  # untested
-  libxml2dom = t.pythonLibSetup.merge {
-    name = "libxml2dom-0.4.7";
-    buildInputs = [ p.libxml2 ];
-    src = fetchurl {
-      url = http://www.boddie.org.uk/python/downloads/libxml2dom-0.4.7.tar.gz;
-      sha256 = "0zh68adxn4l4b6q99jl1pi00171ah2marbbs8qfww4wpjavfw844";
-    };
-    pyCheck = "import libxml2dom.svg";
-    meta = {
-      description = "provides a traditional DOM wrapper around the Python bindings for libxml2";
-      homepage = http://www.boddie.org.uk/python/libxml2dom.html;
-      license = "LGPL3+";
-    };
-  };
-  */
-
-  fpconst = t.pythonLibSetup.merge {
-    name = "fpconst-0.7.3";
-    pyCheck = "import fpconst";
-    src = fetchurl {
-      url="mirror://sourceforge/rsoap/fpconst-0.7.3.tar.gz";
-      sha256 = "1a5c2e4a1ecefd9981988cea15068699eccbc55e350af3471e782083d390c727";
-    };
-    meta = {
-      description="Python Module for handling IEEE 754 floating point special values";
-      homepage="http://chaco.bst.rochester.edu:8080/statcomp/projects/RStatServer/fpconst/";
-      license = "GPLv2";
-    };
-  };
-
-  soappy = t.pythonLibSetup.merge {
-    name = "soappy-0.12";
-    pyCheck = "from SOAPpy import WSDL";
-    propagatedBuildInputs = [ t.fpconst ];
-    # REGION AUTO UPDATE:   { name="pywebcvs"; type = "svn"; url = "https://pywebsvcs.svn.sourceforge.net/svnroot/pywebsvcs/trunk"; }
-    src = sourceFromHead "pywebcvs-1493.tar.gz"
-                 (fetchurl { url = "http://mawercer.de/~nix/repos/pywebcvs-1493.tar.gz"; sha256 = "54e9faca87d8a59a22e06374b8416555cf76d3f411fa2be168ad542c2d8e6fc1"; });
-    # END
-    postUnpack = "sourceRoot=$sourceRoot/SOAPpy";
-    /* The release is buggy. I can't get list of dedicated netboots from ovh ?
-    src = fetchurl {
-      url = "http://switch.dl.sourceforge.net/sourceforge/pywebsvcs/SOAPpy-0.12.0.tar.gz";
-      sha256 = "02a0wpir0gl0n9cl7a5hxliwsywvcw847i5in7i14i57kk6dl7rd";
-    };
-    patches = [ ./gentoo-python-2.5-compat.patch ];
-    */
-    meta = {
-      description = "SOAP implementation for Python";
-      homepage="http://pywebsvcs.sourceforge.net/";
-      license = "BSD";
-    };
-  };
-
-  sqlalchemy05 = t.pythonLibSetup.merge {
-    name = "sqlalchemy-0.5.5-svn-trunk";
-    pyCheck = ''
-      import sqlalchemy
-      import sqlalchemy.orm
-      import sqlalchemy.orm.collections
-    '';
-    # REGION AUTO UPDATE:   { name="sqlalchemy05"; type = "svn"; url="http://svn.sqlalchemy.org/sqlalchemy/trunk"; }
-    src = sourceFromHead "sqlalchemy05-6076.tar.gz"
-                 (fetchurl { url = "http://mawercer.de/~nix/repos/sqlalchemy05-6076.tar.gz"; sha256 = "f35e6475996f7591d49affbc935c40b4c93e4cdaff86a50af9321774de2025b2"; });
-    # END
-    meta = { 
-      description = "sql orm wrapper for python";
-      homepage = http://www.sqlalchemy.org;
-      license = "MIT";
-    };
-    postPhases = ["installMigration"];
-
-    buildInputs = [ t.setuptools /* required for migration lib */ ];
-
-    /* impure ? I don't care right now
-      Reading http://pypi.python.org/simple/decorator/
-      Reading http://www.phyast.pitt.edu/~micheles/python/documentation.html
-      Best match: decorator 3.0.1
-      Downloading http://pypi.python.org/packages/source/d/decorator/decorator-3.0.1.tar.gz#md5=c4130a467be7f71154976c84af4a04c6
-
-      iElectric: column.alter could be broken ..
-    */
-    installMigration =
-    let src = {
-      # REGION AUTO UPDATE:   { name="sqlalchemyMigrate"; type = "svn"; url="http://sqlalchemy-migrate.googlecode.com/svn/trunk"; }
-      src = sourceFromHead "sqlalchemyMigrate-569.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/sqlalchemyMigrate-569.tar.gz"; sha256 = "3b076b33aa13bb2923e719489fd7988a5660bd8d8e87dac03f453b510e2695f4"; });
-      # END
-    }.src; in
-    ''
-      cd $TMP
-      mkdir migrate
-      cd migrate
-      unpackFile ${src}
-      cd *
-      python setup.py $setupFlags build
-      python setup.py $setupFlags install --prefix=$out
-      echo "import migrate.changeset.schema" | python
-    '';
-
-      /*
-
-      mv $out/lib/python2.5/site-packages/sqlalchemy_migrate-0.5.5.dev_r0-py2.5.egg/* \
-         $out/lib/python2.5/site-packages
-         */
-  };
-
-  /* doesn't work on its own, its included in sqlalchemy05 for that reason.
-  sqlalchemyMigrate = t.pythonLibSetup.merge {
-    name = "sqlalchemy-migrate-svn";
-    buildInputs = [ t.setuptools t.sqlalchemy05 ];
-    pyCheck = ''
-      import migrate
-      import migrate.changeset
-      import migrate.changeset.schema
-    '';
-    # REGION AUTO UPDATE:   { name="sqlalchemyMigrate"; type = "svn"; url="http://sqlalchemy-migrate.googlecode.com/svn/trunk"; }
-    src = sourceFromHead "sqlalchemyMigrate-569.tar.gz"
-                 (fetchurl { url = "http://mawercer.de/~nix/repos/sqlalchemyMigrate-569.tar.gz"; sha256 = "2bfbd41e31c9dce4434ca4cb209338ccef1fd0394999b18111be838b79db703b"; });
-    # END
-    meta = { 
-      description = "sqlalchemy database versioning and scheme migration";
-      homepage = http://packages.python.org/sqlalchemy-migrate/download.html;
-      license = "MIT";
-    };
-  };
-  */
-
-  ### python applications
-
-  pythonExStub = composableDerivation {} {
-    buildInputs = [p.makeWrapper];
-    postPhases = ["wrapExecutables"];
-    propagatedBuildInputs = [ t.pythonFull ]; # see [1]
-
-    # adding $out to NIX_PYTHON_SITES because some of those executables seem to come with extra libs
-    wrapExecutables = ''
-      for prog in $out/bin/*; do
-      wrapProgram "$prog" \
-                   --set NIX_PYTHON_SITES "$NIX_PYTHON_SITES:$out" \
-                   --set PYTHONPATH "\$PYTHONPATH:$out"
-      done
-    '';
-  };
-
-  pitivi = t.pythonExStub.merge {
-    name = "pitivi-0.11.2";
-    src = fetchurl {
-      url = http://ftp.gnome.org/pub/GNOME/sources/pitivi/0.11/pitivi-0.11.2.tar.bz2;
-      sha256 = "0d3bqgfp60qm5bf904k477bd8jhxizj1klv84wbxsz9vhjwx9zcl";
-    };
-    buildInputs = [ t.pygtk212 t.gstPython t.pygoocanvas t.zopeInterface t.dbusPython
-      p.intltool p.gettext p.makeWrapper p.gettext ];
-    # why do have to add gtk-2.0 explicitely?
-    meta = {
-        description = "A non-linear video editor using the GStreamer multimedia framework";
-        homepage = http://www.pitivi.org/wiki/Downloads;
-        license = "LGPL-2.1";
-    };
-    postInstall = ''
-      # set the python which has been used to compile this package
-      sed -i -e 's@#!.*@#!'"$(which python)@" $out/bin/pitivi
-    '';
-  };
-
-  istanbul = t.pythonExStub.merge {
-    name = "istanbul-0.2.2";
-    buildInputs = [ t.pygtk212 t.gstPython /*t.gnomePython (contained in gtk) t.gnomePythonExtras */ t.pythonXlib
-      p.perl p.perlXMLParser p.gettext];
-    # gstPython can't be imported when building (TODO).. so just run true instead of python
-    configurePhase = ''./configure --prefix=""''; # DESTDIR is set below
-    postUnpack = ''
-      sed -i 's/$PYTHON/true/' istanbul-0.2.2/configure
-      mkdir -p $out/bin
-      export DESTDIR="$out"
-    '';
-    src = fetchurl {
-      url = http://zaheer.merali.org/istanbul-0.2.2.tar.bz2;
-      sha256 = "1mdc82d0xs9pyavs616bz0ywq3zwy3h5y0ydjl6kvcgixii29aiv";
-    };
-    postInstall = "chmod a+x $out/bin/istanbul";
-    meta = {
-      description = "A non-linear video editor using the GStreamer multimedia framework";
-      homepage = http://live.gnome.org/Istanbul;
-      license = "LGPLv2";
-    };
-  };
-
-  all = lib.filter (x:
-                   (isAttrs x)
-                && ((lib.maybeAttr "libPython" false x) == t.version)
-                && (lib.maybeAttr "name" false x != false) # don't collect pythonLibStub etc
-        ) (lib.flattenAttrs (removeAttrs t ["all"])); # nix is not yet lazy enough, so I've to remove all first
-}))
diff --git a/pkgs/development/interpreters/python-new/2.5/gentoo-python-2.5-compat.patch b/pkgs/development/interpreters/python-new/2.5/gentoo-python-2.5-compat.patch
deleted file mode 100644
index 60c65faf015..00000000000
--- a/pkgs/development/interpreters/python-new/2.5/gentoo-python-2.5-compat.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/SOAPpy/Client.py b/SOAPpy/Client.py
-index 7437049..13ba160 100644
---- a/SOAPpy/Client.py
-+++ b/SOAPpy/Client.py
-@@ -40,11 +40,11 @@
- ################################################################################
- """
- 
-+from __future__ import nested_scopes
-+
- ident = '$Id: Client.py,v 1.27 2005/02/21 20:27:09 warnes Exp $'
- from version import __version__
- 
--from __future__ import nested_scopes
--
- #import xml.sax
- import urllib
- from types import *
-diff --git a/SOAPpy/GSIServer.py b/SOAPpy/GSIServer.py
-index 48c1303..c7ad13d 100644
---- a/SOAPpy/GSIServer.py
-+++ b/SOAPpy/GSIServer.py
-@@ -43,11 +43,11 @@ GSIServer - Contributed by Ivan R. Judson <judson@mcs.anl.gov>
- ################################################################################
- """
- 
-+from __future__ import nested_scopes
-+
- ident = '$Id: GSIServer.py,v 1.5 2005/02/15 16:32:22 warnes Exp $'
- from version import __version__
- 
--from __future__ import nested_scopes
--
- #import xml.sax
- import re
- import socket
-diff --git a/SOAPpy/Server.py b/SOAPpy/Server.py
-index b28153d..76ce0b4 100644
---- a/SOAPpy/Server.py
-+++ b/SOAPpy/Server.py
-@@ -40,11 +40,11 @@
- ################################################################################
- """
- 
-+from __future__ import nested_scopes
-+
- ident = '$Id: Server.py,v 1.21 2005/02/15 16:32:22 warnes Exp $'
- from version import __version__
- 
--from __future__ import nested_scopes
--
- #import xml.sax
- import re
- import socket
-diff --git a/SOAPpy/Types.py b/SOAPpy/Types.py
-index 6cc5456..62d44b2 100644
---- a/SOAPpy/Types.py
-+++ b/SOAPpy/Types.py
-@@ -33,11 +33,11 @@
- ################################################################################
- """
- 
-+from __future__ import nested_scopes
-+
- ident = '$Id: Types.py,v 1.19 2005/02/22 04:29:43 warnes Exp $'
- from version import __version__
- 
--from __future__ import nested_scopes
--
- import UserList
- import base64
- import cgi
diff --git a/pkgs/development/interpreters/python-new/2.5/nix-find-sites-2.5.patch b/pkgs/development/interpreters/python-new/2.5/nix-find-sites-2.5.patch
deleted file mode 100644
index c856429b630..00000000000
--- a/pkgs/development/interpreters/python-new/2.5/nix-find-sites-2.5.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/site.py    2008-11-19 14:48:49.000000000 +0100
---- Python-2.5-orig/Lib/site.py	2008-05-10 19:36:24.000000000 +0200
-+++ Python-2.5/Lib/site.py	2008-11-17 05:37:02.000000000 +0100
-@@ -390,6 +390,20 @@
-     except ImportError:
-         pass
- 
-+def addnixsitepackages(known_paths):
-+    """
-+    used to add multiple site packages for /nix/store to sys.path also
-+    evaluating the .pth files (http://docs.python.org/library/site.html#module-site)
-+    """
-+    env_nix_sites = os.environ.get("NIX_PYTHON_SITES", None)
-+    if env_nix_sites:
-+      for path in env_nix_sites.split(":"):
-+        
-+          NIX_SITE = os.path.join(path, "lib",
-+                                 "python" + sys.version[:3],
-+                                 "site-packages")
-+          addsitedir(NIX_SITE, known_paths)
-+    return known_paths
- 
- def main():
-     abs__file__()
-@@ -400,6 +414,7 @@
-     paths_in_sys = addsitepackages(paths_in_sys)
-     if sys.platform == 'os2emx':
-         setBEGINLIBPATH()
-+    paths_in_sys = addnixsitepackages(paths_in_sys)
-     setquit()
-     setcopyright()
-     sethelper()
-
diff --git a/pkgs/development/interpreters/python-new/2.5/python.nix b/pkgs/development/interpreters/python-new/2.5/python.nix
deleted file mode 100644
index 932d29b4084..00000000000
--- a/pkgs/development/interpreters/python-new/2.5/python.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-args: with args;
-let inherit (lib) optional prepareDerivationArgs concatStringsSep fix;  in
-
-composableDerivation {
-  mkDerivation = attr : stdenv.mkDerivation ( attr // {
-      C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") attr.buildInputs);
-      LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") attr.buildInputs);
-    });
-  } {
-
-    postPhases = ["runCheck"];
-
-    mergeAttrBy = { pyCheck = x : y : "${x}\n${y}"; };
-
-    # should be last because it sources setup-hook of this package itself
-    runCheck = ''
-      PATH=$out/bin:$PATH; . $out/nix-support/setup-hook;
-      echo -e "import sys\n$pyCheck\nprint \"import pyCheck ok\"" | python
-    '';
-
-    inherit (args) name;
-
-    # everything can be overriden by composedArgsAndFun additional args 
-    # assuming that if a module can be loaded that it does also work..
-    flags = {
-      zlib = { buildInputs = [ zlib ]; pyCheck = "import zlib"; };
-      gdbm = { buildInputs = [ gdbm ]; pyCheck = "import gdbm"; };
-      sqlite = { buildInputs = [ sqlite ]; pyCheck = "import sqlite3"; };
-      db4 = { buildInputs = [ db4 ]; }; # TODO add pyCheck
-      readline = { buildInputs = [ readline ]; }; # doesn't work yet (?)
-      openssl = { buildInputs = [ openssl ]; pyCheck ="import socket\nsocket.ssl"; };
-    };
-
-    src = fetchurl {
-      url = http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2;
-      sha256 = "0gh8bvs56vdv8qmlfmiwyczjpldj0y3zbzd0zyhyjfd0c8m0xy7j";
-    };
-
-    configureFlags = ["--enable-shared" "--with-wctype-functions"];
-
-    buildInputs =
-      optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-      [bzip2 ncurses];
-
-    patches = [
-      # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
-      ./search-path.patch
-
-
-      # make python know about libraries reading .pth files
-      # http://docs.python.org/library/site.html#module-site
-      # TODO: think about security (see the other code contained in site.py)
-      ./nix-find-sites-2.5.patch
-    ];
-
-    preConfigure = ''
-      # Purity.
-      for i in /usr /sw /opt /pkg; do 
-        substituteInPlace ./setup.py --replace $i /no-such-path
-      done
-      export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
-    '';
-    
-    postInstall = "
-      rm -rf $out/lib/python2.5/test
-    ";
-
-  }
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 2d607926a23..88e9c32a808 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -22,7 +22,7 @@ with stdenv.lib;
 let
 
   majorVersion = "2.6";
-  version = "${majorVersion}.4";
+  version = "${majorVersion}.5";
 
   buildInputs =
     optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
@@ -48,7 +48,7 @@ stdenv.mkDerivation ( {
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
-    sha256 = "dad8d5575144a210d5cc4fdbc40b8a26386e9cdb1ef58941bec0be02c7cb9d89";
+    sha256 = "62da62eb685621ede2be1275f11b89fa0e0be578db8daa5320d0a7855c0a9ebc";
   };
 
   patches = [
diff --git a/pkgs/development/interpreters/python/3.1/default.nix b/pkgs/development/interpreters/python/3.1/default.nix
new file mode 100644
index 00000000000..8f3a94e137e
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.1/default.nix
@@ -0,0 +1,95 @@
+{ stdenv, fetchurl, zlib ? null, zlibSupport ? true, bzip2
+, gdbmSupport ? true, gdbm ? null
+, sqlite ? null
+, db4 ? null
+, readline ? null
+, openssl ? null
+, tk ? null
+, tcl ? null
+, libX11 ? null
+, xproto ? null
+, arch ? null
+, sw_vers ? null
+}:
+
+# I haven't spend much time on this derivation. So some of these settings may not apply to python-3.1
+# 
+
+assert zlibSupport -> zlib != null;
+assert gdbmSupport -> gdbm != null;
+assert stdenv.isDarwin -> arch != null;
+assert stdenv.isDarwin -> sw_vers != null;
+
+with stdenv.lib;
+
+let
+
+  majorVersion = "3.1";
+  version = "${majorVersion}.1";
+
+  buildInputs =
+    optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
+    [bzip2]
+    ++ optional zlibSupport zlib
+    ++ optional gdbmSupport gdbm
+    ++ optional (sqlite != null) sqlite
+    ++ optional (db4 != null) db4
+    ++ optional (readline != null) readline
+    ++ optional (openssl != null) openssl
+    ++ optional (tk != null) tk
+    ++ optional (tcl != null) tcl
+    ++ optional (libX11 != null) libX11
+    ++ optional (xproto != null) xproto
+    ++ optional (arch != null) arch
+    ++ optional (sw_vers != null) sw_vers
+    ;
+
+in
+
+stdenv.mkDerivation ( {
+  name = "python-${version}";
+
+  src = fetchurl {
+    url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
+    sha256 = "1zai7damkpbzwgflrm3rc9r024kb2iiqwasb2b0kmpmsi9bw4z6q";
+  };
+
+  patches = [
+    # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
+    ./search-path.patch
+  ];
+
+  inherit buildInputs;
+  C_INCLUDE_PATH = concatStringsSep ":" (map (p: "${p}/include") buildInputs);
+  LIBRARY_PATH = concatStringsSep ":" (map (p: "${p}/lib") buildInputs);
+  configureFlags = "--enable-shared --with-threads --enable-unicode --with-wctype-functions";
+
+  preConfigure = ''
+    # Purity.
+    for i in /usr /sw /opt /pkg; do
+      substituteInPlace ./setup.py --replace $i /no-such-path
+    done
+  '' + (if readline != null then ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
+  '' else "");
+
+  setupHook = ./setup-hook.sh;
+
+  postInstall = ''
+    rm -rf "$out/lib/python${majorVersion}/test"
+  '';
+
+  passthru = {
+    inherit zlibSupport;
+    sqliteSupport = sqlite != null;
+    db4Support = db4 != null;
+    readlineSupport = readline != null;
+    opensslSupport = openssl != null;
+    tkSupport = (tk != null) && (tcl != null);
+    libPrefix = "python${majorVersion}";
+  };
+
+  meta = {
+    platforms = stdenv.lib.platforms.all;
+  };
+} // (if stdenv.isDarwin then { NIX_CFLAGS_COMPILE = "-msse2" ; patches = [./search-path.patch]; } else {} ) )
diff --git a/pkgs/development/interpreters/python-new/2.5/search-path.patch b/pkgs/development/interpreters/python/3.1/search-path.patch
index 8fcddcb3f8d..2e7b7526c0c 100644
--- a/pkgs/development/interpreters/python-new/2.5/search-path.patch
+++ b/pkgs/development/interpreters/python/3.1/search-path.patch
@@ -25,4 +25,3 @@ diff -rc Python-2.4.4-orig/setup.py Python-2.4.4/setup.py
           # OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
           if platform in ['osf1', 'unixware7', 'openunix8']:
               lib_dirs += ['/usr/ccs/lib']
-
diff --git a/pkgs/development/interpreters/python/3.1/setup-hook.sh b/pkgs/development/interpreters/python/3.1/setup-hook.sh
new file mode 100644
index 00000000000..290525c3571
--- /dev/null
+++ b/pkgs/development/interpreters/python/3.1/setup-hook.sh
@@ -0,0 +1,15 @@
+addPythonPath() {
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python2.6/site-packages
+}
+
+toPythonPath() {
+    local paths="$1"
+    local result=
+    for i in $paths; do
+        p="$i/lib/python2.6/site-packages"
+        result="${result}${result:+:}$p"
+    done
+    echo $result
+}
+
+envHooks=(${envHooks[@]} addPythonPath)
diff --git a/pkgs/development/interpreters/ruby/libs.nix b/pkgs/development/interpreters/ruby/libs.nix
index 1b135b2b747..7f128c4322c 100644
--- a/pkgs/development/interpreters/ruby/libs.nix
+++ b/pkgs/development/interpreters/ruby/libs.nix
@@ -33,9 +33,10 @@ let libs =
     # either the nameNoVersion or name must match
     patches = {
       sup = {
-        buildInputs = [ pkgs.ncurses pkgs.xapianBindings ];
+        buildInputs = [ pkgs.ncurses pkgs.xapianBindings libs.ncursesw ];
       };
       ncurses = { buildInputs = [ pkgs.ncurses ]; };
+      ncursesw = { buildInputs = [ pkgs.ncurses ]; };
       nokogiri = {
         buildFlags=["--with-xml2-dir=${pkgs.libxml2} --with-xml2-include=${pkgs.libxml2}/include/libxml2"
                     "--with-xslt-dir=${pkgs.libxslt}" ];
@@ -80,6 +81,10 @@ let libs =
           cat ${patch} | gunzip | patch -p 1;
         '';
       };
+
+      xapian_full = {
+        buildInputs = [ libs.rake pkgs.zlib pkgs.libuuid ];
+      };
     };
 
     rubyDerivation = args :
@@ -118,7 +123,7 @@ let libs =
 
               for prog in $out/bin/*; do
                 wrapProgram "$prog" \
-                  --prefix RUBYLIB : "$RUBYLIB" \
+                  --prefix RUBYLIB : "$RUBYLIB":${rubygems}/lib \
                   --prefix GEM_PATH : "$GEM_PATH" \
                   --set RUBYOPT 'rubygems'
               done
@@ -150,38 +155,38 @@ let libs =
 
   # ================ START automatically generated code ================
          # WARNING: automatically generated CODE
-         # This section has been generated by gem nix sup chronic rubygems-update xrefresh-server rb-inotify jeweler
+         # This section has been generated by gem nix sup chronic rubygems-update xrefresh-server rb-inotify jeweler ncursesw
          # the gem nix command has been added by a nix patch to ruby gems
       
-  rake_0_8_7 = rubyDerivation {
-     name = "ruby-rake-0.8.7"; # full_name
-     nameNoVersion = "rake";
+  json_pure_1_2_4 = rubyDerivation {
+     name = "ruby-json_pure-1.2.4"; # full_name
+     nameNoVersion = "json_pure";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rake-0.8.7.gem";
-       sha256 = "03z1zm7xwl2r9v945ambwbd9sn2smbi34xldmac7qjcmsvd7pcqh";
+       url = "http://gems.rubyforge.org/gems/json_pure-1.2.4.gem";
+       sha256 = "1j3lwa20659qb5rvsnzxd6qlr0m56fyppgdhxc7v4phdsw3im4bp";
      };
      meta = {
-       homepage = "http://rake.rubyforge.org";
+       homepage = "http://flori.github.com/json";
        license = []; # one of ?
-       description = "Rake is a Make-like program implemented in Ruby[...]";
-       longDescription = "Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.";
+       description = "This is a JSON implementation in pure Ruby[...]";
+       longDescription = "This is a JSON implementation in pure Ruby.";
      };
   };
 
-  ferret_0_11_6 = rubyDerivation {
-     name = "ruby-ferret-0.11.6"; # full_name
-     nameNoVersion = "ferret";
+  rake_0_8_7 = rubyDerivation {
+     name = "ruby-rake-0.8.7"; # full_name
+     nameNoVersion = "rake";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/ferret-0.11.6.gem";
-       sha256 = "0q0zdrmfm41ijf1n19s85vg34b1a558x5cnwmbb8fc8kzxklzbih";
+       url = "http://gems.rubyforge.org/gems/rake-0.8.7.gem";
+       sha256 = "03z1zm7xwl2r9v945ambwbd9sn2smbi34xldmac7qjcmsvd7pcqh";
      };
      meta = {
-       homepage = "http://ferret.davebalmain.com/trac";
+       homepage = "http://rake.rubyforge.org";
        license = []; # one of ?
-       description = "Ferret is a port of the Java Lucene project[...]";
-       longDescription = "Ferret is a port of the Java Lucene project. It is a powerful indexing and search library.";
+       description = "Rake is a Make-like program implemented in Ruby[...]";
+       longDescription = "Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.";
      };
   };
 
@@ -201,16 +206,32 @@ let libs =
      };
   };
 
-  rubygems_update_1_3_5 = rubyDerivation {
-     name = "ruby-rubygems-update-1.3.5"; # full_name
+  json_1_2_4 = rubyDerivation {
+     name = "ruby-json-1.2.4"; # full_name
+     nameNoVersion = "json";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/json-1.2.4.gem";
+       sha256 = "1wdj91bl7xabgkwpz285b8086v5898x72h4lxl11n750652mrrax";
+     };
+     meta = {
+       homepage = "http://flori.github.com/json";
+       license = []; # one of ?
+       description = "This is a JSON implementation as a Ruby extension in C[...]";
+       longDescription = "This is a JSON implementation as a Ruby extension in C.";
+     };
+  };
+
+  rubygems_update_1_3_6 = rubyDerivation {
+     name = "ruby-rubygems-update-1.3.6"; # full_name
      nameNoVersion = "rubygems_update";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.5.gem";
-       sha256 = "1idzrbnl24ldxz8dmn8lz466avsn1w0rbc35lyp92fd3ar2b23qj";
+       url = "http://gems.rubyforge.org/gems/rubygems-update-1.3.6.gem";
+       sha256 = "1fqbm9hmy3skj9s98v8k0qghdmli7kv84wlm0m4grsrdn26xw14l";
      };
      meta = {
-       homepage = "http://rubygems.rubyforge.org/";
+       homepage = "http://rubygems.org/";
        license = []; # one of ?
        description = "RubyGems is a package management framework for Ruby  This gem is an update for the RubyGems software. You must have an in"; # cut to 120 chars
        longDescription = "RubyGems is a package management framework for Ruby.
@@ -222,11 +243,11 @@ See Gem for information on RubyGems (or `ri Gem`)
 
 To upgrade to the latest RubyGems, run:
 
-  $ gem install --system  # you might need to be an administrator or root
+  $ gem update --system  # you might need to be an administrator or root
 
 NOTE:  RubyGems 1.1 and 1.2 have problems upgrading when there is no
 rubygems-update installed.  You will need to use the following instructions
-if you see &quot;Nothing to update&quot;.
+if you see \"Nothing to update\".
 
 If you have an older version of RubyGems installed, then you can still
 do it in two steps:
@@ -247,54 +268,6 @@ For more details and other options, see:
      };
   };
 
-  net_ssh_2_0_17 = rubyDerivation {
-     name = "ruby-net-ssh-2.0.17"; # full_name
-     nameNoVersion = "net_ssh";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/net-ssh-2.0.17.gem";
-       sha256 = "0qswvcmq91sfii3cfr6myws2ncch9l4yzd09070yn5a3wsx4i6r5";
-     };
-     meta = {
-       homepage = "http://rubyforge.org/projects/net-ssh/";
-       license = []; # one of ?
-       description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol[...]";
-       longDescription = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.";
-     };
-  };
-
-  rb_inotify_0_4_0 = rubyDerivation {
-     name = "ruby-rb-inotify-0.4.0"; # full_name
-     nameNoVersion = "rb_inotify";
-     propagatedBuildInputs = [ ffi_0_5_4 ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rb-inotify-0.4.0.gem";
-       sha256 = "17wanfs4jmp8c3sslb7a947ay9k78fhm1nls87cgpssmynpsmbvl";
-     };
-     meta = {
-       homepage = "http://github.com/nex3/rb-notify";
-       license = []; # one of ?
-       description = "A Ruby wrapper for Linux's inotify, using FFI[...]";
-       longDescription = "A Ruby wrapper for Linux's inotify, using FFI";
-     };
-  };
-
-  term_ansicolor_1_0_4 = rubyDerivation {
-     name = "ruby-term-ansicolor-1.0.4"; # full_name
-     nameNoVersion = "term_ansicolor";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/term-ansicolor-1.0.4.gem";
-       sha256 = "0pvyr3f0kk17nap1bm0myziskd8wn3kwba7zmp3zxks8icn0sa5j";
-     };
-     meta = {
-       homepage = "http://term-ansicolor.rubyforge.org";
-       license = []; # one of ?
-       description = "[...]";
-       longDescription = "";
-     };
-  };
-
   chronic_0_2_3 = rubyDerivation {
      name = "ruby-chronic-0.2.3"; # full_name
      nameNoVersion = "chronic";
@@ -327,13 +300,29 @@ For more details and other options, see:
      };
   };
 
-  ffi_0_5_4 = rubyDerivation {
-     name = "ruby-ffi-0.5.4"; # full_name
+  xapian_full_1_1_3_4 = rubyDerivation {
+     name = "ruby-xapian-full-1.1.3.4"; # full_name
+     nameNoVersion = "xapian_full";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/xapian-full-1.1.3.4.gem";
+       sha256 = "0yc08y7v5yh0lfidc0rkr072q88jvp5prv7pllv4qn4wryna8mwl";
+     };
+     meta = {
+       homepage = "";
+       license = []; # one of ?
+       description = "Xapian bindings for Ruby without dependency on system Xapian library[...]";
+       longDescription = "Xapian bindings for Ruby without dependency on system Xapian library";
+     };
+  };
+
+  ffi_0_6_3 = rubyDerivation {
+     name = "ruby-ffi-0.6.3"; # full_name
      nameNoVersion = "ffi";
      propagatedBuildInputs = [ rake_0_8_7 ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/ffi-0.5.4.gem";
-       sha256 = "1kxa1ljcl1907kav400w43n9fdw535qr7klj06wx1bnyaq7bfnik";
+       url = "http://gems.rubyforge.org/gems/ffi-0.6.3.gem";
+       sha256 = "08qnxqcnjq4i2vv1jfwdxdlsphqjrrh7r0cw8x2q0x9vjd27ncbb";
      };
      meta = {
        homepage = "http://wiki.github.com/ffi/ffi";
@@ -347,35 +336,39 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
-  fastthread_1_0_7 = rubyDerivation {
-     name = "ruby-fastthread-1.0.7"; # full_name
-     nameNoVersion = "fastthread";
+  term_ansicolor_1_0_5 = rubyDerivation {
+     name = "ruby-term-ansicolor-1.0.5"; # full_name
+     nameNoVersion = "term_ansicolor";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/fastthread-1.0.7.gem";
-       sha256 = "003ngap8rmwsl4bvf44hz8q4ajm9d0sbn38pm28dajng3pm8q6mx";
+       url = "http://gems.rubyforge.org/gems/term-ansicolor-1.0.5.gem";
+       sha256 = "1xhcc4dkfylj14w413pmd8jhc04wj3nlw0xa6qy9h0fnbbyh6bc1";
      };
      meta = {
-       homepage = "";
+       homepage = "http://flori.github.com/term-ansicolor";
        license = []; # one of ?
-       description = "Optimized replacement for thread[...]";
-       longDescription = "Optimized replacement for thread.rb primitives";
+       description = "[...]";
+       longDescription = "";
      };
   };
 
-  gemcutter_0_3_0 = rubyDerivation {
-     name = "ruby-gemcutter-0.3.0"; # full_name
-     nameNoVersion = "gemcutter";
+  trollop_1_16_2 = rubyDerivation {
+     name = "ruby-trollop-1.16.2"; # full_name
+     nameNoVersion = "trollop";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/gemcutter-0.3.0.gem";
-       sha256 = "07rm04lj5rb093gf1w87rzkj9gr1pkyd5frs716wn5gd4c1silik";
+       url = "http://gems.rubyforge.org/gems/trollop-1.16.2.gem";
+       sha256 = "0frrp90dw266h3kf9g925dppir9l7p8jxknw6dn5nz6fa6c4g5lg";
      };
      meta = {
-       homepage = "http://gemcutter.org";
+       homepage = "http://trollop.rubyforge.org";
        license = []; # one of ?
-       description = "Adds several commands to RubyGems for managing gems and more on Gemcutter[...]";
-       longDescription = "Adds several commands to RubyGems for managing gems and more on Gemcutter.org.";
+       description = "Trollop is a commandline option parser for Ruby that just gets out of your way For that, you get a nice automatically-gen"; # cut to 120 chars
+       longDescription = "Trollop is a commandline option parser for Ruby that just
+gets out of your way. One line of code per option is all you need to write.
+For that, you get a nice automatically-generated help page, robust option
+parsing, command subcompletion, and sensible defaults for everything you don't
+specify.";
      };
   };
 
@@ -414,13 +407,61 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
-  rubyforge_2_0_3 = rubyDerivation {
-     name = "ruby-rubyforge-2.0.3"; # full_name
+  xrefresh_server_0_3_0 = rubyDerivation {
+     name = "ruby-xrefresh-server-0.3.0"; # full_name
+     nameNoVersion = "xrefresh_server";
+     propagatedBuildInputs = [ json_1_2_4 term_ansicolor_1_0_5 ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/xrefresh-server-0.3.0.gem";
+       sha256 = "1k80hadnmaxi8q8fw879xaj0ragy4bmqjqm7zjkv9bq8njb3i0c5";
+     };
+     meta = {
+       homepage = "http://github.com/darwin/xrefresh-server";
+       license = []; # one of ?
+       description = "XRefresh is browser refresh automation for web developers[...]";
+       longDescription = "XRefresh is browser refresh automation for web developers";
+     };
+  };
+
+  net_ssh_2_0_21 = rubyDerivation {
+     name = "ruby-net-ssh-2.0.21"; # full_name
+     nameNoVersion = "net_ssh";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/net-ssh-2.0.21.gem";
+       sha256 = "0wjfv68gn297vhb0r9qhlij9p7qnkn4afav0nylr6avrsd8mgdc4";
+     };
+     meta = {
+       homepage = "http://github.com/net-ssh/net-ssh";
+       license = []; # one of ?
+       description = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol[...]";
+       longDescription = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.";
+     };
+  };
+
+  gemcutter_0_5_0 = rubyDerivation {
+     name = "ruby-gemcutter-0.5.0"; # full_name
+     nameNoVersion = "gemcutter";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/gemcutter-0.5.0.gem";
+       sha256 = "16pf64d0mj320llars6x1zl0vhv2x8vh7pwgqj0k48pyh5426iim";
+     };
+     meta = {
+       homepage = "http://rubygems.org";
+       license = []; # one of ?
+       description = "Adds several commands to RubyGems for managing gems and more on RubyGems[...]";
+       longDescription = "Adds several commands to RubyGems for managing gems and more on RubyGems.org.";
+     };
+  };
+
+  rubyforge_2_0_4 = rubyDerivation {
+     name = "ruby-rubyforge-2.0.4"; # full_name
      nameNoVersion = "rubyforge";
-     propagatedBuildInputs = [ json_pure_1_2_0 ];
+     propagatedBuildInputs = [ json_pure_1_2_4 ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/rubyforge-2.0.3.gem";
-       sha256 = "1ck9hkad55dy25819v4gd1nmnpvcrb3i4np3hc03h1j6q8qpxg5p";
+       url = "http://gems.rubyforge.org/gems/rubyforge-2.0.4.gem";
+       sha256 = "1wdaa4nzy39yzy848fa1rybi72qlyf9vhi1ra9wpx9rpi810fwh1";
      };
      meta = {
        homepage = "http://codeforpeople.rubyforge.org/rubyforge/";
@@ -437,19 +478,19 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
-  xrefresh_server_0_3_0 = rubyDerivation {
-     name = "ruby-xrefresh-server-0.3.0"; # full_name
-     nameNoVersion = "xrefresh_server";
-     propagatedBuildInputs = [ json_1_2_0 term_ansicolor_1_0_4 ];
+  rb_inotify_0_7_1 = rubyDerivation {
+     name = "ruby-rb-inotify-0.7.1"; # full_name
+     nameNoVersion = "rb_inotify";
+     propagatedBuildInputs = [ ffi_0_6_3 ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/xrefresh-server-0.3.0.gem";
-       sha256 = "1k80hadnmaxi8q8fw879xaj0ragy4bmqjqm7zjkv9bq8njb3i0c5";
+       url = "http://gems.rubyforge.org/gems/rb-inotify-0.7.1.gem";
+       sha256 = "00q2zl9361ji5z7blgipphsjvnysyw016vbb0vh6f5i5v6fz5bzh";
      };
      meta = {
-       homepage = "http://github.com/darwin/xrefresh-server";
+       homepage = "http://github.com/nex3/rb-notify";
        license = []; # one of ?
-       description = "XRefresh is browser refresh automation for web developers[...]";
-       longDescription = "XRefresh is browser refresh automation for web developers";
+       description = "A Ruby wrapper for Linux's inotify, using FFI[...]";
+       longDescription = "A Ruby wrapper for Linux's inotify, using FFI";
      };
   };
 
@@ -486,42 +527,30 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
-  highline_1_5_1 = rubyDerivation {
-     name = "ruby-highline-1.5.1"; # full_name
+  highline_1_5_2 = rubyDerivation {
+     name = "ruby-highline-1.5.2"; # full_name
      nameNoVersion = "highline";
      propagatedBuildInputs = [  ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/highline-1.5.1.gem";
-       sha256 = "0sawb011sc1i5glr80a4iflr0vvn3s5c97a4jmrhj3palv4df19i";
+       url = "http://gems.rubyforge.org/gems/highline-1.5.2.gem";
+       sha256 = "0l25zris20drrwkhxx9hplq7g353xh960y5i19fdb7g84jl4bp19";
      };
      meta = {
        homepage = "http://highline.rubyforge.org";
        license = []; # one of ?
-       description = "A high-level IO library that provides validation, type conversion, and more for command-line interfaces[...]";
-       longDescription = "A high-level IO library that provides validation, type conversion, and more for command-line interfaces. HighLine also includes a complete menu system that can crank out anything from simple list selection to complete shells with just minutes of work.";
-     };
-  };
-
-  json_pure_1_2_0 = rubyDerivation {
-     name = "ruby-json_pure-1.2.0"; # full_name
-     nameNoVersion = "json_pure";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/json_pure-1.2.0.gem";
-       sha256 = "162lzzbadp62q1fjf5zyg45qly9pryjh7f6xhnf04zbjiq815pc5";
-     };
-     meta = {
-       homepage = "http://json.rubyforge.org";
-       license = []; # one of ?
-       description = "This is a JSON implementation in pure Ruby[...]";
-       longDescription = "This is a JSON implementation in pure Ruby.";
+       description = "A high-level IO library that provides validation, type conversion, and more for command-line interfaces crank out anythin"; # cut to 120 chars
+       longDescription = "A high-level IO library that provides validation, type conversion, and more for
+command-line interfaces. HighLine also includes a complete menu system that can
+crank out anything from simple list selection to complete shells with just
+minutes of work.
+";
      };
   };
 
   jeweler_1_4_0 = rubyDerivation {
      name = "ruby-jeweler-1.4.0"; # full_name
      nameNoVersion = "jeweler";
-     propagatedBuildInputs = [ git_1_2_5 rubyforge_2_0_3 gemcutter_0_3_0 ];
+     propagatedBuildInputs = [ git_1_2_5 rubyforge_2_0_4 gemcutter_0_5_0 ];
      src = fetchurl {
        url = "http://gems.rubyforge.org/gems/jeweler-1.4.0.gem";
        sha256 = "0hsz38wc37k1zzmy1jjvsqj6am14n410bbxk1dhq55cgapnwm3kb";
@@ -534,29 +563,13 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
-  json_1_2_0 = rubyDerivation {
-     name = "ruby-json-1.2.0"; # full_name
-     nameNoVersion = "json";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/json-1.2.0.gem";
-       sha256 = "0srfhr38g322l4lcnzsa6kzp64i9p24ai2bmh5wl0xx2g925b7n7";
-     };
-     meta = {
-       homepage = "http://json.rubyforge.org";
-       license = []; # one of ?
-       description = "This is a JSON implementation as a Ruby extension in C[...]";
-       longDescription = "This is a JSON implementation as a Ruby extension in C.";
-     };
-  };
-
-  sup_0_9_1 = rubyDerivation {
-     name = "ruby-sup-0.9.1"; # full_name
+  sup_0_11 = rubyDerivation {
+     name = "ruby-sup-0.11"; # full_name
      nameNoVersion = "sup";
-     propagatedBuildInputs = [ ferret_0_11_6 ncurses_0_9_1 rmail_1_0_0 highline_1_5_1 net_ssh_2_0_17 trollop_1_15 lockfile_1_4_3 mime_types_1_16 gettext_2_1_0 fastthread_1_0_7 ];
+     propagatedBuildInputs = [ xapian_full_1_1_3_4 ncurses_0_9_1 rmail_1_0_0 highline_1_5_2 net_ssh_2_0_21 trollop_1_16_2 lockfile_1_4_3 mime_types_1_16 gettext_2_1_0 ];
      src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/sup-0.9.1.gem";
-       sha256 = "0hifzcvfsbcyjszyyryfi60qiysn0i47f8jlwj3p7v7agxy5hm5a";
+       url = "http://gems.rubyforge.org/gems/sup-0.11.gem";
+       sha256 = "0dijz1vl1kk4axfnry71bnl2585y1hw0n6sizg9aag7r9m13194q";
      };
      meta = {
        homepage = "http://sup.rubyforge.org/";
@@ -566,43 +579,6 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].";
      };
   };
 
-  trollop_1_15 = rubyDerivation {
-     name = "ruby-trollop-1.15"; # full_name
-     nameNoVersion = "trollop";
-     propagatedBuildInputs = [  ];
-     src = fetchurl {
-       url = "http://gems.rubyforge.org/gems/trollop-1.15.gem";
-       sha256 = "0xxd96xpnxmm4195qwawpjqgnsbzw4s70jf0wz32ynmya7flgdhk";
-     };
-     meta = {
-       homepage = "http://trollop.rubyforge.org";
-       license = []; # one of ?
-       description = "Documentation quickstart: See Trollop::options (for some reason rdoc isn't linking that; it's in the top right of the scr"; # cut to 120 chars
-       longDescription = "Documentation quickstart: See Trollop::options (for some reason rdoc isn't
-linking that; it's in the top right of the screen if you're browsing online)
-and then Trollop::Parser#opt. Also see the examples at
-http://trollop.rubyforge.org/.
-
-== DESCRIPTION
-
-== REQUIREMENTS
-
-* A burning desire to write less code.
-
-== INSTALL
-
-* gem install trollop
-
-== LICENSE
-
-Copyright (c) 2008--2009 William Morgan. Trollop is distributed under the same
-terms as Ruby.
-
-
-";
-     };
-  };
-
   rmail_1_0_0 = rubyDerivation {
      name = "ruby-rmail-1.0.0"; # full_name
      nameNoVersion = "rmail";
@@ -619,32 +595,47 @@ terms as Ruby.
      };
   };
 
+  ncursesw_1_2_4_1 = rubyDerivation {
+     name = "ruby-ncursesw-1.2.4.1"; # full_name
+     nameNoVersion = "ncursesw";
+     propagatedBuildInputs = [  ];
+     src = fetchurl {
+       url = "http://gems.rubyforge.org/gems/ncursesw-1.2.4.1.gem";
+       sha256 = "0cn13h14pk8yds8aklpdcpzl0z6rqifpmaz4lw29g10lgwvfv409";
+     };
+     meta = {
+       homepage = "http://ncurses-ruby.berlios.de/";
+       license = []; # one of ?
+       description = "Hacked up version of ncurses gem that supports wide characters and ruby1[...]";
+       longDescription = "Hacked up version of ncurses gem that supports wide characters and ruby1.9.1. Original ncurses gem by t-peters@users.berlios.de.";
+     };
+  };
+
 # aliases
 rmail=rmail_1_0_0;
-term_ansicolor=term_ansicolor_1_0_4;
-fastthread=fastthread_1_0_7;
-rb_inotify=rb_inotify_0_4_0;
-highline=highline_1_5_1;
-rubygems_update=rubygems_update_1_3_5;
+term_ansicolor=term_ansicolor_1_0_5;
+rb_inotify=rb_inotify_0_7_1;
+highline=highline_1_5_2;
+rubygems_update=rubygems_update_1_3_6;
 rake=rake_0_8_7;
-sup=sup_0_9_1;
+sup=sup_0_11;
 mime_types=mime_types_1_16;
-rubyforge=rubyforge_2_0_3;
-gemcutter=gemcutter_0_3_0;
-ferret=ferret_0_11_6;
-json=json_1_2_0;
+rubyforge=rubyforge_2_0_4;
+gemcutter=gemcutter_0_5_0;
+net_ssh=net_ssh_2_0_21;
 xrefresh_server=xrefresh_server_0_3_0;
+xapian_full=xapian_full_1_1_3_4;
 ncurses=ncurses_0_9_1;
-net_ssh=net_ssh_2_0_17;
-trollop=trollop_1_15;
+json=json_1_2_4;
 jeweler=jeweler_1_4_0;
 gettext=gettext_2_1_0;
+trollop=trollop_1_16_2;
 git=git_1_2_5;
-json_pure=json_pure_1_2_0;
 locale=locale_2_0_5;
 chronic=chronic_0_2_3;
+json_pure=json_pure_1_2_4;
 lockfile=lockfile_1_4_3;
-ffi=ffi_0_5_4;
-
+ffi=ffi_0_6_3;
+ncursesw=ncursesw_1_2_4_1;
   # ================ END automatically generated code ================
   }; in libs
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 0983edbcdd2..8e6f6749533 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 let version = "7.1"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "boehm-gc-${version}";
 
   src = fetchurl {
@@ -44,3 +44,10 @@ stdenv.mkDerivation {
     platforms = stdenv.lib.platforms.all;
   };
 }
+
+//
+
+(if stdenv.system == "x86_64-darwin"
+ # Fix "#error ucontext routines are deprecated, and require _XOPEN_SOURCE to be defined".
+ then { configureFlags = "CPPFLAGS=-D_XOPEN_SOURCE"; }
+ else {}))
diff --git a/pkgs/development/libraries/boost/1.41.0.nix b/pkgs/development/libraries/boost/1.42.0.nix
index 1bd500e270a..4f71e7347a9 100644
--- a/pkgs/development/libraries/boost/1.41.0.nix
+++ b/pkgs/development/libraries/boost/1.42.0.nix
@@ -33,7 +33,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "boost-1.41.0";
+  name = "boost-1.42.0";
 
   meta = {
     homepage = "http://boost.org/";
@@ -42,8 +42,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_41_0.tar.bz2";
-    sha256 = "09n7bjac2nlp7c8khpml2mq4qm33w2dn4ksb50c37wga95klxy8y";
+    url = "mirror://sourceforge/boost/boost_1_42_0.tar.bz2";
+    sha256 = "02g6m6f7m11ig93p5sx7sfq75c15y9kn2pa3csn1bkjhs9dvj7jb";
   };
 
   buildInputs = [icu expat zlib bzip2 python];
diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix
index d8b4793dcca..5424e7a73de 100644
--- a/pkgs/development/libraries/ccrtp/default.nix
+++ b/pkgs/development/libraries/ccrtp/default.nix
@@ -1,10 +1,10 @@
 args: with args;
 stdenv.mkDerivation {
-  name = "ccrtp-1.7.0";
+  name = "ccrtp-1.7.1";
 
   src = fetchurl {
-    url = mirror://gnu/ccrtp/ccrtp-1.7.0.tar.gz;
-    sha256 = "1bjn5l476nk34gipz4jl2p83m735gzanzr046zrkx423zipx4g4j";
+    url = mirror://gnu/ccrtp/ccrtp-1.7.1.tar.gz;
+    sha256 = "0psi91r0fgawpa5x4jiq7lkr180agdi25gi0mfriqcmykxg7r1jn";
   };
 
   buildInputs = [openssl pkgconfig libgcrypt commoncpp2];
diff --git a/pkgs/development/libraries/commoncpp2/default.nix b/pkgs/development/libraries/commoncpp2/default.nix
index 28ba597e035..8f519a4b43c 100644
--- a/pkgs/development/libraries/commoncpp2/default.nix
+++ b/pkgs/development/libraries/commoncpp2/default.nix
@@ -1,20 +1,36 @@
-args: with args;
-stdenv.mkDerivation {
-  name = "commoncpp2-2.0.8";
+{ fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  name = "commoncpp2-1.8.0";
 
   src = fetchurl {
-    url = http://ftp.gnu.org/pub/gnu/commoncpp/ucommon-2.0.8.tar.gz;
-    sha256 = "09mk70kqwr1pmxa35x0is16g2sa60b3z8p4p5yccw59pp1hpxpq3";
+    url = "mirror://gnu/commoncpp/${name}.tar.gz";
+    sha256 = "0a7arpm9l3s5qics5m77lyx1yl7998lkypydqwx11nj730034nmc";
   };
 
-  buildInputs = [];
+  doCheck = true;
+
+  meta = {
+    description = "GNU Common C++, a portable, highly optimized C++ class framework";
 
-  meta = { 
-    description = "highly portable application framework for threading,sockets, realtime network streaming, persistance, and file access";
+    longDescription =
+      '' GNU Common C++ and GNU uCommon are very portable and highly
+         optimized class framework for writing C++ applications that need to
+         use threads and support concurrent sychronization, and that use
+         sockets, XML parsing, object serialization, thread-optimized String
+         and data structure classes, etc.  This framework offers a class
+         foundation that hides platform differences from your C++ application
+         so that you need not write platform specific code.  GNU Common C++
+         has been ported to compile nativily on most platforms which support
+         either posix threads, or on maybe be used with Debian hosted mingw32
+         to build native threading applications for Microsoft Windows.
+      '';
 
-    homepage = http://sourceforge.net/projects/cplusplus/;
-    license = "LGPL";
-    maintainers = [args.lib.maintainers.marcweber];
-    platforms = args.lib.platforms.linux;
+    homepage = http://www.gnu.org/software/commoncpp/;
+    license = "GPLv2+";
+    maintainers = [ stdenv.lib.maintainers.marcweber
+                    stdenv.lib.maintainers.ludo
+                  ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index c9b87ebb7d2..3552ad32346 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,5 +1,5 @@
-args:
-with args;
+{ stdenv, fetchurl, openssl, db4, gettext} :
+
 stdenv.mkDerivation {
   name = "cyrus-sasl-2.1.23";
 
@@ -7,7 +7,9 @@ stdenv.mkDerivation {
     url = ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz;
     sha256 = "0dmi41hfy015pzks8n93qsshgvi0az7pv81nls4nxayb810crvr0";
   };
-  configureFlags="--with-openssl=${openssl} --with-plugindir=\${out}/lib/sasl2 --with-configdir=\${out}/lib/sasl2";
+  preConfigure=''
+    configureFlags="--with-openssl=${openssl} --with-plugindir=$out/lib/sasl2 --with-configdir=$out/lib/sasl2"
+  '';
   buildInputs = [ openssl db4 gettext ];
   patches = [ ./cyrus-sasl-2.1.22-bad-elif.patch ];
 }
diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix
index a611a192d81..cdb9bb887e8 100644
--- a/pkgs/development/libraries/ffmpeg/default.nix
+++ b/pkgs/development/libraries/ffmpeg/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl, faad2}:
+{stdenv, fetchurl, faad2, libtheora, speex, libvorbis}:
 
 stdenv.mkDerivation {
-  name = "ffmpeg-0.5";
+  name = "ffmpeg-0.5.1";
   
   src = fetchurl {
-    url = http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2;
-    sha1 = "f930971bc0ac3d11a4ffbb1af439425c24f6f5b1";
+    url = http://www.ffmpeg.org/releases/ffmpeg-0.5.1.tar.bz2;
+    sha256 = "0n68lihyy3jk4q7f22kv6nranfbafyl41hnzpa6cm0r0vf473gn2";
   };
   
   # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
@@ -19,9 +19,12 @@ stdenv.mkDerivation {
     --disable-ffplay
     --enable-libfaad
     --enable-shared
+    --enable-libtheora
+    --enable-libvorbis
+    --enable-libspeex
   '';
 
-  buildInputs = [faad2];
+  buildInputs = [faad2 libtheora speex libvorbis];
 
   meta = {
     homepage = http://www.ffmpeg.org/;
diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix
index d3a9f9ea3e8..1fb1cda3353 100644
--- a/pkgs/development/libraries/fltk/default.nix
+++ b/pkgs/development/libraries/fltk/default.nix
@@ -1,12 +1,12 @@
 args: with args;
 let inherit (args.composableDerivation) composableDerivation edf; in
-composableDerivation {} {
+composableDerivation {} rec {
 
-  name = "fltk-2.0.x-r6483";
+  name = "fltk-2.0.x-r6970";
 
   src = args.fetchurl {
-    url = ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6483.tar.bz2;
-    sha256 = "1n8b53r5p0zb4sbvr6pj8aasls4zjwksv1sdc3r3pzb20fikp5jb";
+    url = "ftp://ftp.easysw.com/pub/fltk/snapshots/${name}.tar.bz2";
+    sha256 = "0d88c16967ca40b26a70736b0d6874046c31a9e74816806816252e4eb72a84a3";
   };
 
   propagatedBuildInputs=[x11 inputproto libXi freeglut];
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index f13eadfa574..ec402b6bee0 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl, unzip}:
 stdenv.mkDerivation {
-  name = "freeimage-3.13.0";
+  name = "freeimage-3.13.1";
   src = fetchurl {
-    url = mirror://sourceforge/freeimage/FreeImage3130.zip;
-    sha256 = "0hf642cb1bai1j4izvjnmili9ic335awa4jnn6nxa0bv6wfaa9x2";
+    url = mirror://sourceforge/freeimage/FreeImage3131.zip;
+    sha256 = "1ilpfgyi3qhjra5hxvjcrq3bna909bgdl7rgmhkybmcpdq1x56rj";
   };
   buildInputs = [ unzip ];
   patchPhase = ''
diff --git a/pkgs/development/libraries/haskell/AspectAG/default.nix b/pkgs/development/libraries/haskell/AspectAG/default.nix
new file mode 100644
index 00000000000..c9ede897ca0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/AspectAG/default.nix
@@ -0,0 +1,14 @@
+{cabal, HList, mtl}:
+
+cabal.mkDerivation (self : {
+  pname = "AspectAG";
+  version = "0.1.5";
+  sha256 = "4cefc7e3404a723f0a75b29797bd9fe685c2a1b3150826b3ba09ade94565f6ff";
+  propagatedBuildInputs = [HList mtl];
+  meta = {
+    description = "Attribute Grammars in the form of an EDSL";
+    license = "LGPL";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
new file mode 100644
index 00000000000..3ad1f545067
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -0,0 +1,14 @@
+{cabal, mtl, parsec, MissingH}:
+
+cabal.mkDerivation (self : {
+  pname = "ConfigFile";
+  version = "1.0.6";
+  sha256 = "339722184b86d53d8b361933e572b6e1478824c7eba3fb66b67d0eb5245cd038";
+  propagatedBuildInputs = [mtl parsec MissingH];
+  meta = {
+    description = "Configuration file reading & writing";
+    license = "LGPL";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
new file mode 100644
index 00000000000..9fa0690ad6b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
@@ -0,0 +1,12 @@
+{cabal, OpenGL, glut, libSM, libICE, libXmu, libXi, mesa}:
+
+cabal.mkDerivation (self : {
+  pname = "GLUT";
+  version = "2.1.2.1"; # Haskell Platform 2010.1.0.0
+  sha256 = "0230bfacbfb85c126f1fba45fcd8d02f20da9ee19180b5ada698224362d17264";
+  propagatedBuildInputs = [OpenGL glut libSM libICE libXmu libXi mesa];
+  meta = {
+    description = "A binding for the OpenGL Utility Toolkit";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
index 0d2d723ef08..ddf5740d95a 100644
--- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix
+++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
@@ -1,10 +1,10 @@
-{cabal, parsec, time}:
+{cabal, parsec, time, text, utf8String, parallel}:
 
 cabal.mkDerivation (self : {
   pname = "HStringTemplate";
-  version = "0.5.1.3";
-  sha256 = "1f9da3afcb2441d450051ea9836f25df69430eaf17593c39199ad686a828e044";
-  propagatedBuildInputs = [parsec time];
+  version = "0.6.2";
+  sha256 = "1d8ae847cb2b92f6d083ee1ed5db00c719e51fe43017d4289dea61335a116103";
+  propagatedBuildInputs = [parsec time text utf8String parallel];
   meta = {
     description = "StringTemplate implementation in Haskell";
   };
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
new file mode 100644
index 00000000000..0600a957883
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
@@ -0,0 +1,12 @@
+{cabal, mtl, network, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "HTTP";
+  version = "4000.0.9"; # Haskell Platform 2010.1.0.0
+  sha256 = "1e2b4a8b782ad1417c8755bb0d248851bc142b351366ed460e07f2945a5e95ba";
+  propagatedBuildInputs = [mtl network parsec];
+  meta = {
+    description = "a Haskell library for client-side HTTP";
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
new file mode 100644
index 00000000000..9f52ed4048f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "HUnit";
+  version = "1.2.2.1"; # Haskell Platform 2010.1.0.0
+  sha256 = "47235503b666658588181795540d29212283059b21edc42e1b4f1998e46ac853";
+  meta = {
+    description = "A unit testing framework for Haskell";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix b/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix
new file mode 100644
index 00000000000..4b67f75ad25
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix
@@ -0,0 +1,14 @@
+{cabal, transformers, monadsFd}:
+
+cabal.mkDerivation (self : {
+  pname = "MaybeT-transformers";
+  version = "0.1";
+  sha256 = "b24b78e3a895587722c9ce899f9ef07b509db1a5b3b86f5b7b0e8bc986c8fb8f";
+  propagatedBuildInputs = [transformers monadsFd];
+  meta = {
+    description = "Support for computations with failures";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/MaybeT/default.nix b/pkgs/development/libraries/haskell/MaybeT/default.nix
new file mode 100644
index 00000000000..783ff85d0c2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MaybeT/default.nix
@@ -0,0 +1,14 @@
+{cabal, mtl}:
+
+cabal.mkDerivation (self : {
+  pname = "MaybeT";
+  version = "0.1.2";
+  sha256 = "995e61165122656807d84174e5c1516340fd7ddeba6571c20751352a8476b632";
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "MaybeT monad transformer";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix
new file mode 100644
index 00000000000..252eb88c929
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MissingH/default.nix
@@ -0,0 +1,14 @@
+{cabal, HUnit, hslogger, network, parsec, regexCompat}:
+
+cabal.mkDerivation (self : {
+  pname = "MissingH";
+  version = "1.1.0.3";
+  sha256 = "2d566511e8a347189cf864188d97f8406c6958c6f0a6fcf8cb1593c6bae13dbf";
+  propagatedBuildInputs = [HUnit hslogger network parsec regexCompat];
+  meta = {
+    description = "Large utility library";
+    license = "GPL";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
new file mode 100644
index 00000000000..e3cb4bdf4e6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
@@ -0,0 +1,12 @@
+{cabal, mesa, libX11}:
+
+cabal.mkDerivation (self : {
+  pname = "OpenGL";
+  version = "2.2.3.0"; # Haskell Platform 2010.1.0.0
+  sha256 = "a75c3277bb20fda9a4ac1eb0e838fe4b5baf92f5539466b92bd255626afb0502";
+  propagatedBuildInputs = [mesa libX11];
+  meta = {
+    description = "A binding for the OpenGL graphics system";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix b/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
index 4e9bdefc537..6ad15d15380 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "QuickCheck";
-  version = "2.1.0.2";
-  sha256 = "1adeea5aa52cba7b8bcd27f9cdd9fe944e9a4a22d22fdf0570b526f580981e58";
+  version = "2.1.0.3"; # Haskell Platform 2010.1.0.0
+  sha256 = "91a861233fe0a37a032d092dd5e8ec40c2c99fbbf0701081394eb244f23757b1";
   propagatedBuildInputs = [mtl];
   meta = {
     description = "Automatic testing of Haskell programs";
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index 2d51cddca74..f958ec713a1 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "SHA";
-  version = "1.4.0";
-  sha256 = "7f08042fddadd8e3795d627a042d1884b33e066ab67d03b6de92551a4ad9fc7d";
+  version = "1.4.1.1";
+  sha256 = "8ecdc91679d1aa1d4050e1124cf5af79ae2ece66aee3b907e1078d71bf03169a";
   propagatedBuildInputs = [binary];
   meta = {
     description = "Implementations of the SHA suite of message digest functions";
diff --git a/pkgs/development/libraries/haskell/SMTPClient/default.nix b/pkgs/development/libraries/haskell/SMTPClient/default.nix
new file mode 100644
index 00000000000..2da9beea525
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SMTPClient/default.nix
@@ -0,0 +1,14 @@
+{cabal, hsemail, network}:
+
+cabal.mkDerivation (self : {
+  pname = "SMTPClient";
+  version = "1.0.2";
+  sha256 = "b835cebf22e9281778deeec3ceffeb95aa8ae9c0e1f97e8e9734cf5d87ecba5f";
+  propagatedBuildInputs = [hsemail network];
+  meta = {
+    description = "A simple SMTP client library";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/bimap/default.nix b/pkgs/development/libraries/haskell/bimap/default.nix
new file mode 100644
index 00000000000..ec2dd1d3632
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bimap/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "bimap";
+  version = "0.2.4";
+  sha256 = "d991ae393ade2191f42d8a0d659d2b9a749675735eb5b57872f577ede82565c5";
+  meta = {
+    description = "Bidirectional mapping between two key types";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix
index 1bda5329c52..7ee0cfcccb9 100644
--- a/pkgs/development/libraries/haskell/cabal/cabal.nix
+++ b/pkgs/development/libraries/haskell/cabal/cabal.nix
@@ -93,7 +93,7 @@ attrs :
               fi
 
               ensureDir $out/nix-support
-              ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+              ln -s $out/nix-support/propagated-build-native-inputs $out/nix-support/propagated-user-env-packages
 
               eval "$postInstall"
             '';
diff --git a/pkgs/development/libraries/haskell/cautious-file/default.nix b/pkgs/development/libraries/haskell/cautious-file/default.nix
new file mode 100644
index 00000000000..16fe6672bc7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cautious-file/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "cautious-file";
+  version = "0.1.5";
+  sha256 = "0d7b7bf530476b89ffc22bf6e586402b0fd6fd5571cc941df08838c5a890ad01";
+  meta = {
+    description = "Ways to write a file cautiously";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
new file mode 100644
index 00000000000..89e6df5004c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
@@ -0,0 +1,12 @@
+{cabal, mtl, network, parsec, xhtml}:
+
+cabal.mkDerivation (self : {
+  pname = "cgi";
+  version = "3001.1.7.2"; # Haskell Platform 2010.1.0.0
+  sha256 = "ad35971388fa1809a5cd71bb2f051d69d753e4153b43d843b431674cf79a1c39";
+  propagatedBuildInputs = [mtl network parsec xhtml];
+  meta = {
+    description = "A library for writing CGI programs";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/deepseq/default.nix b/pkgs/development/libraries/haskell/deepseq/default.nix
new file mode 100644
index 00000000000..6658f86de75
--- /dev/null
+++ b/pkgs/development/libraries/haskell/deepseq/default.nix
@@ -0,0 +1,11 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "deepseq";
+  version = "1.1.0.0"; # Haskell Platform 2010.1.0.0
+  sha256 = "947c45e7ee862159f190fb8e905c1328f7672cb9e6bf3abd1d207bbcf1eee50a";
+  meta = {
+    description = "Provides a deep version of seq, for fully evaluating data structures";
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
new file mode 100644
index 00000000000..4c13955a77e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -0,0 +1,14 @@
+{cabal, monadsFd}:
+
+cabal.mkDerivation (self : {
+  pname = "fclabels";
+  version = "0.4.2";
+  sha256 = "d1abfd94f8970e55ed839645a58697b8beeacc5e5ea4a5861001539aa8fc28d7";
+  propagatedBuildInputs = [monadsFd];
+  meta = {
+    description = "First class accessor labels";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/feed/default.nix b/pkgs/development/libraries/haskell/feed/default.nix
new file mode 100644
index 00000000000..7ba92613c5e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/feed/default.nix
@@ -0,0 +1,14 @@
+{cabal, utf8String, xml}:
+
+cabal.mkDerivation (self : {
+  pname = "feed";
+  version = "0.3.7";
+  sha256 = "c2d539f763cdce1b1498f1fd0707b12078337aff690f01e41db0b6e3569c08aa";
+  propagatedBuildInputs = [utf8String xml];
+  meta = {
+    description = "Interfacing with RSS and Atom feeds";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/fgl/default.nix b/pkgs/development/libraries/haskell/fgl/default.nix
index 062e0a5ac59..f14031aec5f 100644
--- a/pkgs/development/libraries/haskell/fgl/default.nix
+++ b/pkgs/development/libraries/haskell/fgl/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "fgl";
-  version = "5.4.2.2";
+  version = "5.4.2.2"; # Haskell Platform 2010.1.0.0
   sha256 = "8232c337f0792854bf2a12a5fd1bc46726fff05d2f599053286ff873364cd7d2";
   propagatedBuildInputs = [mtl];
   meta = {
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index db84d059782..2d3fc926857 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "filestore";
-  version = "0.3.1";
-  sha256 = "f18baafb50367d8d0a0e8da2873fd97033bb763d8776473e594c84c079017aa0";
+  version = "0.3.4.1";
+  sha256 = "ad04333fae938ae7de747457a6bdee30c6e4b700733265dbd1f4f8ee363c8230";
   propagatedBuildInputs = [datetime parsec regexPosix split time utf8String xml Diff];
   meta = {
     description = "Interface for versioning file stores";
diff --git a/pkgs/development/libraries/haskell/gdiff/default.nix b/pkgs/development/libraries/haskell/gdiff/default.nix
new file mode 100644
index 00000000000..3ea5e4877fa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gdiff/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "gdiff";
+  version = "1.0";
+  sha256 = "35257b1090cf78f95d24c7a89920863c1d824652311fa5793693d7d06d96517b";
+  meta = {
+    description = "Generic diff and patch";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix
new file mode 100644
index 00000000000..f8c4a29e5e1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix
@@ -0,0 +1,11 @@
+{ cabal } :
+
+cabal.mkDerivation (self : {
+  pname = "ghc-paths";
+  version = "0.1.0.6";
+  sha256 = "95d8c0e6ce2f182d792e910149b3c81c381b7d2c2052ffc6d96128b071c55243";
+  meta = {
+    description = "Knowledge of GHC's installations directories";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index bee6f3fb564..5bebdf7de35 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -1,17 +1,23 @@
-{cabal, HAppSServer, HStringTemplate, HTTP, SHA, cgi, datetime,
- filestore, highlightingKate, mtl, network, pandoc, parsec,
- recaptcha, utf8String, xhtml, zlib}:
+{cabal, happstackServer, happstackUtil, HStringTemplate, HTTP,
+ SHA, cgi, datetime,
+ filestore, highlightingKate, safe, mtl, network, pandoc, parsec,
+ recaptcha, utf8String, xhtml, zlib, ConfigFile, url,
+ cautiousFile, feed}:
 
 cabal.mkDerivation (self : {
   pname = "gitit";
-  version = "0.5.3";
-  sha256 = "d8e1c319e52edc6f2e92d1d22b8995f38b31f6aa0b6649aa73877e889ff45851";
-  propagatedBuildInputs =
-    [HAppSServer HStringTemplate HTTP SHA cgi datetime filestore
-     highlightingKate mtl network pandoc parsec recaptcha utf8String
-     xhtml zlib];
+  version = "0.7.3.5";
+  sha256 = "50cf6b853d439904e54884660eba6ffdc31b938e077fd0d9457fba972d4bde9f";
+  propagatedBuildInputs = [
+    HStringTemplate happstackServer happstackUtil HTTP SHA cgi datetime
+    filestore highlightingKate safe
+    mtl network pandoc parsec recaptcha utf8String xhtml zlib ConfigFile
+    url cautiousFile feed
+  ];
   meta = {
     description = "Wiki using HAppS, git or darcs, and pandoc";
+    license = "GPL";
+    maintainers = [self.stdenv.lib.maintainers.andres];
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-data.nix b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
new file mode 100644
index 00000000000..9b18652642f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
@@ -0,0 +1,13 @@
+{cabal, mtl, sybWithClass, HaXml, happstackUtil, binary}:
+
+cabal.mkDerivation (self : {
+    pname = "happstack-data";
+    version = "0.4.1";
+    sha256 = "0d1f96472a4e13b9a5218bce8bf819a50d1773b7e110141ab235d1d7701e39f6";
+    propagatedBuildInputs = [mtl sybWithClass HaXml happstackUtil binary];
+    meta = {
+        description = "Happstack data manipulation libraries";
+        license = "BSD";
+        maintainers = [self.stdenv.lib.maintainers.andres];
+    };
+})
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
new file mode 100644
index 00000000000..c1d66c0fabc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -0,0 +1,16 @@
+{cabal, HUnit, HaXml, MaybeT, parsec, sendfile, utf8String, mtl, network, hslogger, happstackData, happstackUtil, xhtml, html, zlib}:
+
+cabal.mkDerivation (self : {
+    pname = "happstack-server";
+    version = "0.4.1";
+    sha256 = "2a5d32b4e635160ffab8a90891d9c5ca0433969944ae4013ec8cebe25ba63658";
+    propagatedBuildInputs = [
+      HUnit HaXml MaybeT happstackData happstackUtil hslogger html
+      mtl network parsec sendfile utf8String xhtml zlib
+    ];
+    meta = {
+        description = "Web related tools and services";
+        license = "BSD";
+        maintainers = [self.stdenv.lib.maintainers.andres];
+    };
+})
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-util.nix b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
new file mode 100644
index 00000000000..4ba0854d37a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
@@ -0,0 +1,17 @@
+{cabal, mtl, hslogger, HUnit, QuickCheck, strictConcurrency,
+ unixCompat, SMTPClient}:
+
+cabal.mkDerivation (self : {
+    pname = "happstack-util";
+    version = "0.4.1";
+    sha256 = "bb254140c30c39c420bc5a649da645f59df950f0a712c2dac4de1cc6572f05f9";
+    propagatedBuildInputs = [
+      mtl hslogger HUnit QuickCheck strictConcurrency unixCompat
+      SMTPClient
+    ];
+    meta = {
+        description = "Miscellaneous utilities for Happstack packages";
+        license = "BSD";
+        maintainers = [self.stdenv.lib.maintainers.andres];
+    };
+})
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
new file mode 100644
index 00000000000..8d34277d846
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
@@ -0,0 +1,21 @@
+{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
+ haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
+ stm, xhtml, zlib, cabalInstall, alex, happy, haddock, ghc}:
+
+cabal.mkDerivation (self : {
+  pname = "haskell-platform";
+  version = "2010.1.0.0";
+  src = fetchurl {
+    url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
+    sha256 = "64c9fec5cdc4b6f515b7f296d59984d2dee05927b7e24ea67324ad5f4ac3e994";
+  };
+  propagatedBuildInputs = [
+    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
+    haskellSrc html network parallel regexBase regexCompat regexPosix
+    stm xhtml zlib cabalInstall alex happy ghc haddock
+  ];
+  meta = {
+    description = "Haskell Platform meta package";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index f94f768febb..d6d69f398ba 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "highlighting-kate";
-  version = "0.2.5";
-  sha256 = "0a11f29a61b9c907d3b79540e0b2ac3b6194bd4bc37b6405973cd9eeb7a9a868";
+  version = "0.2.6.2";
+  sha256 = "3ed163888d45d5bf5ee5c2931e894f6ca2eb167a79ac8274d7f57341c4c5dca7";
   propagatedBuildInputs = [parsec pcreLight xhtml];
   meta = {
     description = "Syntax highlighting";
diff --git a/pkgs/development/libraries/haskell/hsemail/default.nix b/pkgs/development/libraries/haskell/hsemail/default.nix
new file mode 100644
index 00000000000..bce28aa71fa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsemail/default.nix
@@ -0,0 +1,14 @@
+{cabal, mtl, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "hsemail";
+  version = "1.6";
+  sha256 = "a8ba7e8cfb9213bb2ee61166bc8352e4353560d06f418a0c729aeb1d50b3a1fd";
+  propagatedBuildInputs = [mtl parsec];
+  meta = {
+    description = "Internet Message Parsers";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/jpeg/default.nix b/pkgs/development/libraries/haskell/jpeg/default.nix
new file mode 100644
index 00000000000..f9d5b6efa8f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jpeg/default.nix
@@ -0,0 +1,14 @@
+{cabal, mtl}:
+
+cabal.mkDerivation (self : {
+  pname = "jpeg";
+  version = "0.0.1";
+  sha256 = "848e047cfec5781a28f472e9cd27d016362211d88dd6adb4f826c37d29d8bba6";
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "JPEG decompression library";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/monads-fd/default.nix b/pkgs/development/libraries/haskell/monads-fd/default.nix
new file mode 100644
index 00000000000..d84d84975ae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monads-fd/default.nix
@@ -0,0 +1,14 @@
+{cabal, transformers}:
+
+cabal.mkDerivation (self : {
+  pname = "monads-fd";
+  version = "0.0.0.1";
+  sha256 = "7eaac97b2c91a670171f18ebeb3f73b1a45e16576851279f73ea2e1f5ec63b25";
+  propagatedBuildInputs = [transformers];
+  meta = {
+    description = "Monad classes, using functional dependencies";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/mtl/default.nix b/pkgs/development/libraries/haskell/mtl/default.nix
index 5881a2cd3df..6c8b1cf960d 100644
--- a/pkgs/development/libraries/haskell/mtl/default.nix
+++ b/pkgs/development/libraries/haskell/mtl/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "mtl";
-  version = "1.1.0.2"; # Haskell Platform 2009.0.0
+  version = "1.1.0.2"; # Haskell Platform 2009.0.0 and 2010.1.0.0
   sha256 = "a225aaf2b1e337f40c31e5c42f95eec9a4608322b0e4c135d2b31b8421a58d36";
   meta = {
     description = "Monad transformer library";
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.7.nix b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
new file mode 100644
index 00000000000..e04af7a932b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
@@ -0,0 +1,12 @@
+{cabal, parsec}:
+
+cabal.mkDerivation (self : {
+  pname = "network";
+  version = "2.2.1.7"; # Haskell Platform 2010.1.0.0
+  sha256 = "0e65b28a60764245c1ab6661a3566f286feb36e0e6f0296d6cd2b84adcd45d58";
+  propagatedBuildInputs = [parsec];
+  meta = {
+    description = "Networking-related facilities";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 1e7ab185bd7..de77d27c8b0 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -1,10 +1,13 @@
-{cabal, mtl, network, parsec, utf8String, xhtml, zipArchive}:
+{cabal, mtl, network, parsec, utf8String, xhtml, zipArchive, HTTP, xml,
+ texmath}:
 
 cabal.mkDerivation (self : {
   pname = "pandoc";
-  version = "1.2";
-  sha256 = "e922c8f4765a8d105abf30dbe21a73961357929cd2fb8dfd323f0f62ca0723b4";
-  propagatedBuildInputs = [mtl network parsec utf8String xhtml zipArchive];
+  version = "1.5.1.1";
+  sha256 = "6d2283cb618fcaea5ee5cb885ef6532bc34628b351f14a6bd85b098d7a4128d9";
+  propagatedBuildInputs = [
+    mtl network parsec utf8String xhtml zipArchive HTTP xml texmath
+  ];
   meta = {
     description = "Conversion between markup formats";
   };
diff --git a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
new file mode 100644
index 00000000000..38ec8247076
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
@@ -0,0 +1,12 @@
+{cabal, deepseq}:
+
+cabal.mkDerivation (self : {
+  pname = "parallel";
+  version = "2.2.0.1"; # Haskell Platform 2010.1.0.0
+  sha256 = "255310023138ecf618c8b450203fa2fc65feb68cd08ee4d369ceae72054168fd";
+  propagatedBuildInputs = [deepseq];
+  meta = {
+    description = "parallel programming library";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/parsec/default.nix b/pkgs/development/libraries/haskell/parsec/default.nix
index e0564d5720d..b0dcf5ef0e4 100644
--- a/pkgs/development/libraries/haskell/parsec/default.nix
+++ b/pkgs/development/libraries/haskell/parsec/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "parsec";
-  version = "2.1.0.1"; # Haskell Platform 2009.0.0
+  version = "2.1.0.1"; # Haskell Platform 2009.0.0 and 2010.1.0.0
   sha256 = "2d85e5b5c8b2b1f341037ce67e1db7fa47b31c083136796cfef9e5b945c656df";
   meta = {
     description = "Monadic parser combinators";
diff --git a/pkgs/development/libraries/haskell/pureMD5/default.nix b/pkgs/development/libraries/haskell/pureMD5/default.nix
new file mode 100644
index 00000000000..1e56df6d4bd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pureMD5/default.nix
@@ -0,0 +1,14 @@
+{cabal, binary}:
+
+cabal.mkDerivation (self : {
+  pname = "pureMD5";
+  version = "1.0.0.3";
+  sha256 = "3698e5bc8a0e20bed91b52f976235e52f2c1dd876aa40e94d6c7be293d67d482";
+  propagatedBuildInputs = [binary];
+  meta = {
+    description = "An unrolled implementation of MD5 purely in Haskell";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
new file mode 100644
index 00000000000..73d5afeedb2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
@@ -0,0 +1,12 @@
+{cabal, mtl}:
+
+cabal.mkDerivation (self : {
+  pname = "regex-base";
+  version = "0.93.1"; # Haskell Platform 2010.1.0.0
+  sha256 = "24a0e76ab308517a53d2525e18744d9058835626ed4005599ecd8dd4e07f3bef";
+  propagatedBuildInputs = [mtl];
+  meta = {
+    description = "Replaces/Ehances Text.Regex";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.92.nix b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
new file mode 100644
index 00000000000..68e9d2321d0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
@@ -0,0 +1,12 @@
+{cabal, regexBase, regexPosix}:
+
+cabal.mkDerivation (self : {
+  pname = "regex-compat";
+  version = "0.92"; # Haskell Platform 2010.1.0.0
+  sha256 = "430d251bd704071fca1e38c9b250543f00d4e370382ed552ac3d7407d4f27936";
+  propagatedBuildInputs = [regexBase regexPosix];
+  meta = {
+    description = "Replaces/Enhances Text.Regex";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
new file mode 100644
index 00000000000..1e7db2ab0b1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
@@ -0,0 +1,12 @@
+{cabal, regexBase}:
+
+cabal.mkDerivation (self : {
+  pname = "regex-posix";
+  version = "0.94.1"; # Haskell Platform 2010.1.0.0
+  sha256 = "63e76de0610d35f1b576ae65a25a38e04e758ed64b9b3512de95bdffd649485c";
+  propagatedBuildInputs = [regexBase];
+  meta = {
+    description = "Replaces/Enhances Text.Regex";
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
new file mode 100644
index 00000000000..0c41af7e1d3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "safe";
+  version = "0.2";
+  sha256 = "73b9a247c3ba8092236c8c912687399778ff31bf3df42d707563a1528a6fc0e0";
+  meta = {
+    description = "Library for safe (pattern match free) functions";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/salvia-protocol/default.nix b/pkgs/development/libraries/haskell/salvia-protocol/default.nix
new file mode 100644
index 00000000000..e1418423ae8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/salvia-protocol/default.nix
@@ -0,0 +1,14 @@
+{cabal, fclabels, parsec, safe, split, utf8String, bimap}:
+
+cabal.mkDerivation (self : {
+  pname = "salvia-protocol";
+  version = "1.0.1";
+  sha256 = "6b2312e52efaa81feec7461b1a3db77e1f2a8dfd829ae878b614c206a5e48928";
+  propagatedBuildInputs = [fclabels parsec safe split utf8String bimap];
+  meta = {
+    description = "Salvia webserver protocol suite";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/salvia/default.nix b/pkgs/development/libraries/haskell/salvia/default.nix
new file mode 100644
index 00000000000..658273ead31
--- /dev/null
+++ b/pkgs/development/libraries/haskell/salvia/default.nix
@@ -0,0 +1,19 @@
+{cabal, fclabels, MaybeTTransformers, monadsFd, pureMD5, safe,
+ salviaProtocol, split, text, threadmanager, transformers, utf8String,
+ network, stm, time}:
+
+cabal.mkDerivation (self : {
+  pname = "salvia";
+  version = "1.0.0";
+  sha256 = "d1be63e3eb7cb071e8e339d730692b3ce52576e513f718b89a194b17878496e1";
+  propagatedBuildInputs = [
+    fclabels MaybeTTransformers monadsFd pureMD5 safe salviaProtocol
+    split text threadmanager transformers utf8String network stm time
+  ];
+  meta = {
+    description = "Modular web application framework";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/sendfile/default.nix b/pkgs/development/libraries/haskell/sendfile/default.nix
new file mode 100644
index 00000000000..f35719d75f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/sendfile/default.nix
@@ -0,0 +1,14 @@
+{cabal, network}:
+
+cabal.mkDerivation (self : {
+  pname = "sendfile";
+  version = "0.6.1";
+  sha256 = "c21b7f0f9a03a5e6d9b0691f5f0be9969d175f0514becdc199f0fd49097e51a2";
+  propagatedBuildInputs = [network];
+  meta = {
+    description = "A portable sendfile library";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/stm/default.nix b/pkgs/development/libraries/haskell/stm/default.nix
index 707fd980cbf..de3f7e3bc03 100644
--- a/pkgs/development/libraries/haskell/stm/default.nix
+++ b/pkgs/development/libraries/haskell/stm/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "stm";
-  version = "2.1.1.2"; # Haskell Platform 2009.0.0
+  version = "2.1.1.2"; # Haskell Platform 2009.0.0 and 2010.1.0.0
   sha256 = "68d550067ae180373142c51f3fa14bdf0a1516310aee9a37e28f9ac7cf3b8c6d";
   meta = {
     description = "Software Transactional Memory";
diff --git a/pkgs/development/libraries/haskell/strictConcurrency/default.nix b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
index 6e43e157c37..5e90fd74e1a 100644
--- a/pkgs/development/libraries/haskell/strictConcurrency/default.nix
+++ b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "strict-concurrency";
-  version = "0.2.1";
-  sha256 = "8838600033bde2ce7ca6bd95a3815412da67244b57dfc0e2246a8f2469f5fd9c";
+  version = "0.2.3";
+  sha256 = "21641b983b226e47727ff565184a5f2b312c7979ff487a5e478f5cfc82f78f18";
   propagatedBuildInputs = [parallel];
   meta = {
     description = "Strict concurrency abstractions";
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class.nix b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
index 5e9c4dff083..e6ea92a169e 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "syb-with-class";
-  version = "0.5.1";
-  sha256 = "71f8ada3f5c3a41cbbc73f11ba4d1ffd51509716657564f12856f94f041ecbd6";
+  version = "0.6";
+  sha256 = "8ee836b491b0f64ab0920d1a7314323439665a7b1afa78810cbbc95dc658bfdc";
   meta = {
     description = "Scrap Your Boilerplate With Class";
   };
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
new file mode 100644
index 00000000000..66369cb60ba
--- /dev/null
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -0,0 +1,14 @@
+{cabal, cgi, json, parsec, xml}:
+
+cabal.mkDerivation (self : {
+  pname = "texmath";
+  version = "0.2.0.3";
+  sha256 = "d355a298d28b9f5356926c2d2942f28ed07afa9d944cadfa47d8cdec73725b55";
+  propagatedBuildInputs = [cgi json parsec xml];
+  meta = {
+    description = "Conversion of LaTeX math formulas to MathML";
+    license = "GPL";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/text/default.nix b/pkgs/development/libraries/haskell/text/default.nix
index 3fb02befcfa..e2c4b2f13d6 100644
--- a/pkgs/development/libraries/haskell/text/default.nix
+++ b/pkgs/development/libraries/haskell/text/default.nix
@@ -1,11 +1,14 @@
-{cabal}:
+{cabal, deepseq}:
 
 cabal.mkDerivation (self : {
   pname = "text";
-  version = "0.5";
-  sha256 = "02c3b6a57e1250dc0945d909dffdc256c2e720e751b8a75d6117522c85100fc2";
+  version = "0.7.1.0";
+  sha256 = "a6daa0ee43ddede620363ab26614fef69361bd5b8f77aa6918b5a4ecb083f425";
+  propagatedBuildInputs = [deepseq];
   meta = {
     description = "An efficient package Unicode text type";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/threadmanager/default.nix b/pkgs/development/libraries/haskell/threadmanager/default.nix
new file mode 100644
index 00000000000..b80b374baa7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/threadmanager/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "threadmanager";
+  version = "0.1.3";
+  sha256 = "22ca45d7e32518736abb9cde6d2d14163128888769fc02bbc2641fd97318a15a";
+  meta = {
+    description = "Simple thread management";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix
new file mode 100644
index 00000000000..ae1c54ec973
--- /dev/null
+++ b/pkgs/development/libraries/haskell/unix-compat/default.nix
@@ -0,0 +1,13 @@
+{cabal}:
+
+cabal.mkDerivation (self : {
+  pname = "unix-compat";
+  version = "0.1.2.1";
+  sha256 = "553326e140f71f09cedeec5f74666171c2ad2b3d9ba4312da97da02cbf8a2e85";
+  meta = {
+    description = "Portable POSIX-compatibility layer";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/url/default.nix b/pkgs/development/libraries/haskell/url/default.nix
new file mode 100644
index 00000000000..d82af144515
--- /dev/null
+++ b/pkgs/development/libraries/haskell/url/default.nix
@@ -0,0 +1,14 @@
+{cabal, utf8String}:
+
+cabal.mkDerivation (self : {
+  pname = "url";
+  version = "2.1.2";
+  sha256 = "2cf5c4296418afe3940ae4de66d867897b1382cc4d37a0b9a5ccffa16743ef91";
+  propagatedBuildInputs = [utf8String];
+  meta = {
+    description = "A library for working with URLs";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})  
+
diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix
index 2514da38ad7..9b29afb1557 100644
--- a/pkgs/development/libraries/haskell/uulib/default.nix
+++ b/pkgs/development/libraries/haskell/uulib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "uulib";
-  version = "0.9.11";
-  sha256 = "f364ec14f249c9fc28ab341050c7e1cc1bde865fb787e4456c07c1df450815c8";
+  version = "0.9.12";
+  sha256 = "e2ea76db10e5ce94cf6282642754d0e65e5abadc620b3827aa2ab497b88e6747";
   meta = {
     description = "Haskell Utecht Tools Library";
   };
diff --git a/pkgs/development/libraries/haskell/xhtml/default.nix b/pkgs/development/libraries/haskell/xhtml/default.nix
index 916b57e3263..c09ed444d3e 100644
--- a/pkgs/development/libraries/haskell/xhtml/default.nix
+++ b/pkgs/development/libraries/haskell/xhtml/default.nix
@@ -2,7 +2,7 @@
 
 cabal.mkDerivation (self : {
   pname = "xhtml";
-  version = "3000.2.0.1"; # Haskell Platform 2009.0.0
+  version = "3000.2.0.1"; # Haskell Platform 2009.0.0 and 2010.1.0.0
   sha256 = "60d7a44ae6d607475e2d60c5bf9909b8a3bd88850d52b08ff1532aa6d58bec96";
   meta = {
     description = "An XHTML combinator library";
diff --git a/pkgs/development/libraries/haskell/xml/default.nix b/pkgs/development/libraries/haskell/xml/default.nix
index 275f6e6d5b0..096934dfeae 100644
--- a/pkgs/development/libraries/haskell/xml/default.nix
+++ b/pkgs/development/libraries/haskell/xml/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "xml";
-  version = "1.3.4";
-  sha256 = "87da09814e79d8d1f31eba4936b291d4522224187d44e1e085839726f0e7a0dd";
+  version = "1.3.5";
+  sha256 = "d61abd617e6e4d5b384e19403486ecc0e5dccf412a235acce2a7b7072e97c3ab";
   meta = {
     description = "A simple XML library";
   };
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
index 11a7675c0d2..23fb5045cd4 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "zip-archive";
-  version = "0.1.1.3";
-  sha256 = "2caa3e6020c394c740b942685306c71e91bebf6e499627dc20fdf0ac7925a57a";
+  version = "0.1.1.6";
+  sha256 = "16aafc5f74c880398413a7c2adaaf90cae86006dcda58f663c1e1d795add90aa";
   propagatedBuildInputs = [binary mtl utf8String zlib digest];
   meta = {
     description = "Library for creating and modifying zip archives";
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
new file mode 100644
index 00000000000..d97e18ccf23
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
@@ -0,0 +1,13 @@
+{cabal, zlib}:
+
+cabal.mkDerivation (self : {
+  pname = "zlib";
+  version = "0.5.2.0"; # Haskell Platform 2010.1.0.0
+  sha256 = "4119fb627e0adc2b129acd86fe5724cf05a49d8de5b64eb7a6e519d3befd3b8f";
+  # TODO: find out exactly why propagated is needed here (to build other
+  # packages depending on zlib):
+  propagatedBuildInputs = [zlib];
+  meta = {
+    description = "Compression and decompression in the gzip and zlib formats";
+  };
+})
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 8dede02fb0a..53c33787da5 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -1,14 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, cairo, expat }:
+{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses
+, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "hwloc-0.9.2";
+  name = "hwloc-1.0rc1";
 
   src = fetchurl {
-    url = "http://www.open-mpi.org/software/hwloc/v0.9/downloads/${name}.tar.bz2";
-    sha256 = "1smxvz2g05kci1ra78iqmgk02rym3qwh1mrm68rxv70fhqhvq741";
+    url = "http://www.open-mpi.org/software/hwloc/v1.0/downloads/${name}.tar.bz2";
+    sha256 = "0mgjlyfwp1pbl2312l9diwjw53yb9hb62slmvcb3xvhqdwvj0d7s";
   };
 
-  buildInputs = [ pkgconfig cairo expat ];
+  patches = [ ./ncurses.patch ];
+
+  preConfigure = "autoreconf -vfi";
+
+  buildInputs = [ autoconf automake libtool pkgconfig cairo expat ncurses ];
 
   doCheck = true;
 
@@ -37,11 +42,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.open-mpi.org/projects/hwloc/;
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
-
-    # It doesn't support the BSDs.
-    platforms = stdenv.lib.platforms.linux
-             ++ stdenv.lib.platforms.darwin
-             ++ stdenv.lib.platforms.cygwin
-             /* ++ opensolaris */;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/hwloc/ncurses.patch b/pkgs/development/libraries/hwloc/ncurses.patch
new file mode 100644
index 00000000000..58dffea5265
--- /dev/null
+++ b/pkgs/development/libraries/hwloc/ncurses.patch
@@ -0,0 +1,13 @@
+Help `configure' find `tparm' in libncurses.
+
+--- a/config/hwloc.m4	2010-04-19 14:25:53.000000000 +0200
++++ b/config/hwloc.m4	2010-04-19 14:24:23.000000000 +0200
+@@ -285,7 +285,7 @@ EOF])
+     LIBS=
+     AC_CHECK_HEADERS([curses.h], [
+       AC_CHECK_HEADERS([term.h], [
+-        AC_SEARCH_LIBS([tparm], [termcap curses], [
++        AC_SEARCH_LIBS([tparm], [ncurses termcap curses], [
+             AC_SUBST([HWLOC_TERMCAP_LIBS], ["$LIBS"])
+             AC_DEFINE([HWLOC_HAVE_LIBTERMCAP], [1],
+                       [Define to 1 if you have a library providing the termcap interface])
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 744554c338f..9782948ba53 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -1,14 +1,15 @@
-{fetchurl, stdenv, zlib, bzip2, e2fsprogs, sharutils}:
+{fetchurl, stdenv, acl, openssl, libxml2, attr, zlib, bzip2, xz, e2fsprogs
+, sharutils}:
 
 stdenv.mkDerivation rec {
-  name = "libarchive-2.4.12";
+  name = "libarchive-2.8.3";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/${name}.tar.gz";
-    sha256 = "133kxx1wfangrhy6rcpqlqib7i45qxj8pcp3i9n574cwfx41swy4";
+    url = "http://libarchive.googlecode.com/files/${name}.tar.gz";
+    sha256 = "16095d15334b3c8dbb02db5af3d415f12c1c3bdd4eb43af7bbc36ab7572c0b7a";
   };
 
-  propagatedBuildInputs = [zlib bzip2 e2fsprogs];
+  propagatedBuildInputs = [acl libxml2 zlib bzip2 e2fsprogs xz attr openssl];
   
   buildInputs = [sharutils];
   
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index 74254160edb..fc26fb9aca1 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,20 +1,20 @@
-{fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man}:
+{ fetchurl, stdenv, libcddb, pkgconfig, ncurses, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-0.80";
+  name = "libcdio-0.82";
   
   src = fetchurl {
     url = "mirror://gnu/libcdio/${name}.tar.gz";
-    sha256 = "0rnayw7gcq6jii2xrgg2n4wa8bsf5rw2hcww214lc0ssvcs1m95i";
+    sha256 = "0fax1dzy84dzs20bmpq2gfw6hc1x2x9mhk53wynhcycjw3l3vjqs";
   };
 
-  buildInputs = [libcddb pkgconfig ncurses help2man];
+  buildInputs = [ libcddb pkgconfig ncurses help2man ];
 
   # Disabled because one test (check_paranoia.sh) fails.
   #doCheck = true;
 
   meta = {
-    description = "A library for OS-idependent CD-ROM and CD image access";
+    description = "A library for OS-independent CD-ROM and CD image access";
     longDescription = ''
       GNU libcdio is a library for OS-idependent CD-ROM and
       CD image access.  It includes a library for working with
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
new file mode 100644
index 00000000000..9f5127905c2
--- /dev/null
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  name = "libcue-1.3.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/libcue/${name}.tar.bz2";
+    sha256 = "0gcd9maxh82fc0qah0q8xh74sch0px3n7c0qx0298n2qbk2mkn12";
+  };
+  meta = {
+    description = "A library to parse a cue sheet";
+    longDescription = ''
+      libcue is intended to parse a so called cue sheet from a char string or
+      a file pointer. For handling of the parsed data a convenient API is
+      available.
+    '';
+    homepage = http://sourceforge.net/projects/libcue/;
+    license = "GPLv2";
+    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index a023e1ceea9..2121449af5a 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses }:
+{ stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
   name = "libedit-20090923-3.0";
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "02j66qbd1c9wfghpjb8dzshkcj4i0n9xanxy81552j3is9ilxjka";
   };
 
+  postInstall = ''
+    sed -i s/-lcurses/-lncurses/g $out/lib/pkgconfig/libedit.pc
+  '';
+
   propagatedBuildInputs = [ ncurses ];
 
   meta = {
diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix
index 4667f44b188..6805434dcec 100644
--- a/pkgs/development/libraries/libftdi/default.nix
+++ b/pkgs/development/libraries/libftdi/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libusb}:
 
 stdenv.mkDerivation rec {
-  name = "libftdi-0.16";
+  name = "libftdi-0.17";
   
   src = fetchurl {
     url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.gz";
-    sha256 = "1n12lcvpzmkph12gmg7i7560s0yly2gjgwhxh2h2inq93agg1xv2";
+    sha256 = "1w5bzq4h4v9qah9dx0wbz6w7ircr91ack0sh6wqs8s5b4m8jgh6m";
   };
 
   buildInputs = [ libusb ];
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index c29d3d29558..e137c939771 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256 = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151";
   };
 
-  buildInputs = [zlib];
+  propagatedBuildInputs = [zlib];
 
   meta = {
     description = "An ID3 tag manipulation library.";
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
new file mode 100644
index 00000000000..fb3a2fd11d0
--- /dev/null
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, gtk, useGTK ? false }:
+
+stdenv.mkDerivation rec {
+  name = "libiodbc-3.52.7";
+
+  src = fetchurl {
+    url = "${meta.homepage}/downloads/iODBC/${name}.tar.gz";
+    sha256 = "d7002cc7e566785f1203f6096dcb49b0aad02a9d9946a8eca5d663ac1a85c0c7";
+  };
+
+  buildInputs = stdenv.lib.optionals useGTK [ gtk pkgconfig ];
+
+  meta = {
+    description = "iODBC driver manager";
+    homepage = http://www.iodbc.org;
+  };
+}
diff --git a/pkgs/development/libraries/libmad/default.nix b/pkgs/development/libraries/libmad/default.nix
index aa5c3526e85..83070b92ac6 100644
--- a/pkgs/development/libraries/libmad/default.nix
+++ b/pkgs/development/libraries/libmad/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, autoconf}:
 
 stdenv.mkDerivation {
   name = "libmad-0.15.1b";
@@ -8,8 +8,11 @@ stdenv.mkDerivation {
     sha256 = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690";
   };
 
+  patches = [ ./pkgconfig.patch ];
+
   # The -fforce-mem flag has been removed in GCC 4.3.
   preConfigure = ''
+    ${autoconf}/bin/autoconf
     substituteInPlace configure --replace "-fforce-mem" ""
   '';
 
diff --git a/pkgs/development/libraries/libmad/pkgconfig.patch b/pkgs/development/libraries/libmad/pkgconfig.patch
new file mode 100644
index 00000000000..0ac88acb841
--- /dev/null
+++ b/pkgs/development/libraries/libmad/pkgconfig.patch
@@ -0,0 +1,117 @@
+diff -ruN libmad-0.15.1b.orig/Makefile.am libmad-0.15.1b/Makefile.am
+--- libmad-0.15.1b.orig/Makefile.am	2004-02-17 02:02:03.000000000 +0000
++++ libmad-0.15.1b/Makefile.am	2005-08-25 12:08:04.000000000 +0000
+@@ -33,9 +33,12 @@
+ minimad_INCLUDES =	
+ minimad_LDADD =		libmad.la
+ 
+-EXTRA_DIST =		mad.h.sed  \
++EXTRA_DIST =		mad.h.sed mad.pc.in \
+ 			CHANGES COPYRIGHT CREDITS README TODO VERSION
+ 
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA= mad.pc
++
+ exported_headers =	version.h fixed.h bit.h timer.h stream.h frame.h  \
+ 			synth.h decoder.h
+ 
+diff -ruN libmad-0.15.1b.orig/Makefile.in libmad-0.15.1b/Makefile.in
+--- libmad-0.15.1b.orig/Makefile.in	2004-02-17 02:33:23.000000000 +0000
++++ libmad-0.15.1b/Makefile.in	2005-08-25 12:09:34.000000000 +0000
+@@ -14,6 +14,8 @@
+ 
+ @SET_MAKE@
+ 
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = mad.pc
+ 
+ SOURCES = $(libmad_la_SOURCES) $(EXTRA_libmad_la_SOURCES) $(minimad_SOURCES)
+ 
+@@ -43,7 +45,7 @@
+ 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ 	$(srcdir)/config.h.in $(srcdir)/libmad.list.in \
+ 	$(top_srcdir)/configure COPYING INSTALL TODO config.guess \
+-	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
++	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs mad.pc.in
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+@@ -53,7 +55,7 @@
+  configure.lineno configure.status.lineno
+ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+ CONFIG_HEADER = config.h
+-CONFIG_CLEAN_FILES = libmad.list
++CONFIG_CLEAN_FILES = libmad.list mad.pc
+ am__installdirs = $(DESTDIR)$(libdir) $(DESTDIR)$(includedir)
+ libLTLIBRARIES_INSTALL = $(INSTALL)
+ LTLIBRARIES = $(lib_LTLIBRARIES)
+@@ -218,7 +220,7 @@
+ minimad_SOURCES = minimad.c
+ minimad_INCLUDES = 
+ minimad_LDADD = libmad.la
+-EXTRA_DIST = mad.h.sed  \
++EXTRA_DIST = mad.h.sed  mad.pc.in \
+ 			CHANGES COPYRIGHT CREDITS README TODO VERSION
+ 
+ exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h  \
+@@ -298,6 +300,28 @@
+ 	rm -f stamp-h1
+ 	touch $@
+ 
++mad.pc: $(top_builddir)/config.status mad.pc.in
++	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
++
++install-pkgconfigDATA: $(pkgconfig_DATA)
++	@$(NORMAL_INSTALL)
++	$(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
++	@list='$(pkgconfig_DATA)'; for p in $$list; do \
++	  if test -f $(srcdir)/$$p; then \
++	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
++	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgconfigdir)/$$p; \
++	  else if test -f $$p; then \
++	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p"; \
++	    $(INSTALL_DATA) $$p $(DESTDIR)$(pkgconfigdir)/$$p; \
++	  fi; fi; \
++	done
++
++uninstall-pkgconfigDATA:
++	@$(NORMAL_UNINSTALL)
++	list='$(pkgconfig_DATA)'; for p in $$list; do \
++	  rm -f $(DESTDIR)$(pkgconfigdir)/$$p; \
++	done
++
+ distclean-hdr:
+ 	-rm -f config.h stamp-h1
+ libmad.list: $(top_builddir)/config.status $(srcdir)/libmad.list.in
+@@ -726,7 +750,7 @@
+ 
+ info-am:
+ 
+-install-data-am: install-includeHEADERS
++install-data-am: install-includeHEADERS install-pkgconfigDATA
+ 
+ install-exec-am: install-libLTLIBRARIES
+ 
+@@ -757,7 +781,7 @@
+ ps-am:
+ 
+ uninstall-am: uninstall-includeHEADERS uninstall-info-am \
+-	uninstall-libLTLIBRARIES
++	uninstall-libLTLIBRARIES install-pkgconfigDATA
+ 
+ uninstall-info: uninstall-info-recursive
+ 
+diff -ruN libmad-0.15.1b.orig/mad.pc.in libmad-0.15.1b/mad.pc.in
+--- libmad-0.15.1b.orig/mad.pc.in	1970-01-01 00:00:00.000000000 +0000
++++ libmad-0.15.1b/mad.pc.in	2005-08-25 12:08:04.000000000 +0000
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: MAD
++Description: libmad - MPEG audio decoder library
++Version: @VERSION@
++Libs: -L${libdir} -lmad
++Cflags:
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
new file mode 100644
index 00000000000..3d2a2635fbc
--- /dev/null
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, texinfo }:
+stdenv.mkDerivation rec {
+  name = "libmikmod-3.1.12";
+  src = fetchurl {
+    url = "mirror://sourceforge/mikmod/${name}.tar.gz";
+    sha256 = "0cpwpl0iqd5zsdwshw69arzlwp883bkmkx41wf3fzrh60dw2n6l9";
+  };
+  buildInputs = [ texinfo ];
+  meta = {
+    description = "A library for playing tracker music module files";
+    longDescription = ''
+      A library for playing tracker music module files supporting many formats,
+      including MOD, S3M, IT and XM.
+    '';
+    homepage = http://mikmod.raphnet.net/;
+    license = "LGPLv2+";
+    maintainers = with stdenv.lib.maintainers; [ astsmtl ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index fbd73230d73..cb01c2b47db 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -1,18 +1,24 @@
 { stdenv, fetchurl, flex, bison }:
 
 stdenv.mkDerivation rec {
-  name = "libpcap-1.0.0";
+  name = "libpcap-1.1.1";
   
   src = fetchurl {
     url = "http://www.tcpdump.org/release/${name}.tar.gz";
-    sha256 = "1h3kmj485qz1i08xs4sc3a0bmhs1rvq0h7gycs7paap2szhw8552";
+    sha256 = "11asds0r0vd9skbwfbgb1d2hqxr1d92kif4qhhqx2mbyahawm32h";
   };
   
-  buildInputs = [ flex bison ];
+  buildNativeInputs = [ flex bison ];
   
   configureFlags = "--with-pcap=linux";
 
   preInstall = ''ensureDir $out/bin'';
   
   patches = [ ./libpcap_amd64.patch ];
+
+  crossAttrs = {
+    # Stripping hurts in static libraries
+    dontStrip = true;
+    configureFlags = [ "--with-pcap=linux" "ac_cv_linux_vers=2" ];
+  };
 }
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index e259c7b6e43..31ae886d2e4 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-2.4";
+  name = "libtasn1-2.5";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "03qz9wnx3643wvy10603syx97mi634z6bhdwznzmqcsq6hwg5g69";
+    sha256 = "0xr4hsrs7cjx5zy7nkm6a93gkx7dkynyycgk2ayhscf5n5z96pyz";
   };
 
+  doCheck = true;
+
   meta = {
     homepage = http://www.gnu.org/software/libtasn1/;
     description = "GNU Libtasn1, an ASN.1 library";
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 2e6de49958e..344db123801 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, unicode ? true}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation ( rec {
   name = "ncurses-5.7";
   
   src = fetchurl {
@@ -53,4 +53,4 @@ stdenv.mkDerivation rec {
 
     license = "X11";
   };
-}
+} // ( if stdenv.isDarwin then { postFixup = "rm $out/lib/*.so"; } else { } ) )
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 6ed8db7f10e..88dc9ffe696 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-let version = "4.8.3"; in
+let version = "4.8.4"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "1n7vyjj8x8qaqf59slnxngn47gl5wpiq420bnsyc55hava1qgzxp";
+    sha256 = "0ik73yimgfpj3lkqjnpf76b942j76i5yi1z8bn75dxxc08brl4cc";
   };
 
   preConfigure = "cd mozilla/nsprpub";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 473405c5951..a51c355b644 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, nspr, perl, zlib}:
+{ stdenv, fetchurl, nspr, perl, zlib }:
 
 let
 
@@ -10,11 +10,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nss-3.12.5";
+  name = "nss-3.12.6";
   
   src = fetchurl {
-    url = http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_5_RTM/src/nss-3.12.5.tar.gz;
-    sha1 = "ec12c6eddba5fb4609a174b079095b374935d37c";
+    url = http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_6_RTM/src/nss-3.12.6.tar.gz;
+    sha1 = "461e81adbdef6c3f848fcfee0dc5ad8c2dbebd46";
   };
 
   buildInputs = [nspr perl zlib];
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index 244c3886822..1a295f7da7d 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -2,11 +2,11 @@
   xineLib, gstreamer }:
 
 stdenv.mkDerivation rec {
-  name = "opencv-2.0.0";
+  name = "opencv-2.1.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/opencvlibrary/OpenCV-2.0.0.tar.bz2";
-    sha256 = "08h03qzawj6zwifrh8rq66y4cya1kxx9ixrbq7phlac79nbvjzf1";
+    url = "mirror://sourceforge/opencvlibrary/OpenCV-2.1.0.tar.bz2";
+    sha256 = "0zrr24hr64gz35qb95nsvvbmdf89biglpy9z14y5kaxh5baiy1i6";
   };
 
   buildInputs = [ cmake gtk glib libjpeg libpng libtiff jasper ffmpeg pkgconfig
diff --git a/pkgs/development/libraries/qt-4.4/default.nix b/pkgs/development/libraries/qt-4.4/default.nix
deleted file mode 100644
index a378a9dd94b..00000000000
--- a/pkgs/development/libraries/qt-4.4/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-args: with args;
-
-stdenv.mkDerivation {
-  name = "qt-4.4.3";
-  
-  src = fetchurl {
-    url = ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.3.tar.bz2;
-    sha256 = "1nfdf1aj6vb7qyacsnjyjxrnaf44hz7vzykf6zra2znd87pglz51";
-  };
-  
-  setupHook = ./setup-hook.sh;
-  
-  propagatedBuildInputs = [
-    libXft 
-    libXrender 
-    libXrandr 
-    randrproto 
-    xextproto
-    libXinerama 
-    xineramaproto 
-    libXcursor 
-    zlib 
-    libjpeg 
-    mysql 
-    libpng 
-    which 
-    mesa
-    libXmu 
-    openssl 
-    dbus.libs 
-    cups 
-    pkgconfig 
-    libXext 
-    freetype 
-    fontconfig 
-    inputproto
-    fixesproto 
-    libXfixes 
-    glib 
-    libtiff
-  ];
-  
-  prefixKey = "-prefix ";
-  
-  configureFlags = ''
-    -v -no-separate-debug-info -release
-    -system-zlib -system-libpng -system-libjpeg -fast
-    -qt-gif -confirm-license
-    -opengl -xrender -xrandr -xinerama -xcursor -qt-sql-mysql
-    -qdbus -cups -glib -xfixes -dbus-linked
-    -fontconfig -I${freetype}/include/freetype2
-  '';
-
-  patchPhase = ''
-    substituteInPlace configure --replace /bin/pwd pwd
-    sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf
-  '';
-
-  # Remove the documentation: it takes up >= 130 MB, which is more
-  # than half of the installed size.  Ideally we should put this in a
-  # separate package (as well as the Qt Designer).
-  postInstall = ''
-    rm -rf $out/doc
-  '';
-
-  meta = {
-    homepage = http://www.qtsoftware.com/downloads/opensource/appdev/linux-x11-cpp;
-    description = "A cross-platform application framework for C++";
-  };
-}
diff --git a/pkgs/development/libraries/qt-4.4/setup-hook.sh b/pkgs/development/libraries/qt-4.4/setup-hook.sh
deleted file mode 100644
index f9ecacbbb7d..00000000000
--- a/pkgs/development/libraries/qt-4.4/setup-hook.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-export QTDIR=@out@
-
-if [ -n "$includeAllQtDirs" ]; then
-  # This helps for g++, but not for moc. And no qt4 package should expect
-  # having all qt4 header files dirs into -I.
-  for d in @out@/include/*; do
-      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$d"
-  done
-fi
diff --git a/pkgs/development/libraries/qt-4.6/default.nix b/pkgs/development/libraries/qt-4.6/default.nix
index 8f0746a59cc..0a83cc9e4a5 100644
--- a/pkgs/development/libraries/qt-4.6/default.nix
+++ b/pkgs/development/libraries/qt-4.6/default.nix
@@ -47,6 +47,11 @@ stdenv.mkDerivation {
     glib 
     libtiff
   ];
+
+  # libQtNetwork will call libQtCore for it to dlopen openssl.
+  NIX_LDFLAGS = "-rpath ${openssl}/lib";
+  # Don't shrink the rpath, to keep ${openssl} in it.
+  dontPatchELF = 1;
   
   prefixKey = "-prefix ";
 
diff --git a/pkgs/development/libraries/redland/1.0.10.nix b/pkgs/development/libraries/redland/1.0.10.nix
index 141094a8160..959581d407e 100644
--- a/pkgs/development/libraries/redland/1.0.10.nix
+++ b/pkgs/development/libraries/redland/1.0.10.nix
@@ -22,14 +22,5 @@ stdenv.mkDerivation rec {
     [ "--with-threads" ]
     ++ stdenv.lib.optional (bdb != null) "--with-bdb=${bdb}";
   
-  patchPhase =
-    ''
-      sed -e 1s@/usr@${perl}@ -i utils/touch-mtime.pl
-
-      # Redland 1.0.9 uses an internal pre-processor symbol SQLITE_API
-      # that collides with a symbol of the same name in sqlite 3.6.19.
-      # This is a quick fix for the problem. A real solution needs to be
-      # implemented upstream, though.
-      find . -type f -exec sed -i -e 's/SQLITE_API/REDLAND_SQLITE_API/g' {} \;
-    '';
+  patchPhase ="sed -e 1s@/usr@${perl}@ -i utils/touch-mtime.pl";
 }
diff --git a/pkgs/development/libraries/redland/1.0.8.nix b/pkgs/development/libraries/redland/1.0.8.nix
deleted file mode 100644
index 6d0294ee394..00000000000
--- a/pkgs/development/libraries/redland/1.0.8.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libxslt, perl
-, curl, pcre, libxml2, librdf_rasqal, librdf_raptor
-, mysql ? null, postgresql ? null, sqlite ? null, bdb ? null
-}:
-
-stdenv.mkDerivation rec {
-  name = "redland-1.0.8";
-
-  src = fetchurl {
-    url = "mirror://sf/librdf/${name}.tar.gz";
-    sha256 = "8a77fcfd20fea2c6e53761d6dcbbee3fdb35e5308de36c1daa0d2014e5a96afe";
-  };
-  
-  buildInputs = [ pkgconfig ];
-  
-  propagatedBuildInputs =
-    [ bdb openssl libxslt perl mysql postgresql sqlite curl pcre libxml2
-      librdf_rasqal librdf_raptor
-    ];
-    
-  configureFlags =
-    [ "--with-threads" ]
-    ++ stdenv.lib.optional (bdb != null) "--with-bdb=${bdb}";
-  
-  patchPhase =
-    ''
-      sed -e 1s@/usr@${perl}@ -i utils/touch-mtime.pl
-
-      # Redland 1.0.9 uses an internal pre-processor symbol SQLITE_API
-      # that collides with a symbol of the same name in sqlite 3.6.19.
-      # This is a quick fix for the problem. A real solution needs to be
-      # implemented upstream, though.
-      find . -type f -exec sed -i -e 's/SQLITE_API/REDLAND_SQLITE_API/g' {} \;
-    '';
-}
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 3e9d2804ced..f700b862246 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.6.22";
+  name = "sqlite-3.6.23";
 
   src = fetchurl {
-    url = "http://www.sqlite.org/sqlite-amalgamation-3.6.22.tar.gz";
-    sha256 = "1k5qyl0v2y4fpkh7vvxvb0irpnl71g0ffhfc3ksm40mrhcdq9qk8";
+    url = "http://www.sqlite.org/sqlite-amalgamation-3.6.23.tar.gz";
+    sha256 = "a5de9ec9273acabc6cb18235df802549c476410b09d58a206e02862b4dc303ae";
   };
 
   buildInputs = [readline ncurses];
diff --git a/pkgs/development/libraries/tapioca-qt/default.nix b/pkgs/development/libraries/tapioca-qt/default.nix
deleted file mode 100644
index 5d5fad9d928..00000000000
--- a/pkgs/development/libraries/tapioca-qt/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl, cmake, qt4, telepathy_qt}:
-
-stdenv.mkDerivation {
-  name = "tapioca-qt-0.14.1";
-  src = fetchurl {
-    url = mirror://sourceforge/tapioca-voip/tapioca-qt-0.14.1.tar.gz;
-    md5 = "169318705af6386057b537c5317d520d";
-  };
-  buildInputs = [ cmake qt4 telepathy_qt ];
-}
diff --git a/pkgs/development/libraries/wvstreams/default.nix b/pkgs/development/libraries/wvstreams/default.nix
new file mode 100644
index 00000000000..28bab029172
--- /dev/null
+++ b/pkgs/development/libraries/wvstreams/default.nix
@@ -0,0 +1,23 @@
+args: with args;
+stdenv.mkDerivation {
+  name = "wvstreams-4.6.1";
+
+  src = fetchurl {
+    url = http://wvstreams.googlecode.com/files/wvstreams-4.6.1.tar.gz;
+    sha256 = "0cvnq3mvh886gmxh0km858aqhx30hpyrfpg1dh6ara9sz3xza0w4";
+  };
+
+  preConfigure = ''
+    find -type f | xargs sed -i 's@/bin/bash@bash@g'
+  '';
+
+  buildInputs = [qt4 dbus zlib openssl readline perl];
+
+  meta = {
+    description = "network programming library in C++";
+    homepage = http://alumnit.ca/wiki/index.php?page=WvStreams;
+    license = "LGPL";
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index b4ae9e63ea0..95c891e9bc7 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
     fi
   '';
 
+  crossAttrs = {
+    dontStrip = if static then true else false;
+  };
+
   # zlib doesn't like the automatic --disable-shared from the Cygwin stdenv.
   cygwinConfigureEnableShared = true;
 }
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 91b0500eeaa..96094ab4e53 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -1,6 +1,6 @@
 perl:
 
-attrs:
+{ buildInputs ? [], ... } @ attrs:
 
 perl.stdenv.mkDerivation (
   {
@@ -22,6 +22,6 @@ perl.stdenv.mkDerivation (
   {
     name = "perl-" + attrs.name;
     builder = ./builder.sh;
-    buildInputs = [(if attrs ? buildInputs then attrs.buildInputs else []) perl];
+    buildInputs = buildInputs ++ [ perl ];
   }
 )
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 1f1ff8a37f9..8aebf1d7829 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, python, pkgconfig, cairo, x11}:
 
 stdenv.mkDerivation {
-  name = "pycairo-1.4.0";
+  name = "pycairo-1.8.8";
   src = fetchurl {
-    url = http://cairographics.org/releases/pycairo-1.4.0.tar.gz;
-    sha256 = "0cky2iw3ccbqh96y5ypbrxmmaj1jmdcmlss0k6p3jzkjxvzsy4lj";
+    url = http://cairographics.org/releases/pycairo-1.8.8.tar.gz;
+    sha256 = "0q18hd4ai4raljlvd76ylgi30kxpr2qq83ka6gzwh0ya8fcmjlig";
   };
 
   buildInputs = [python pkgconfig cairo x11];
diff --git a/pkgs/development/python-modules/pycups/default.nix b/pkgs/development/python-modules/pycups/default.nix
index ad17b5b0b0b..18de5fbe7f1 100644
--- a/pkgs/development/python-modules/pycups/default.nix
+++ b/pkgs/development/python-modules/pycups/default.nix
@@ -1,11 +1,17 @@
 {stdenv, fetchurl, python, cups}:
 
+let
+  version = "1.9.49";
+in
 stdenv.mkDerivation {
-  name = "pycups-1.9.48";
+  name = "pycups-${version}";
   src = fetchurl {
-    url = http://cyberelk.net/tim/data/pycups/pycups-1.9.48.tar.bz2;
-    sha256 = "11cz6pqp18wxrzpix55pin97mfcmdc4g13zpr739glb6c9mnj7qp";
+    url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2";
+    sha256 = "1gpp28sknjw5z4mzhaifc6hkfrlbm2y6w870q47ia8amnm05d3pk";
   };
-  installPhase = "python ./setup.py install --prefix $out";
+  buildPhase = "";
+  installPhase = ''
+    CFLAGS=-DVERSION=\\\"${version}\\\" python ./setup.py install --prefix $out
+  '';
   buildInputs = [ python cups ];
 }
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index e1128355303..4007b721011 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, python, pkgconfig, glib}:
 
 stdenv.mkDerivation {
-  name = "pygobject-2.12.3";
+  name = "pygobject-2.20.0";
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.12/pygobject-2.12.3.tar.bz2;
-    sha256 = "0hfsd7ln7j67w0vyrszic9b3d97gddad1y9arjw8i2b6h411xa7g";
+    url = http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.20/pygobject-2.20.0.tar.bz2;
+    sha256 = "10gsf3i2q9y659hayxyaxyfz7inswcjc8m6iyqckwsj2yjij7sa1";
   };
 
   buildInputs = [python pkgconfig glib];
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index a0d4eba644b..76b50372ca2 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -2,11 +2,11 @@
   , libglade ? null}:
 
 stdenv.mkDerivation {
-  name = "pygtk-2.10.4";
+  name = "pygtk-2.16.0";
 
   src = fetchurl {
-    url = http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.10/pygtk-2.10.4.tar.bz2;
-    sha256 = "1xg8vng42lql29aa5ryva8icc8dwdc7h2y3yn96qjdgl394d96mb";
+    url = http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.16/pygtk-2.16.0.tar.bz2;
+    sha256 = "1a24fkxslir8zb800hs4ix9iyvgqsy5c6hdfirrh2yi1mw0mxbkz";
   };
   
   buildInputs = [python pkgconfig glib gtk]
diff --git a/pkgs/development/python-modules/pyqt/3.17.4.nix b/pkgs/development/python-modules/pyqt/3.17.4.nix
deleted file mode 100644
index 435997a203c..00000000000
--- a/pkgs/development/python-modules/pyqt/3.17.4.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-args : with args; 
-rec {
-  src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/p/python-qt3/python-qt3_3.17.4.orig.tar.gz;
-    sha256 = "0p76g64ww9nhg1sahphanwb7nkjmsvxyaqk8k8iaycnlc8040c8r";
-  };
-
-  buildInputs = [qt python pkgconfig pythonSip libX11 libXext glib];
-  configureFlags = [" -q ${qt} "];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPythonConfigure" "doMakeInstall"];
-  extraPythonConfigureCommand = ''echo yes | \'';
-
-  name = "python-qt-" + version;
-  meta = {
-    description = "Qt bindings for Python";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/development/python-modules/pyqt/4.3.3.nix b/pkgs/development/python-modules/pyqt/4.3.3.nix
deleted file mode 100644
index 370366ba0e0..00000000000
--- a/pkgs/development/python-modules/pyqt/4.3.3.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args : with args;
-
-rec {
-  src = fetchurl {
-    url = mirror://debian/pool/main/p/python-qt4/python-qt4_4.3.3.orig.tar.gz;
-    sha256 = "0m8yzaz17nb8prm2kmy0mbiq4np515abi2xkadflsgwq1bj86qyk";
-  };
-
-  buildInputs = [qt python pkgconfig pythonSip libX11 libXext glib];
-  configureFlags = [" -p $prefix/share/pyQt4/plugins " '' -e "$prefix/include/python$pythonVersion" ''];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPythonConfigure" "doMakeInstall"];
-  extraPythonConfigureCommand = ''echo yes | \'';
-
-  name = "python-qt-4.3.3";
-  meta = {
-    description = "Qt bindings for Python";
-    license = "GPL";
-  };
-}
diff --git a/pkgs/development/python-modules/pyqt/4.7.nix b/pkgs/development/python-modules/pyqt/4.7.nix
deleted file mode 100644
index f6e85c338cb..00000000000
--- a/pkgs/development/python-modules/pyqt/4.7.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, lib, python, sip, qt4}:
-
-stdenv.mkDerivation {
-  name = "pyqt-x11-gpl-4.7";
-  src = fetchurl {
-    url = http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.tar.gz;
-    sha256 = "0hwp84igw639mgw344q2jmnjarhq5wk60ncn8h2jjg7k4vchbvkz";
-  };
-  configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/${python.libPrefix}/site-packages -v $out/share/sip -p $out/plugins";
-  buildInputs = [ python sip qt4 ];
-  meta = {
-    description = "Python bindings for Qt";
-    license = "GPL";
-    homepage = http://www.riverbankcomputing.co.uk;
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/development/python-modules/pyqt/default.nix b/pkgs/development/python-modules/pyqt/default.nix
index f2c72f0ff27..820e272dee1 100644
--- a/pkgs/development/python-modules/pyqt/default.nix
+++ b/pkgs/development/python-modules/pyqt/default.nix
@@ -1,18 +1,22 @@
-{stdenv, fetchurl, lib, python, sip, qt4}:
+{stdenv, fetchurl, python, sip, qt4}:
 
 stdenv.mkDerivation {
-  name = "pyqt-x11-gpl-4.5.4";
+  name = "pyqt-x11-gpl-4.7.3";
+  
   src = fetchurl {
-    url = http://pyqwt.sourceforge.net/support/PyQt-x11-gpl-4.5.4.tar.gz; # Not downloading from riverbank, since they remove older releases
-    sha256 = "1a55zng6yhnbk5swc02bkbyccdgf0f0v94yxk9v5a43hv9xnrl5k";
+    url = http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.3.tar.gz;
+    sha256 = "0p12m2rjsm3igpqqmgn79my2h16vhxq8dma9ih1744hpnirdcjjp";
   };
+  
   configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/${python.libPrefix}/site-packages -v $out/share/sip -p $out/plugins";
+  
   buildInputs = [ python sip qt4 ];
+  
   meta = {
     description = "Python bindings for Qt";
     license = "GPL";
     homepage = http://www.riverbankcomputing.co.uk;
-    maintainers = [ lib.maintainers.sander ];
-    platforms = lib.platforms.mesaPlatforms;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+    platforms = stdenv.lib.platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/python-modules/python-sip/4.10.nix b/pkgs/development/python-modules/python-sip/4.10.nix
deleted file mode 100644
index cdf7cf9aa40..00000000000
--- a/pkgs/development/python-modules/python-sip/4.10.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{stdenv, fetchurl, lib, python}:
-
-stdenv.mkDerivation {
-  name = "sip-4.10";
-  src = fetchurl {
-    url = http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.10.tar.gz;
-    sha256 = "15nnwn0x92iz5vh5d16dlqvxl56i8y4n4va53gc3f7z4d557d2nh";
-  };
-  configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include";
-  buildInputs = [ python ];
-  meta = {
-    description = "Creates C++ bindings for Python modules";
-    license = "GPL";
-    maintainers = [ lib.maintainers.sander ];
-  };
-}
diff --git a/pkgs/development/python-modules/python-sip/4.7.4.nix b/pkgs/development/python-modules/python-sip/4.7.4.nix
deleted file mode 100644
index 759246ebf0d..00000000000
--- a/pkgs/development/python-modules/python-sip/4.7.4.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-args : with args; 
-rec {
-  src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/s/sip4-qt3/sip4-qt3_4.7.4.orig.tar.gz;
-    sha256 = "0g518b26346q9b0lm13rsgdbq14r4nckyjbf209ylakwx6zir4l5";
-  };
-
-  buildInputs = [python];
-  configureFlags = [ '' -e "$prefix/include/python$pythonVersion" ''];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPythonConfigure" "doMakeInstall"];
-      
-  name = "python-sip-4.7.4";
-  meta = {
-    description = "Python/C++ bindings generator";
-  };
-}
diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix
index bd08b7e6a24..c1812bfec22 100644
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ b/pkgs/development/python-modules/python-sip/default.nix
@@ -1,16 +1,20 @@
-{stdenv, fetchurl, lib, python}:
+{ stdenv, fetchurl, python }:
 
-stdenv.mkDerivation {
-  name = "sip-4.8.2";
+stdenv.mkDerivation rec {
+  name = "sip-4.10.2";
+  
   src = fetchurl {
-    url = http://pyqwt.sourceforge.net/support/sip-4.8.2.tar.gz; # Not downloading from riverbank, since they remove older releases
-    sha256 = "1afr2qaibzgf8fq4fmc31jz9hvbwxbg5jvl68ygvkkdvnbg2kfrf";
+    url = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz";
+    sha256 = "1vw810fa3g59r3cnfizxykq7dg84zcgs278cwrksk7rsgz8gdn9q";
   };
+  
   configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include";
+  
   buildInputs = [ python ];
+  
   meta = {
     description = "Creates C++ bindings for Python modules";
     license = "GPL";
-    maintainers = [ lib.maintainers.sander ];
+    maintainers = [ stdenv.lib.maintainers.sander ];
   };
 }
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index d611f92d051..14f5519c3a8 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl}:
 
 stdenv.mkDerivation rec {
-  name = "lcov-1.7";
-  
+  name = "lcov-1.8";
+
   src = fetchurl {
     url = "mirror://sourceforge/ltp/${name}.tar.gz";
-    sha256 = "1cx3haizs0rw6wjsn486qcn50f3qpybflkkb1780cg6s8jzcwdin";
+    sha256 = "1xrd9abh1gyki9ln9v772dq7jinvyrvx39s3kxbpiila68mbpa7j";
   };
 
   patches = [ ./find-source.patch ];
@@ -19,13 +19,26 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    for i in $out/bin/*; do
+    for i in "$out/bin/"*; do
       substituteInPlace $i --replace /usr/bin/perl ${perl}/bin/perl
     done
-  ''; # */
+  '';
 
   meta = {
-    description = "A code coverage tool for Linux";
+    description = "LCOV, a code coverage tool that enhances GNU gcov";
+
+    longDescription =
+      '' LCOV is an extension of GCOV, a GNU tool which provides information
+         about what parts of a program are actually executed (i.e.,
+         "covered") while running a particular test case.  The extension
+         consists of a set of PERL scripts which build on the textual GCOV
+         output to implement the following enhanced functionality such as
+         HTML output.
+      '';
+
     homepage = http://ltp.sourceforge.net/coverage/lcov.php;
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/tools/analysis/lcov/find-source.patch b/pkgs/development/tools/analysis/lcov/find-source.patch
index 7e172051064..428ae399d4e 100644
--- a/pkgs/development/tools/analysis/lcov/find-source.patch
+++ b/pkgs/development/tools/analysis/lcov/find-source.patch
@@ -1,145 +1,84 @@
-diff --exclude '*~' -rc lcov-1.7-orig/bin/geninfo lcov-1.7/bin/geninfo
-*** lcov-1.7-orig/bin/geninfo	2008-11-17 14:50:26.000000000 +0100
---- lcov-1.7/bin/geninfo	2009-09-02 10:55:25.000000000 +0200
-***************
-*** 51,56 ****
---- 51,57 ----
-  
-  use strict;
-  use File::Basename; 
-+ use Cwd qw(abs_path);
-  use Getopt::Long;
-  use Digest::MD5 qw(md5_base64);
-  
-***************
-*** 81,86 ****
---- 82,88 ----
-  sub solve_ambiguous_match($$$);
-  sub split_filename($);
-  sub solve_relative_path($$);
-+ sub find_source_file($$);
-  sub get_dir($);
-  sub read_gcov_header($);
-  sub read_gcov_file($);
-***************
-*** 724,730 ****
-  
-  		if (defined($source))
-  		{
-! 			$source = solve_relative_path($base_dir, $source);
-  		}
-  
-  		# gcov will happily create output even if there's no source code
---- 726,732 ----
-  
-  		if (defined($source))
-  		{
-! 			$source = find_source_file($base_dir, $source);
-  		}
-  
-  		# gcov will happily create output even if there's no source code
-***************
-*** 741,758 ****
-  			die("ERROR: could not read source file $source\n");
-  		}
-  
-! 		@matches = match_filename(defined($source) ? $source :
-! 					  $gcov_file, keys(%bb_content));
-  
-  		# Skip files that are not mentioned in the graph file
-! 		if (!@matches)
-! 		{
-! 			warn("WARNING: cannot find an entry for ".$gcov_file.
-! 			     " in $graph_file_extension file, skipping ".
-! 			     "file!\n");
-! 			unlink($gcov_file);
-! 			next;
-! 		}
-  
-  		# Read in contents of gcov file
-  		@result = read_gcov_file($gcov_file);
---- 743,764 ----
-  			die("ERROR: could not read source file $source\n");
-  		}
-  
-!                 next if ! -r $source;
-! 
-! 		#@matches = match_filename(defined($source) ? $source :
-! 		#			  $gcov_file, keys(%bb_content));
-  
-  		# Skip files that are not mentioned in the graph file
-! 		#if (!@matches)
-! 		#{
-! 		#	warn("WARNING: cannot find an entry for ".$gcov_file.
-! 		#	     " in $graph_file_extension file, skipping ".
-! 		#	     "file!\n");
-! 		#	unlink($gcov_file);
-! 		#	next;
-! 		#}
-!                 
-!                 @matches = ($source);
-  
-  		# Read in contents of gcov file
-  		@result = read_gcov_file($gcov_file);
-***************
-*** 949,954 ****
---- 955,979 ----
-  }
-  
-  
-+ sub find_source_file($$)
-+ {
-+         my ($base_dir, $source) = @_;
-+         my $dir = $base_dir;
-+ 
-+         # Hack to make absolute paths work on Nixpkgs coverage
-+         # reports.  The source is in /nix/store/<bla>/.build/<bla>.
-+         $source = $1 if $source =~ /^\/.*\/\.build\/(.*)$/;
-+         
-+         while (!-e "$dir/$source") {
-+                 $dir = $dir . "/..";
-+                 if (length $dir > 1000) {
-+                         return "$base_dir/$source";
-+                 }
-+         }
-+         return abs_path("$dir/$source");
-+ }
-+ 
-+ 
-  #
-  # match_filename(gcov_filename, list)
-  #
-***************
-*** 1478,1484 ****
-  			$function_name =~ s/\W/_/g;
-  			(undef, $filename) =
-  				read_gcno_string(*INPUT, $endianness);
-! 			$filename = solve_relative_path($base_dir, $filename);
-  
-  			read(INPUT, $packed_word, 4);
-  			$lineno = unpack_int32($packed_word, $endianness);
---- 1503,1509 ----
-  			$function_name =~ s/\W/_/g;
-  			(undef, $filename) =
-  				read_gcno_string(*INPUT, $endianness);
-! 			$filename = find_source_file($base_dir, $filename);
-  
-  			read(INPUT, $packed_word, 4);
-  			$lineno = unpack_int32($packed_word, $endianness);
-***************
-*** 1530,1536 ****
-  				}
-  				if ($blocks > 1)
-  				{
-! 					$filename = solve_relative_path(
-  							$base_dir, $filename);
-  					if (!defined($result{$filename}))
-  					{
---- 1555,1561 ----
-  				}
-  				if ($blocks > 1)
-  				{
-! 					$filename = find_source_file(
-  							$base_dir, $filename);
-  					if (!defined($result{$filename}))
-  					{
+--- lcov-1.8/bin/geninfo	2010-01-29 11:14:46.000000000 +0100
++++ lcov-1.8/bin/geninfo	2010-04-18 23:33:43.000000000 +0200
+@@ -51,6 +51,7 @@
+ 
+ use strict;
+ use File::Basename; 
++use Cwd qw(abs_path);
+ use File::Spec::Functions qw /abs2rel catdir file_name_is_absolute splitdir
+ 			      splitpath rel2abs/;
+ use Getopt::Long;
+@@ -95,6 +96,7 @@ sub match_filename($@);
+ sub solve_ambiguous_match($$$);
+ sub split_filename($);
+ sub solve_relative_path($$);
++sub find_source_file($$);
+ sub read_gcov_header($);
+ sub read_gcov_file($);
+ sub info(@);
+@@ -964,7 +966,7 @@ sub process_dafile($$)
+ 
+ 		if (defined($source))
+ 		{
+-			$source = solve_relative_path($base_dir, $source);
++ 			$source = find_source_file($base_dir, $source);
+ 		}
+ 
+ 		# gcov will happily create output even if there's no source code
+@@ -981,18 +983,9 @@ sub process_dafile($$)
+ 			die("ERROR: could not read source file $source\n");
+ 		}
+ 
+-		@matches = match_filename(defined($source) ? $source :
+-					  $gcov_file, keys(%{$instr}));
++		next if ! -r $source;
+ 
+-		# Skip files that are not mentioned in the graph file
+-		if (!@matches)
+-		{
+-			warn("WARNING: cannot find an entry for ".$gcov_file.
+-			     " in $graph_file_extension file, skipping ".
+-			     "file!\n");
+-			unlink($gcov_file);
+-			next;
+-		}
++		@matches = ($source);
+ 
+ 		# Read in contents of gcov file
+ 		@result = read_gcov_file($gcov_file);
+@@ -1242,6 +1235,25 @@ sub solve_relative_path($$)
+ }
+ 
+ 
++sub find_source_file($$)
++{
++        my ($base_dir, $source) = @_;
++        my $dir = $base_dir;
++
++        # Hack to make absolute paths work on Nixpkgs coverage
++        # reports.  The source is in /nix/store/<bla>/.build/<bla>.
++        $source = $1 if $source =~ /^\/.*\/\.build\/(.*)$/;
++        
++        while (!-e "$dir/$source") {
++                $dir = $dir . "/..";
++                if (length $dir > 1000) {
++                        return "$base_dir/$source";
++                }
++        }
++        return abs_path("$dir/$source");
++}
++
++
+ #
+ # match_filename(gcov_filename, list)
+ #
+@@ -1918,7 +1930,7 @@ sub process_graphfile($$)
+ 
+ 	# Get path to data file in absolute and normalized form (begins with /,
+ 	# contains no more ../ or ./)
+-	$graph_filename = solve_relative_path($cwd, $graph_filename);
++	$graph_filename = find_source_file($cwd, $graph_filename);
+ 
+ 	# Get directory and basename of data file
+ 	($graph_dir, $graph_basename) = split_filename($graph_filename);
+
diff --git a/pkgs/development/tools/analysis/radare/ired.nix b/pkgs/development/tools/analysis/radare/ired.nix
new file mode 100644
index 00000000000..f7fb810410d
--- /dev/null
+++ b/pkgs/development/tools/analysis/radare/ired.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "ired-0.4";
+
+  src = fetchurl {
+    url = "http://radare.org/get/${name}.tar.gz";
+    sha256 = "0wya1ylc6adqg4qw5fi8aspc5d1yr27x9r2vpy133qxzia9qv3mm";
+  };
+  
+  installPhase = ''
+    make install PREFIX=$out
+  '';
+
+  meta = {
+    description = "Interactive Raw Editor";
+    homepage = http://radare.org/;
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index ecf7deafd35..d6cbcccc517 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,7 +1,7 @@
 {fetchurl, stdenv, replace, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "cmake-2.8.0";
+  name = "cmake-2.8.1";
 
   # We look for cmake modules in .../share/cmake-${majorVersion}/Modules.
   majorVersion = "2.8";
@@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.cmake.org/files/v${majorVersion}/${name}.tar.gz";
-    sha256 = "0va7kxczqb920n61xnyhr99ajs4v05mssk4n0p6z55yvr9g62zc4";
+    sha256 = "0hi28blqxvir0dkhln90sgr0m3ri9n2i3hlmwdl4m5vkfsmp9bky";
   };
 
-  patches = [ ./findqt4.patch ];
-
   postUnpack = ''
     dontUseCmakeConfigure=1
     source $setupHook
diff --git a/pkgs/development/tools/build-managers/cmake/findqt4.patch b/pkgs/development/tools/build-managers/cmake/findqt4.patch
deleted file mode 100644
index 43fa5591506..00000000000
--- a/pkgs/development/tools/build-managers/cmake/findqt4.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
-index 3bb77d1..7fdbe4a 100644
---- a/Modules/FindQt4.cmake
-+++ b/Modules/FindQt4.cmake
-@@ -579,6 +579,8 @@ IF (QT4_QMAKE_FOUND)
-   FOREACH(QT_MODULE ${QT_MODULES})
-     STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
-     FIND_PATH(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
-+              NO_CMAKE_PATH
-+              NO_CMAKE_ENVIRONMENT_PATH
-               PATHS
-               ${QT_HEADERS_DIR}/${QT_MODULE}
-               ${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index 49a4ad7fd90..71afcefe3cb 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -9,7 +9,6 @@ fixCmakeFiles()
     local replaceArgs
     echo "fixing cmake files"
     replaceArgs="-e -f -L -T /usr /FOO"
-    replaceArgs="$replaceArgs -a NO_DEFAULT_PATH \"\" -a NO_SYSTEM_PATH \"\""
     find $1 -type f -name "*.cmake" -print0 | xargs -0 replace-literal ${replaceArgs}
 }
 
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
new file mode 100644
index 00000000000..227759fa959
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -0,0 +1,36 @@
+args: with args;
+
+# at runtime, need jdk
+
+stdenv.mkDerivation rec {
+  name = "gradle-0.8";
+
+  src = fetchurl {
+    url = "http://dist.codehaus.org/gradle/gradle-0.8-bin.zip";
+    sha256 = "940e623ea98e40ea9ad398770a6ebb91a61c0869d394dda81aa86b0f4f0025e7";
+  };
+
+  installPhase = ''
+    ensureDir $out
+    rm bin/*.bat
+    mv * $out
+  '';
+
+  phases = "unpackPhase installPhase";
+
+  buildInputs = [unzip];
+
+  meta = {
+    description = "Gradle is an enterprise-grade build system";
+    longDescription = ''
+      Gradle is a build system which offers you ease, power and freedom.
+      You can choose the balance for yourself. It has powerful multi-project
+      build support. It has a layer on top of Ivy that provides a 
+      build-by-convention integration for Ivy. It gives you always the choice
+      between the flexibility of Ant and the convenience of a 
+      build-by-convention behavior.
+    '';
+    homepage = http://www.gradle.org/;
+    license = "ASL2.0";
+  };
+}
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index afe63182a2d..2e72047354c 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, python, makeWrapper}:
 
 stdenv.mkDerivation rec {
-  version = "1.2.0";
+  version = "1.3.0";
   name = "scons-" + version;
 
   src = fetchurl {
     url = "mirror://sourceforge/scons/${name}.tar.gz";
-    sha256 = "2806451e02a42789decb6d08098b798b6b81a0a39d8d3b2fbdd3fe84ebd8a246";
+    sha256 = "4bde47b9a40fe767f089f5996d56b6e85a2d4929309b9c07a2dff363a78b0002";
   };
 
   propagatedBuildInputs = [python makeWrapper];
@@ -25,4 +25,6 @@ stdenv.mkDerivation rec {
        software.
     '';
   };
+
+  maintainers = [ stdenv.lib.maintainers.simons ];
 }
diff --git a/pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix b/pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix
new file mode 100644
index 00000000000..dcc41ce9238
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/haddock-2.7.2.nix
@@ -0,0 +1,13 @@
+{cabal, ghcPaths, alex, happy}:
+
+cabal.mkDerivation (self : {
+  pname = "haddock";
+  version = "2.7.2"; # Haskell Platform 2010.1.0.0
+  name = self.fname;
+  sha256 = "4eaaaf62785f0ba3d37ba356cfac4679faef91c0902d8cdbf42837cbe5daab82";
+  extraBuildInputs = [alex happy];
+  propagatedBuildInputs = [ghcPaths];
+  meta = {
+    description = "a tool for automatically generating documentation from annotated Haskell source code";
+  };
+})
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 6b257f2f21b..d8b077a20f5 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, ocaml, perl, python, ncurses, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "coccinelle-0.2.1";
+  name = "coccinelle-0.2.2";
 
   src = fetchurl {
     url = "http://coccinelle.lip6.fr/distrib/${name}.tgz";
-    sha256 = "06nfk40kq0pxz38pw7j3ldkakr4bx0dlypyfg3gimx8a751i0b22";
+    sha256 = "1rnhxlqwcps67nyn61xj8mf6wdja29q8m16r4jwdwxvfpnsdhwfy";
   };
 
   buildInputs = [ ocaml perl python ncurses makeWrapper ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
          --prefix "LD_LIBRARY_PATH" ":" "$out/lib"                      \
          --prefix "PYTHONPATH" ":" "$out/share/coccinelle/python"
 
-       make test
+       yes | make test
     '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/cppi/default.nix b/pkgs/development/tools/misc/cppi/default.nix
index 78bcb2226a3..b6c0e9a99b4 100644
--- a/pkgs/development/tools/misc/cppi/default.nix
+++ b/pkgs/development/tools/misc/cppi/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, xz, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "cppi-1.14";
+  name = "cppi-1.15";
 
   src = fetchurl {
     url = "mirror://gnu/cppi/${name}.tar.xz";
-    sha256 = "0n7388f5z4nnyh17rnj7h0kvml3x2mba6a5km87k2bvm5v4mcrfc";
+    sha256 = "1avwwpcwx6rvk9j4id8jq58n5kk756dwnd0wqw4a4p3smvby7gw2";
   };
 
   buildInputs = [ xz ];
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index 7ac79ecb12a..fec825627ea 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "13841q6pfwd9d1sdw48yxdyb4xhiccii0mb0ilql627v43pyvyyh";
   };
 
+  patches = [ ./wrapped-runtest-program-name.patch ];
+
   buildInputs = [ expect makeWrapper ];
 
   # FIXME: Enable when the "spawn id" problem is fixed.
diff --git a/pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch b/pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch
new file mode 100644
index 00000000000..d745bc65cbb
--- /dev/null
+++ b/pkgs/development/tools/misc/dejagnu/wrapped-runtest-program-name.patch
@@ -0,0 +1,15 @@
+This patch gives `runtest' a `$0' that contains `runtest' instead
+of `.runtest-wrapped'.  This is required because `runtest' checks
+what `$0' looks like to determine the target.
+
+--- dejagnu-1.4.4/runtest	2003-08-17 03:27:59.000000000 +0200
++++ dejagnu-1.4.4/runtest	2010-03-18 15:57:58.000000000 +0100
+@@ -10,6 +10,7 @@
+ # Get the execution path to this script and the current directory.
+ #
+ mypath=${0-.}
++mypath="`echo $mypath | sed -'es|\.runtest-wrapped|runtest|g'`"
+ if expr ${mypath} : '.*/.*' > /dev/null
+ then
+     :
+
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 22dd8a6736d..f44411e77d7 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -2,7 +2,7 @@
 , target ? null }:
 
 let
-    basename = "gdb-7.0.1";
+    basename = "gdb-7.1";
 in
 stdenv.mkDerivation rec {
   name = basename + stdenv.lib.optionalString (target != null)
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.bz2";
-    sha256 = "06rw3qqilq5dpc0y8d9vny6vizl20bvlbl0vwx4nbpis0p83y32n";
+    sha256 = "0ljkv3xkpqg4x38mrmzx4b7h1bkpfy41vmi5q8nnakhajzbjfb0l";
   };
 
   # TODO: Add optional support for Python scripting.
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 1e053546cae..6f131e7abe7 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, perl, gettext, LocaleGettext}:
 
 stdenv.mkDerivation {
-  name = "help2man-1.35.1";
+  name = "help2man-1.36.1";
 
   src = fetchurl {
-    url = http://ftp.gnu.org/gnu/help2man/help2man-1.35.1.tar.gz;
-    md5 = "e3c9e846dd163eb7f1d1661e2d0baa07";
+    url = http://ftp.gnu.org/gnu/help2man/help2man-1.36.1.tar.gz;
+    sha256 = "13w20lfvggzhvzs9dinxbhwdd61svsacfv9d78zfl9lf1syb5i1f";
   };
 
   buildInputs = [
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index 1e7cdeb39f4..c6f34f8e837 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libftdi}:
 
 stdenv.mkDerivation {
-  name = "openocd-0.3.1";
+  name = "openocd-0.4.0";
 
   src = fetchurl {
-    url = "http://download.berlios.de/openocd/openocd-0.3.1.tar.bz2";
-    sha256 = "1ww66gj4mn3ih4k0b2w21795gfl6g53nm41irii9n7bbjn2dmgrp";
+    url = "http://download.berlios.de/openocd/openocd-0.4.0.tar.bz2";
+    sha256 = "1c9j8s3mqgw5spv6nd4lqfkd1l9jmjipi0ya054vnjfsy2617kzv";
   };
 
 
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
new file mode 100644
index 00000000000..7d4380656e3
--- /dev/null
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -0,0 +1,30 @@
+args: with args;
+
+stdenv.mkDerivation {
+
+  name = "usb-modeswitch-1.1.2";
+
+  src =
+    fetchurl {
+    url = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.2.tar.bz2";
+    sha256 = "1wzhd0r49nh5y43qrvsi3c7a29206zwd6v8xlpb8dqm40xg3j9nz";
+  };
+
+  # make clean: we always build from source. It should be necessary on x86_64 only
+  preConfigure = ''
+    find -type f | xargs sed 's@/bin/rm@rm@g' -i
+    make clean
+    ensureDir $out/{etc,lib/udev,share/man/man1}
+    makeFlags="DESTDIR=$out PREFIX=$out"
+  '';
+
+  buildInputs = [libusb];
+
+  meta = {
+    description = "...";
+    homepage = "TODO";
+    license = "GPLv2";
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/parsing/alex/2.3.2.nix b/pkgs/development/tools/parsing/alex/2.3.2.nix
new file mode 100644
index 00000000000..565ecf2f167
--- /dev/null
+++ b/pkgs/development/tools/parsing/alex/2.3.2.nix
@@ -0,0 +1,12 @@
+{cabal, perl}:
+
+cabal.mkDerivation (self : {
+  pname = "alex";
+  version = "2.3.2"; # Haskell Platform 2010.1.0.0
+  name = self.fname;
+  sha256 = "6715a4c27b15a74d8f31cbb6a7d654b9cb6766d74980c75b65dee7c627049f43";
+  extraBuildInputs = [perl];
+  meta = {
+    description = "A lexical analyser generator for Haskell";
+  };
+})
diff --git a/pkgs/development/tools/parsing/bison/bison-2.4.nix b/pkgs/development/tools/parsing/bison/bison-2.4.nix
index 5d65eacecd9..245bdad1f92 100644
--- a/pkgs/development/tools/parsing/bison/bison-2.4.nix
+++ b/pkgs/development/tools/parsing/bison/bison-2.4.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, m4}:
 
 stdenv.mkDerivation rec {
-  name = "bison-2.4.1";
+  name = "bison-2.4.2";
 
   src = fetchurl {
     url = "mirror://gnu/bison/${name}.tar.bz2";
-    sha256 = "0swf0qbxrcqwb5dw19fd47nj8m490m8kwz5f8k33d7hlhablcm13";
+    sha256 = "1f2gmy9bhajrypyz25rqjbz5j024yikr2kaggjjsc15gm4x29ysp";
   };
 
   buildInputs = [m4];