summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-01-14 14:49:31 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-01-14 14:49:31 +0000
commit9183f21f7e005b9229b615e65fa463733267ce96 (patch)
tree9155247a14d60982c3f4be514e386a976f7240d3 /pkgs/development
parentc161cd1773e6411054047b1dd2a9544b0b05b0d1 (diff)
parentc63858a16919de0f929d8377ce616e93a99f2074 (diff)
downloadnixlib-9183f21f7e005b9229b615e65fa463733267ce96.tar
nixlib-9183f21f7e005b9229b615e65fa463733267ce96.tar.gz
nixlib-9183f21f7e005b9229b615e65fa463733267ce96.tar.bz2
nixlib-9183f21f7e005b9229b615e65fa463733267ce96.tar.lz
nixlib-9183f21f7e005b9229b615e65fa463733267ce96.tar.xz
nixlib-9183f21f7e005b9229b615e65fa463733267ce96.tar.zst
nixlib-9183f21f7e005b9229b615e65fa463733267ce96.zip
Merging from trunk.
I fixed conflicts regarding the renaming 'kernel' -> 'linux' in all-packages.
Also a small conflict in all-packages about making openssl overridable.
And I some linux 2.6.31-zen kernel files also marked in conflict.


svn path=/nixpkgs/branches/stdenv-updates/; revision=19438
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/adobe-flex-sdk/default.nix13
-rw-r--r--pkgs/development/compilers/fpc/binary.nix17
-rw-r--r--pkgs/development/compilers/fpc/default.nix4
-rw-r--r--pkgs/development/compilers/fpc/lazarus.nix4
-rw-r--r--pkgs/development/compilers/ghc/6.12.1.nix12
-rwxr-xr-xpkgs/development/compilers/ghc/ghc-get-packages.sh1
-rw-r--r--pkgs/development/compilers/mozart/default.nix14
-rw-r--r--pkgs/development/compilers/strategoxt/0.18.nix6
-rw-r--r--pkgs/development/interpreters/guile/1.9.nix4
-rw-r--r--pkgs/development/interpreters/guile/gcov-file-name.patch42
-rw-r--r--pkgs/development/interpreters/php-xdebug/default.nix34
-rw-r--r--pkgs/development/interpreters/php/ini-bulider.nix43
-rw-r--r--pkgs/development/interpreters/php_configurable/default.nix36
-rw-r--r--pkgs/development/libraries/adns/default.nix6
-rw-r--r--pkgs/development/libraries/enginepkcs11/default.nix18
-rw-r--r--pkgs/development/libraries/glib/2.22.x.nix4
-rw-r--r--pkgs/development/libraries/gtk+/2.18.x.nix4
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix (renamed from pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix)7
-rw-r--r--pkgs/development/libraries/haskell/X11/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cabal/cabal.nix42
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regular/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/utf8-string/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/java/dbus-java/default.nix21
-rw-r--r--pkgs/development/libraries/java/libmatthew-java/default.nix13
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libextractor/0.5.18.nix21
-rw-r--r--pkgs/development/libraries/libextractor/default.nix64
-rw-r--r--pkgs/development/libraries/libidn/default.nix6
-rw-r--r--pkgs/development/libraries/libjpeg/62.nix29
-rwxr-xr-xpkgs/development/libraries/libjpeg/builder.sh25
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix14
-rw-r--r--pkgs/development/libraries/libmusclecard/default.nix22
-rw-r--r--pkgs/development/libraries/libp11/default.nix18
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/mesa/headers.nix10
-rw-r--r--pkgs/development/libraries/mpeg2dec/default.nix2
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/openct/default.nix21
-rw-r--r--pkgs/development/libraries/opensc-dnie/default.nix49
-rw-r--r--pkgs/development/libraries/pango/1.26.x.nix4
-rw-r--r--pkgs/development/libraries/podofo/default.nix12
-rw-r--r--pkgs/development/libraries/poppler/default.nix6
-rw-r--r--pkgs/development/libraries/poppler/use_exceptions.patch60
-rw-r--r--pkgs/development/libraries/qt-4.6/default.nix4
-rw-r--r--pkgs/development/libraries/scmccid/default.nix38
-rw-r--r--pkgs/development/libraries/webkit/src-for-default.nix10
-rw-r--r--pkgs/development/python-modules/pyqt/default.nix2
-rw-r--r--pkgs/development/python-modules/python-sip/default.nix2
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buildbot/default.nix83
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix10
55 files changed, 677 insertions, 235 deletions
diff --git a/pkgs/development/compilers/adobe-flex-sdk/default.nix b/pkgs/development/compilers/adobe-flex-sdk/default.nix
index 7beea35a78a6..dc209bd6ddbd 100644
--- a/pkgs/development/compilers/adobe-flex-sdk/default.nix
+++ b/pkgs/development/compilers/adobe-flex-sdk/default.nix
@@ -1,10 +1,11 @@
 args: with args;
 stdenv.mkDerivation rec {
-  name = "adobe-flex-sdk-3.3.0.4852_mpl";
+  name = "adobe_flex_sdk_3.4.1.10084_mpl";
 
   src = fetchurl {
-    url = http://flexorg.wip3.adobe.com/flexsdk/3.3.0.4852/flex_sdk_3.3.0.4852_mpl.zip;
-    sha256 = "1gsm774afc7zwv3hyib5n6fpdbnd0dh6z7r2amjf38fm96jw7a99";
+    # This is the open source distribution
+    url = http://fpdownload.adobe.com/pub/flex/sdk/builds/flex3/flex_sdk_3.4.1.10084_mpl.zip;
+    sha256 = "0bq0cnq25qyr3g64sqqc20y3mmnhgh07p3ylxd2iq0ha8cdis7z0";
   };
 
   phases="installPhase";
@@ -18,9 +19,9 @@ stdenv.mkDerivation rec {
     t=$out/opt/flex-sdk
     ensureDir $t $out/bin
     mv * $t
-    sed 's/
$//' -i $t/bin/mxmlc
-    rm $t/bin/*.exe
-    for i in $t/bin/mxmlc; do
+    rm $t/bin/*.exe $t/bin/*.bat
+    sed 's/
$//' -i $t/bin/*
+    for i in $t/bin/*; do
       b="$(basename "$i")";
     cat > "$out/bin/$b" << EOF
     #!/bin/sh
diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix
index eb931b959cb6..fadc73c051ef 100644
--- a/pkgs/development/compilers/fpc/binary.nix
+++ b/pkgs/development/compilers/fpc/binary.nix
@@ -1,12 +1,19 @@
 args: with args;
 
 stdenv.mkDerivation {
-  name = "fpc-2.2.2-binary";
+  name = "fpc-2.4.0-binary";
 
-  src = fetchurl {
-    url = ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/i386-linux-2.2.2/fpc-2.2.2.i386-linux.tar;
-    sha256 = "8c18f63b36a76eee673f96ca254c49c5a42bcf3e36279abe8774f961792449a5";
-  };
+  src = if stdenv.system == "i686-linux" then
+  fetchurl {
+    url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/i386-linux/fpc-2.4.0.i386-linux.tar";
+    sha256 = "1zas9kp0b36zxqvb9i4idh2l0nb6qpmgah038l77w6las7ghh0dv";
+  }
+  else if stdenv.system == "x86_64-linux" then
+  fetchurl {
+    url = "ftp://ftp.chg.ru/pub/lang/pascal/fpc/dist/2.4.0/x86_64-linux/fpc-2.4.0.x86_64-linux.tar";
+    sha256 = "111d11g5ra55hjywx64ldwwflpimsy8zryvap68v0309nyd23f0z";
+  }
+  else null;
 
   builder = ./binary-builder.sh;
 
diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix
index bf849960cdff..2d6cadf07fd2 100644
--- a/pkgs/development/compilers/fpc/default.nix
+++ b/pkgs/development/compilers/fpc/default.nix
@@ -5,12 +5,12 @@ if args ? startFPC && args.startFPC != null then
 with args;
 
 stdenv.mkDerivation rec {
-  version = "2.2.4";
+  version = "2.4.0";
   name = "fpc-${version}";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/sourceforge/freepascal/fpcbuild-${version}.tar.gz";
-    sha256 = "1kxljnivww4riqff8vxann7s135cv634ly3i61rfs1wzwc4lz9bp";
+    sha256 = "1m2g2bafjixbwl5b9lna5h7r56y1rcayfnbp8kyjfd1c1ymbxaxk";
   };
 
   buildInputs = [startFPC gawk];
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix
index a091e1da2982..96a05c7880f0 100644
--- a/pkgs/development/compilers/fpc/lazarus.nix
+++ b/pkgs/development/compilers/fpc/lazarus.nix
@@ -2,8 +2,8 @@ args : with args;
 rec {
   version = "0.9.26.2-0";
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/lazarus/lazarus-${version}.tgz";
-    sha256 = "5b582685c0447034580fe17c60b8fc84a8b097b6f31ff9b4583cf0eb741297cc";
+    url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%200.9.28.2/lazarus-0.9.28.2-src.tar.bz2";
+    sha256 = "1zad1sylgvhpb210zxypdyng72fpjz1zdf3cpqj9dl94cwn3f4ap";
   };
 
   buildInputs = [fpc gtk glib libXi inputproto 
diff --git a/pkgs/development/compilers/ghc/6.12.1.nix b/pkgs/development/compilers/ghc/6.12.1.nix
index 9b108fbad8a0..3412cc771ac3 100644
--- a/pkgs/development/compilers/ghc/6.12.1.nix
+++ b/pkgs/development/compilers/ghc/6.12.1.nix
@@ -1,15 +1,15 @@
 {stdenv, fetchurl, ghc, perl, gmp, ncurses}:
 
 stdenv.mkDerivation rec {
-  version = "6.12.0.20091010";
+  version = "6.12.1";
   
   name = "ghc-${version}";
   
   homepage = "http://haskell.org/ghc";
 
   src = fetchurl {
-    url = "http://darcs.haskell.org/~ghc/dist/6.12.1rc1/${name}-src.tar.bz2";
-    sha256 = "903552917778329fc79cc273ece81030324006f47157ddd4278cb08c1c637fd3";
+    url = http://haskell.org/ghc/dist/6.12.1/ghc-6.12.1-src.tar.bz2;
+    sha256 = "0ajm4sypk4zgjp0m6i03fadyv5dm9vlqfnvsx1g94yk7vnd9zyfd";
   };
 
   buildInputs = [ghc perl gmp ncurses];
@@ -34,12 +34,14 @@ stdenv.mkDerivation rec {
   meta = {
     inherit homepage;
     description = "The Glasgow Haskell Compiler";
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.platforms.linux;
   };
 
 
   passthru = {
     corePackages = [
-       [ "Cabal" "1.8.0" ]
+       [ "Cabal" "1.8.0.2" ]
        [ "array" "0.3.0.0" ]
        [ "base" "3.0.3.2" ]
        [ "base" "4.2.0.0" ]
@@ -56,7 +58,7 @@ stdenv.mkDerivation rec {
        [ "extensible-exceptions" "0.1.1.1" ]
        [ "ffi" "1.0" ]
        [ "filepath" "1.1.0.3" ]
-       [ "ghc" "6.12.0.20091010" ]
+       [ "ghc" "6.12.1" ]
        [ "ghc-binary" "0.5.0.2" ]
        [ "ghc-prim" "0.2.0.0" ]
        [ "haskell98" "1.0.1.1" ]
diff --git a/pkgs/development/compilers/ghc/ghc-get-packages.sh b/pkgs/development/compilers/ghc/ghc-get-packages.sh
index 381dd5711119..9ed1455d2321 100755
--- a/pkgs/development/compilers/ghc/ghc-get-packages.sh
+++ b/pkgs/development/compilers/ghc/ghc-get-packages.sh
@@ -18,3 +18,4 @@ for p in $PATH; do
     test -f $i && echo -n " $prefix$i"
   done
 done
+test -f "$2/../lib/ghc-$version/package.conf" && echo -n " $prefix$2/../lib/ghc-$version/package.conf"
diff --git a/pkgs/development/compilers/mozart/default.nix b/pkgs/development/compilers/mozart/default.nix
new file mode 100644
index 000000000000..d649ef46918f
--- /dev/null
+++ b/pkgs/development/compilers/mozart/default.nix
@@ -0,0 +1,14 @@
+{stdenv, fetchurl, flex, bison, perl, gmp, zlib, tcl, tk, gdbm, m4, x11, emacs}:
+
+stdenv.mkDerivation {
+  name = "mozart-1.4.0";
+  src = fetchurl {
+    url = http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-src.tar.gz;
+    sha256 = "5da73d80b5aa7fa42edca64159a1a076323f090e5c548f3747f94d0afc60b223";
+  };
+
+  buildInputs = [flex bison perl gmp zlib tcl tk gdbm m4 x11 emacs];
+
+  # micq gives a compile error for me
+  configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib --disable-contrib-micq";
+}
diff --git a/pkgs/development/compilers/strategoxt/0.18.nix b/pkgs/development/compilers/strategoxt/0.18.nix
index bb4b9e9e45e8..84346075cf5d 100644
--- a/pkgs/development/compilers/strategoxt/0.18.nix
+++ b/pkgs/development/compilers/strategoxt/0.18.nix
@@ -41,11 +41,11 @@ rec {
 
   
   strategoxt = stdenv.mkDerivation rec {
-    name = "strategoxt-0.18pre20227";
+    name = "strategoxt-0.18pre20449";
 
     src = fetchurl {
-      url = "http://hydra.nixos.org/build/124117/download/1/strategoxt-0.18pre20227.tar.gz";
-      sha256 = "c2c7a68f76c6dfaf470ed9f7bad71cddebb620b709f20b01231c3a6fd93d8150";
+      url = "http://hydra.nixos.org/build/199475/download/1/strategoxt-0.18pre20449.tar.gz";
+      sha256 = "c492df19a810801377f160f6d117bfd3e689f23396bd89c3e98224f35db666f2";
     };
 
     buildInputs = [pkgconfig aterm sdf getopt];
diff --git a/pkgs/development/interpreters/guile/1.9.nix b/pkgs/development/interpreters/guile/1.9.nix
index 1dd3d495339e..27e412484056 100644
--- a/pkgs/development/interpreters/guile/1.9.nix
+++ b/pkgs/development/interpreters/guile/1.9.nix
@@ -17,8 +17,8 @@ rec {
   propagatedBuildInputs = [ gmp boehmgc ];
 
   patches =
-    stdenv.lib.optional (coverageAnalysis != null)
-      ./disable-gc-sensitive-tests.patch;
+    stdenv.lib.optionals (coverageAnalysis != null)
+      [ ./gcov-file-name.patch ./disable-gc-sensitive-tests.patch ];
 
   postInstall = ''
     wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
diff --git a/pkgs/development/interpreters/guile/gcov-file-name.patch b/pkgs/development/interpreters/guile/gcov-file-name.patch
new file mode 100644
index 000000000000..f144296170ed
--- /dev/null
+++ b/pkgs/development/interpreters/guile/gcov-file-name.patch
@@ -0,0 +1,42 @@
+This patch arranges so that we don't end up, with profiling builds, with a
+file named `<stdout>.gcov' since that confuses lcov:
+
+  <stdout>:cannot open source file
+  geninfo: ERROR: cannot read <stdout>.gcov!
+
+--- guile/libguile/c-tokenize.c	2009-09-13 13:05:15.000000000 +0200
++++ guile/libguile/c-tokenize.c	2009-10-28 16:24:15.000000000 +0100
+@@ -1,5 +1,5 @@
+ 
+-#line 3 "<stdout>"
++#line 3 "c-tokenize.c"
+ 
+ #define  YY_INT_ALIGNED short int
+ 
+@@ -616,7 +616,7 @@ int cookie_was_last = 0; 
+ #define IS_COOKIE cookie_was_last = 1
+ #define IS_NOT_COOKIE cookie_was_last = 0
+  
+-#line 620 "<stdout>"
++#line 620 "c-tokenize.c"
+ 
+ #define INITIAL 0
+ 
+@@ -799,7 +799,7 @@ YY_DECL
+ #line 65 "./c-tokenize.lex"
+ 
+ 
+-#line 803 "<stdout>"
++#line 803 "c-tokenize.c"
+ 
+ 	if ( !(yy_init) )
+ 		{
+@@ -1235,7 +1235,7 @@ YY_RULE_SETUP
+ #line 181 "./c-tokenize.lex"
+ ECHO;
+ 	YY_BREAK
+-#line 1239 "<stdout>"
++#line 1239 "c-tokenize.c"
+ case YY_STATE_EOF(INITIAL):
+ 	yyterminate();
+ 
diff --git a/pkgs/development/interpreters/php-xdebug/default.nix b/pkgs/development/interpreters/php-xdebug/default.nix
new file mode 100644
index 000000000000..6fdeac2d24c5
--- /dev/null
+++ b/pkgs/development/interpreters/php-xdebug/default.nix
@@ -0,0 +1,34 @@
+args: with args;
+stdenv.mkDerivation {
+  name = "php-xdebug";
+
+  src = args.fetchurl {
+    url = "http://xdebug.org/files/xdebug-2.0.5.tgz";
+    sha256 = "1cmq7c36gj8n41mfq1wba5rij8j77yqhydpcsbcysk1zchg68f26";
+  };
+
+  buildInputs = [php autoconf automake];
+
+  configurePhase = ''
+    phpize
+    ./configure --prefix=$out
+  '';
+
+  buildPhase = ''
+    make && make test
+  '';
+
+  installPhase = ''
+    ensureDir $out/lib/xdebug
+    cp modules/xdebug.so $out/lib
+    cp LICENSE $out/lib/xdebug
+  '';
+
+  meta = {
+    description = "php debugger and profiler extension";
+    homepage = http://xdebug.org/;
+    license = "xdebug"; # based on PHP-3
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/interpreters/php/ini-bulider.nix b/pkgs/development/interpreters/php/ini-bulider.nix
new file mode 100644
index 000000000000..72179fd068bd
--- /dev/null
+++ b/pkgs/development/interpreters/php/ini-bulider.nix
@@ -0,0 +1,43 @@
+{runCommand, php, appendLines ? "", prefixPhpRecommended ? true} :
+
+
+/*
+
+NixOS: see apache-httpd/default.nix's phpIni option
+
+to enable Xdebug append these lines:
+  ''
+      zend_extension="${pkgs.phpXdebug}/lib/xdebug.so"
+      zend_extension_ts="${pkgs.phpXdebug}/lib/xdebug.so"
+      zend_extension_debug="${pkgs.phpXdebug}/lib/xdebug.so"
+      xdebug.remote_enable=true
+      xdebug.remote_host=127.0.0.1
+      xdebug.remote_port=9000
+      xdebug.remote_handler=dbgp
+      xdebug.profiler_enable=0
+      xdebug.profiler_output_dir="/tmp/xdebug"
+      xdebug.remote_mode=req
+  ''
+
+to make php's mail() function work add
+  ''
+   ; Needed for PHP's mail() function.
+   sendmail_path = sendmail -t -i
+  ''
+*/
+
+
+runCommand "php.ini"
+  {
+    inherit php appendLines prefixPhpRecommended;
+  }
+  ''
+    [ -z "$prefixPhpRecommended" ] || {
+      {
+      echo "# PHP RECOMMENDED INI START"
+      cat $php/etc/php-recommended.ini
+      echo "# PHP RECOMMENDED INI END"
+      } >> $out
+    }
+    echo "$appendLines" >> $out
+  ''
diff --git a/pkgs/development/interpreters/php_configurable/default.nix b/pkgs/development/interpreters/php_configurable/default.nix
index 07ac6f90a1b3..eb4a29dd720d 100644
--- a/pkgs/development/interpreters/php_configurable/default.nix
+++ b/pkgs/development/interpreters/php_configurable/default.nix
@@ -106,13 +106,6 @@ composableDerivation {} ( fixed : {
                 license = "based on the PHP license - as is";
                 };
       */
-      xdebug = {
-        buildInputs = [ automake autoconf ];
-        xdebug_src = args.fetchurl {
-          url = "http://xdebug.org/files/xdebug-2.0.5.tgz";
-          sha256 = "1cmq7c36gj8n41mfq1wba5rij8j77yqhydpcsbcysk1zchg68f26";
-        };
-      };
     };
 
   cfg = {
@@ -130,14 +123,13 @@ composableDerivation {} ( fixed : {
     soapSupport = getConfig ["php" "soap"] true;
     zlibSupport = getConfig ["php" "zlib"] true;
     opensslSupport = getConfig ["php" "openssl"] true;
-    xdebugSupport = getConfig ["php" "xdebug"] false;
     mbstringSupport = getConfig ["php" "mbstring"] true;
     gdSupport = getConfig ["php" "gd"] true;
   };
 
   # only -O1
   configurePhase = ''
-    iniFile=$out/etc/$name.ini
+    iniFile=$out/etc/php-recommended.ini
     [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
     ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out  $configureFlags
     echo configurePhase end
@@ -147,32 +139,6 @@ composableDerivation {} ( fixed : {
   installPhase = ''
     unset installPhase; installPhase;
     cp php.ini-recommended $iniFile
-
-    # Now Let's build xdebug if flag has been given
-    # TODO I think there are better paths than the given below
-    if [ -n "$xdebug_src" ]; then
-      PATH=$PATH:$out/bin
-      tar xfz $xdebug_src;
-      cd xdebug*
-      phpize
-      ./configure --prefix=$out
-      make
-      ensureDir $out/lib; cp modules/xdebug.so $out/lib
-      cat >> $out/etc/php.ini << EOF
-        zend_extension="$out/lib/xdebug.so"
-        zend_extension_ts="$out/lib/xdebug.so"
-        zend_extension_debug="$out/lib/xdebug.so"
-        xdebug.remote_enable=true
-        xdebug.remote_host=127.0.0.1
-        xdebug.remote_port=9000
-        xdebug.remote_handler=dbgp
-        xdebug.profiler_enable=0
-        xdebug.profiler_output_dir="/tmp/xdebug"
-        xdebug.remote_mode=req
-        max_execution_time = 300
-        date.timezone = UTC
-  EOF
-    fi
   '';
 
   src = args.fetchurl {
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index f433b1611bb4..d0eedef15f03 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -11,7 +11,11 @@ stdenv.mkDerivation
   };
   src = fetchurl
   {
-    url = "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz";
+    urls =
+      [ "http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-${version}.tar.gz"
+        "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
+        "mirror://gnu/adns/adns-${version}.tar.gz"
+      ];
     sha256 = "${versionHash}";
   };
   configureFlags = if static then "--disable-dynamic" else "--enable-dynamic";
diff --git a/pkgs/development/libraries/enginepkcs11/default.nix b/pkgs/development/libraries/enginepkcs11/default.nix
new file mode 100644
index 000000000000..edd646f94fab
--- /dev/null
+++ b/pkgs/development/libraries/enginepkcs11/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, libp11, pkgconfig, openssl}:
+
+stdenv.mkDerivation rec {
+  name = "engine_pkcs11-0.1.8";
+  
+  src = fetchurl {
+    url = "http://www.opensc-project.org/files/engine_pkcs11/${name}.tar.gz";
+    sha256 = "1rd20rxy12rfx3kwwvk5sqvc1ll87z60rqak1ksfwbf4wx0pwzfy";
+  };
+  
+  buildInputs = [ libp11 pkgconfig openssl ];
+
+  meta = {
+    homepage = http://www.opensc-project.org/engine_pkcs11/;
+    license = "BSD";
+    description = "Engine for OpenSSL to use smart cards in PKCS#11 format";
+  };
+}
diff --git a/pkgs/development/libraries/glib/2.22.x.nix b/pkgs/development/libraries/glib/2.22.x.nix
index b1965f1915f0..eaf6a56daded 100644
--- a/pkgs/development/libraries/glib/2.22.x.nix
+++ b/pkgs/development/libraries/glib/2.22.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gettext, perl }:
 
 stdenv.mkDerivation rec {
-  name = "glib-2.22.2";
+  name = "glib-2.22.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/2.22/${name}.tar.bz2";
-    sha256 = "18ycpaf69wlpp4wq385hkq7bcfhbis8ncd7wl7zmwgrdzh11v954";
+    sha256 = "055dv2hymbyzwpcd39r97x747vsvlkyywa826zr75dzambw6n7qd";
   };
 
   buildInputs = [pkgconfig gettext perl];
diff --git a/pkgs/development/libraries/gtk+/2.18.x.nix b/pkgs/development/libraries/gtk+/2.18.x.nix
index 22efef4255f5..b0d17bf45818 100644
--- a/pkgs/development/libraries/gtk+/2.18.x.nix
+++ b/pkgs/development/libraries/gtk+/2.18.x.nix
@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.18.3";
+  name = "gtk+-2.18.6";
   
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.18/${name}.tar.bz2";
-    sha256 = "1gv8lx7a00yp95ss0vzvmda4nv213m8adjdkx18hhmhaavz6a1hw";
+    sha256 = "0k9mz46q97537kdpmz8j5bhrzpn3zjp7k4mni4niafdp2x4r8aan";
   };
   
   buildInputs = [ pkgconfig perl jasper ];
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
index e1f5b27c0ec6..db49277d7fc1 100644
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ b/pkgs/development/libraries/haskell/Agda/default.nix
@@ -3,13 +3,14 @@
 
 cabal.mkDerivation (self : {
   pname = "Agda";
-  version = "2.2.2";
-  sha256 = "265dbb5bc6d67bfeefa4a2a4ac9e5018d6d8b5c1a75816e05da2661c43a39bba";
+  version = "2.2.6";
+  sha256 = "e9268a61db30fc0f22f7e1fbc78673cd3e0d1bf2dd40ee5cf809635ca40fca78";
   extraBuildInputs = [happy alex];
   propagatedBuildInputs =
     [QuickCheck binary haskeline haskellSrc mtl utf8String xhtml zlib];
   meta = {
     description = "A dependently typed functional language and proof assistant";
+    maintainers = [self.stdenv.lib.maintainers.andres];
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
index e84a77809836..4e9bdefc537a 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/QuickCheck-2.nix
@@ -2,12 +2,13 @@
 
 cabal.mkDerivation (self : {
   pname = "QuickCheck";
-  version = "2.1.0.1";
-  sha256 = "f99edf1a45315e90c9ec672d5d959d5878dcc1de65678c6aed85829a896b75f1";
+  version = "2.1.0.2";
+  sha256 = "1adeea5aa52cba7b8bcd27f9cdd9fe944e9a4a22d22fdf0570b526f580981e58";
   propagatedBuildInputs = [mtl];
-  configureFlags = ''--constraint=base<4'';
   meta = {
     description = "Automatic testing of Haskell programs";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix
index cf54b11977bf..214cc3aecc7d 100644
--- a/pkgs/development/libraries/haskell/X11/default.nix
+++ b/pkgs/development/libraries/haskell/X11/default.nix
@@ -4,8 +4,8 @@ assert xineramaSupport -> (libXinerama != null && libXext != null);
 
 cabal.mkDerivation (self : {
   pname = "X11";
-  version = "1.4.6.1";
-  sha256 = "3e1375d4e53a8366fa2ea12bd9c3033ffe2f7dd00443acd84f722cf0dfff0fa9";
+  version = "1.5.0.0";
+  sha256 = "653ff8aa4053574a36dbb1729459df6e5a1a87a223bc3eeced8e40c6e3a5406f";
   propagatedBuildInputs = [libX11] ++ (if xineramaSupport then [libXinerama libXext] else []);
   meta = {
     description = "A Haskell binding to the X11 graphics library";
diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix
index c4ea86a4ac72..f6220cb0fb3b 100644
--- a/pkgs/development/libraries/haskell/cabal/cabal.nix
+++ b/pkgs/development/libraries/haskell/cabal/cabal.nix
@@ -9,15 +9,15 @@ attrs :
 
             # pname should be defined by the client to be the package basename
             # version should be defined by the client to be the package version
- 
+
             # fname is the internal full name of the package
             fname = "${self.pname}-${self.version}";
 
-	    # name is the external full name of the package; usually we prefix
-	    # all packages with haskell- to avoid name clashes for libraries;
-	    # if that is not desired (for applications), name can be set to
-	    # fname.
-            name = "haskell-${self.pname}-ghc${attrs.ghc.ghc.version}-${self.version}"; 
+            # name is the external full name of the package; usually we prefix
+            # all packages with haskell- to avoid name clashes for libraries;
+            # if that is not desired (for applications), name can be set to
+            # fname.
+            name = "haskell-${self.pname}-ghc${attrs.ghc.ghc.version}-${self.version}";
 
             # the default download location for Cabal packages is Hackage,
             # you still have to specify the checksum
@@ -37,7 +37,7 @@ attrs :
             propagatedBuildInputs = [];
 
             # library directories that have to be added to the Cabal files
-            extraLibDirs = attrs.lib.lists.concatMap (x : [ (x + "/lib64") (x + "/lib") ]) self.propagatedBuildInputs;
+            extraLibDirs = [];
 
             # compiles Setup and configures
             configurePhase = ''
@@ -46,7 +46,16 @@ attrs :
               for i in Setup.hs Setup.lhs; do
                 test -f $i && ghc --make $i
               done
-              ./Setup configure --verbose --prefix="$out" ${toString (map (x : "--extra-lib-dir=" + x) self.extraLibDirs)} $configureFlags
+
+              for p in $propagatedBuildInputs; do
+                for d in lib{,64}; do
+                  if [ -e "$p/$d" ]; then
+                    extraLibDirs="$extraLibDirs --extra-lib-dir=$p/$d"
+                  fi
+                done
+              done
+
+              ./Setup configure --verbose --prefix="$out" $extraLibDirs $configureFlags
 
               eval "$postConfigure"
             '';
@@ -57,12 +66,15 @@ attrs :
 
               ./Setup build
 
+              export GHC_PACKAGE_PATH=$(ghc-packages)
+              ./Setup haddock
+
               eval "$postBuild"
             '';
 
-	    # installs via Cabal; creates a registration file for nix-support
-	    # so that the package can be used in other Haskell-builds; also
-	    # adds all propagated build inputs to the user environment packages
+            # installs via Cabal; creates a registration file for nix-support
+            # so that the package can be used in other Haskell-builds; also
+            # adds all propagated build inputs to the user environment packages
             installPhase = ''
               eval "$preInstall"
 
@@ -82,9 +94,13 @@ attrs :
 
               ensureDir $out/nix-support
               ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
-              
+
               eval "$postInstall"
             '';
+
+            # We inherit stdenv and ghc so that they can be used
+            # in Cabal derivations.
+            inherit (attrs) stdenv ghc;
           };
     in  attrs.stdenv.mkDerivation ((rec { f = dtransform f // transform f; }).f);
-} 
+}
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index e46427bcc3c4..646400acc5a7 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "haskeline";
-  version = "0.6.1.3";
-  sha256 = "af27d17bf6df7647e843bca91548b542748a5305f072ba7cfef97105a52578d4";
+  version = "0.6.2.2";
+  sha256 = "b6307563258802453d65c7e7bd1ef1c6635fefea17af3e01449192b52075b25b";
   propagatedBuildInputs = [extensibleExceptions mtl utf8String];
   meta = {
     description = "A command-line interface for user input, written in Haskell";
diff --git a/pkgs/development/libraries/haskell/regular/default.nix b/pkgs/development/libraries/haskell/regular/default.nix
index f9f19f46824d..7a43c50a6a62 100644
--- a/pkgs/development/libraries/haskell/regular/default.nix
+++ b/pkgs/development/libraries/haskell/regular/default.nix
@@ -2,10 +2,12 @@
 
 cabal.mkDerivation (self : {
   pname = "regular";
-  version = "0.1";
-  sha256 = "2f2858a22dd26d93eaa4b5244141d6d146387eac98e0fb15f647123d50525820";
+  version = "0.2.1";
+  sha256 = "732de15c4687b34a2702d38975581c8ab32167a76cd3c40cd4886bca0fc8b762";
   meta = {
     description = "Generic programming library for regular datatypes";
+    license = "BSD";
+    maintainers = [self.stdenv.lib.maintainers.andres];
   };
 })  
 
diff --git a/pkgs/development/libraries/haskell/utf8-string/default.nix b/pkgs/development/libraries/haskell/utf8-string/default.nix
index 9b932edfb468..b9d9628350d8 100644
--- a/pkgs/development/libraries/haskell/utf8-string/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-string/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "utf8-string";
-  version = "0.3.5";
-  sha256 = "41f99b3e9f61ab5309c93f98d45f1ba2e475a8504c5202a350720c27fb82d07a";
+  version = "0.3.6";
+  sha256 = "c8c74555174edfb96145585c9b80780d0fc55ba249282b8a4c5968cca7c09d69";
   meta = {
     description = "A UTF8 layer for IO and Strings";
   };
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 3936c5dc495d..784fe915814f 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self : {
   pname = "uu-parsinglib";
-  version = "2.2.1";
-  sha256 = "f05088d621715e5ebc7037f1a8cb5f34fd13ed055a26bf2dc331bdbeef7552dc";
+  version = "2.3.0";
+  sha256 = "0ddf5ff41e59d8a777942f821170f1e6c7373712b029261a7efbc16fa663b671";
   meta = {
     description = "New version of the Utrecht University parser combinator library";
   };
diff --git a/pkgs/development/libraries/java/dbus-java/default.nix b/pkgs/development/libraries/java/dbus-java/default.nix
new file mode 100644
index 000000000000..7b55f8b15a2a
--- /dev/null
+++ b/pkgs/development/libraries/java/dbus-java/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, gettext, jdk, libmatthew_java}:
+
+stdenv.mkDerivation {
+  name = "dbus-java-2.7";
+  src = fetchurl {
+    url = http://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.7.tar.gz;
+    sha256 = "0cyaxd8x6sxmi6pklkkx45j311a6w51fxl4jc5j3inc4cailwh5y";
+  };
+  JAVA_HOME=jdk;
+  JAVA="${jdk}/bin/java";
+  PREFIX=''''${out}'';
+  JAVAUNIXLIBDIR="${libmatthew_java}/lib/jni";
+  JAVAUNIXJARDIR="${libmatthew_java}/share/java";
+  buildInputs = [ gettext jdk ];
+  # I'm too lazy to build the documentation
+  preBuild = ''
+    sed -i -e "s|all: bin doc man|all: bin|" \
+           -e "s|install: install-bin install-man install-doc|install: install-bin|" Makefile
+  '';
+  maintainers = [ stdenv.lib.maintainers.sander ];
+}
diff --git a/pkgs/development/libraries/java/libmatthew-java/default.nix b/pkgs/development/libraries/java/libmatthew-java/default.nix
new file mode 100644
index 000000000000..785ba9ab9ead
--- /dev/null
+++ b/pkgs/development/libraries/java/libmatthew-java/default.nix
@@ -0,0 +1,13 @@
+{stdenv, fetchurl, jdk}:
+
+stdenv.mkDerivation {
+  name = "libmatthew-java-0.7.2";
+  src = fetchurl {
+    url = http://www.matthew.ath.cx/projects/java/libmatthew-java-0.7.2.tar.gz;
+    sha256 = "00zd6vplbvha64pf65bpw44abg2y8irblik30pbk35wcm86a0j4z";
+  };
+  JAVA_HOME=jdk;
+  PREFIX=''''${out}'';
+  buildInputs = [ jdk ];
+  maintainers = [ stdenv.lib.maintainers.sander ];
+}
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index ea10c3ee8d2c..98dce86a2f82 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libpthreadstubs}:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.15";
+  name = "libdrm-2.4.17";
   
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "1pm7iddv3yjwvqmlbdmj9m55bmkfcfzq0wvqpgx4gkmdjfd8kzxw";
+    sha256 = "0sii8bhplb99i4x67626sd4pm1c2i3i0c73rdma71sdh233fg95q";
   };
 
   buildInputs = [ pkgconfig libpthreadstubs ];
diff --git a/pkgs/development/libraries/libextractor/0.5.18.nix b/pkgs/development/libraries/libextractor/0.5.18.nix
deleted file mode 100644
index 557369bd76c7..000000000000
--- a/pkgs/development/libraries/libextractor/0.5.18.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-args : with args;
-	let localDefs = builderDefs.passthru.function {
-		src = /* put a fetchurl here */
-		fetchurl {
-			url = http://gnunet.org/libextractor/download/libextractor-0.5.18.tar.gz;
-			sha256 = "09y869zmnr6n2953ra4y7z9m9nj23prlqa4nr4rwcb50dzdmil1k";
-		};
-
-		buildInputs = [ zlib];
-		configureFlags = [];
-	};
-	in with localDefs;
-stdenv.mkDerivation rec {
-	name = "libextractor-0.5.18";
-	builder = writeScript (name + "-builder")
-		(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
-	meta = {
-		description = "A tool to extract metadata from files";
-		inherit src;
-	};
-}
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
new file mode 100644
index 000000000000..a134fbacf0b2
--- /dev/null
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -0,0 +1,64 @@
+{ fetchurl, stdenv, libtool, gettext, zlib, bzip2, flac, libvorbis, libmpeg2
+, ffmpeg, exiv2, libgsf, rpm, pkgconfig, glib, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "libextractor-0.5.23";
+
+  src = fetchurl {
+    url = "mirror://gnu/libextractor/${name}.tar.gz";
+    sha256 = "1zyfshayjrp7kd87pm7blyq0dvbv5bbh3f368pp4jws4qxs8aj9f";
+  };
+
+  preConfigure =
+    '' echo "patching installation directory in \`extractor.c'..."
+       sed -i "src/main/extractor.c" \
+           -e "s|pexe[[:blank:]]*=.*$|pexe = strdup(\"$out/lib/\");|g"
+    '';
+
+  buildInputs =
+   [ libtool gettext zlib bzip2 flac libvorbis libmpeg2 exiv2 ffmpeg
+     libgsf rpm
+     pkgconfig glib gtk
+   ];
+
+  configureFlags = "--disable-ltdl-install "
+    + "--with-ltdl-include=${libtool}/include "
+    + "--with-ltdl-lib=${libtool}/lib "
+    + "--enable-xpdf";
+
+  # Checks need to be run after "make install", otherwise plug-ins are not in
+  # the search path, etc.
+  # FIXME: Tests currently fail and the test framework appears to be deeply
+  # broken anyway.
+  doCheck = false;
+  #postInstall = "make check";
+
+  meta = {
+    description = "GNU libextractor, a simple library for keyword extraction";
+
+    longDescription =
+      '' GNU libextractor is a library used to extract meta-data from files
+         of arbitrary type.  It is designed to use helper-libraries to perform
+         the actual extraction, and to be trivially extendable by linking
+         against external extractors for additional file types.
+
+         The goal is to provide developers of file-sharing networks or
+         WWW-indexing bots with a universal library to obtain simple keywords
+         to match against queries.  libextractor contains a shell-command
+         extract that, similar to the well-known file command, can extract
+         meta-data from a file an print the results to stdout.
+
+         Currently, libextractor supports the following formats: HTML, PDF,
+         PS, OLE2 (DOC, XLS, PPT), OpenOffice (sxw), StarOffice (sdw), DVI,
+         MAN, FLAC, MP3 (ID3v1 and ID3v2), NSF(E) (NES music), SID (C64
+         music), OGG, WAV, EXIV2, JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ),
+         ZIP, ELF, S3M (Scream Tracker 3), XM (eXtended Module), IT (Impulse
+         Tracker), FLV, REAL, RIFF (AVI), MPEG, QT and ASF.  Also, various
+         additional MIME types are detected.
+      '';
+
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 10bb8966222e..3f17f7e5a999 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.13";
+  name = "libidn-1.16";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "07p7cnmfnq7ds8a56iqmxps46bzznn92xxpdlnnp3n6pwcnidmn7";
+    sha256 = "1zywwhqg7i44qg0sj2wpwprxif7723sp3if7vhvgy8mdzfn0zn7p";
   };
 
   doCheck = true;
@@ -31,5 +31,7 @@ stdenv.mkDerivation rec {
     '';
 
     license = "LGPLv2+";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/libraries/libjpeg/62.nix b/pkgs/development/libraries/libjpeg/62.nix
new file mode 100644
index 000000000000..fb92fe995b66
--- /dev/null
+++ b/pkgs/development/libraries/libjpeg/62.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, libtool, static ? false, ...}: 
+
+stdenv.mkDerivation {
+  name = "libjpeg-6b";
+  
+  builder = ./builder.sh;
+  
+  src = fetchurl {
+    url = http://www.ijg.org/files/jpegsrc.v6b.tar.gz;
+    md5 = "dbd5f3b47ed13132f04c685d608a7547";
+  };
+  
+  inherit libtool;
+
+  configureFlags = "--enable-shared ${if static then " --enable-static" else ""}";
+    
+  # Required for building of dynamic libraries on Darwin.
+  patches = [
+    (fetchurl {
+      url = http://svn.macports.org/repository/macports/trunk/dports/graphics/jpeg/files/patch-ltconfig;
+      md5 = "e6725fa4a09aa1de4ca75343fd0f61d5";
+    })
+    (fetchurl {
+      url = http://svn.macports.org/repository/macports/trunk/dports/graphics/jpeg/files/patch-ltmain.sh;
+      #md5 = "489986ad8e7a93aef036766b25f321d5";
+      md5 = "092a12aeb0c386dd7dae059109d950ba";
+    })
+  ];
+}
diff --git a/pkgs/development/libraries/libjpeg/builder.sh b/pkgs/development/libraries/libjpeg/builder.sh
new file mode 100755
index 000000000000..58ca9a790baf
--- /dev/null
+++ b/pkgs/development/libraries/libjpeg/builder.sh
@@ -0,0 +1,25 @@
+source $stdenv/setup
+
+preConfigure() {
+    # Workarounds for the ancient libtool shipped by libjpeg.
+    ln -s $libtool/bin/libtool .
+    cp $libtool/share/libtool/config.guess .
+    cp $libtool/share/libtool/config.sub .
+}
+
+preInstall() {
+    mkdir $out
+    mkdir $out/bin
+    mkdir $out/lib
+    mkdir $out/include
+    mkdir $out/man
+    mkdir $out/man/man1
+}
+
+patchPhase() {
+    for i in $patches; do
+	patch < $i
+    done
+}
+
+genericBuild
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 3ddf4905b107..ed213c75959b 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,15 +1,23 @@
 {stdenv, fetchurl, curl}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.3.1";
+  name = "libmicrohttpd-0.4.4";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "1zv8a7lwypwbwzam5jvr35wvxb13chyh0ir18k82nzm9q5s3v3n3";
+    sha256 = "1w486b4hpwnzpc4zdywm3f1q5zs7j4yh7xibbsig6b8cv1npn0rz";
   };
 
   buildInputs = [ curl ];
 
+  preCheck =
+    # Since `localhost' can't be resolved in a chroot, work around it.
+    '' for i in "src/test"*"/"*.[ch]
+       do
+         sed -i "$i" -es/localhost/127.0.0.1/g
+       done
+    '';
+
   doCheck = true;
 
   meta = {
@@ -23,5 +31,7 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     homepage = http://www.gnu.org/software/libmicrohttpd/;
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
diff --git a/pkgs/development/libraries/libmusclecard/default.nix b/pkgs/development/libraries/libmusclecard/default.nix
new file mode 100644
index 000000000000..5968c6d9a55b
--- /dev/null
+++ b/pkgs/development/libraries/libmusclecard/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, pkgconfig, pcsclite}:
+stdenv.mkDerivation {
+  name = "libmusclecard-1.3.6";
+
+  src = fetchurl {
+    url = https://alioth.debian.org/frs/download.php/3024/libmusclecard-1.3.6.tar.bz2;
+    sha256 = "1sswy7vcy0w9p6818al7prv9d3whj7w3w98k55zw9nhspbj6lppb";
+  };
+
+  # The OS should care on preparing the services into this location
+  configureFlags = [ "--enable-muscledropdir=/var/lib/pcsc/services" ];
+
+  buildInputs = [ pkgconfig pcsclite ];
+
+  meta = {
+    description = "Library for MUSCLE smartcard applications";
+    homepage = http://pcsclite.alioth.debian.org/;
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libp11/default.nix b/pkgs/development/libraries/libp11/default.nix
new file mode 100644
index 000000000000..acfca9bf8885
--- /dev/null
+++ b/pkgs/development/libraries/libp11/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, libtool, openssl, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "libp11-0.2.7";
+  
+  src = fetchurl {
+    url = "http://www.opensc-project.org/files/libp11/${name}.tar.gz";
+    sha256 = "0kaz5qafaxm0ycywmajl166c29fh9cz89b8i043jqsbxlpzf4hdp";
+  };
+  
+  buildInputs = [ libtool openssl pkgconfig ];
+
+  meta = {
+    homepage = http://www.opensc-project.org/libp11/;
+    license = "LGPL";
+    description = "Small layer on top of PKCS#11 API to make PKCS#11 implementations easier";
+  };
+}
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index ad7ea7ecc5d7..558291f53273 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -5,12 +5,14 @@ if stdenv.system != "i686-linux" && stdenv.system != "x86_64-linux" && stdenv.sy
 else
 
 stdenv.mkDerivation {
-  name = "mesa-7.5.2";
+  name = "mesa-7.6.1";
   
   src = fetchurl {
-    url = ftp://ftp.freedesktop.org/pub/mesa/7.5.2/MesaLib-7.5.2.tar.bz2;
-    md5 = "94e47a499f1226803869c2e37a6a8e3a";
+    url = ftp://ftp.freedesktop.org/pub/mesa/7.6.1/MesaLib-7.6.1.tar.bz2;
+    md5 = "7db4617e9e10ad3aca1b64339fd71b7d";
   };
+
+  configureFlags = "--disable-gallium";
   
   buildInputs =
     [ pkgconfig expat x11 libdrm xlibs.glproto
diff --git a/pkgs/development/libraries/mesa/headers.nix b/pkgs/development/libraries/mesa/headers.nix
deleted file mode 100644
index d90f9be6fd0f..000000000000
--- a/pkgs/development/libraries/mesa/headers.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, mesaSrc}:
-
-stdenv.mkDerivation {
-  name = "mesa-headers-6.5.2"; # !!! keep up-to-date
-  buildCommand = "
-    unpackFile ${mesaSrc}
-    ensureDir $out/include
-    cp -prvd Mesa-*/include/GL $out/include/
-  ";
-}
\ No newline at end of file
diff --git a/pkgs/development/libraries/mpeg2dec/default.nix b/pkgs/development/libraries/mpeg2dec/default.nix
index 684301b939dc..8b29deba56f9 100644
--- a/pkgs/development/libraries/mpeg2dec/default.nix
+++ b/pkgs/development/libraries/mpeg2dec/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1vny7rg0p2rmic71hli2l2612i5yaw8vy0wsnm5nvhwfiw37cjn7";
   };
 
+  configureFlags = "--enable-shared --disable-static";
+
   meta = {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index ecdcc57a1068..473405c59516 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -10,11 +10,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nss-3.12.4";
+  name = "nss-3.12.5";
   
   src = fetchurl {
-    url = http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_4_RTM/src/nss-3.12.4.tar.gz;
-    sha1 = "a152bf980f3a3dcf575c2d149fb279058ef2e757";
+    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";
   };
 
   buildInputs = [nspr perl zlib];
diff --git a/pkgs/development/libraries/openct/default.nix b/pkgs/development/libraries/openct/default.nix
new file mode 100644
index 000000000000..a0f7f88e8dcf
--- /dev/null
+++ b/pkgs/development/libraries/openct/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, libtool, pcsclite, libusb, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "openct-0.6.19";
+  
+  src = fetchurl {
+    url = "http://www.opensc-project.org/files/openct/${name}.tar.gz";
+    sha256 = "1y4jlr877g3lziq7i3p6pdkscqpkn1lld874q6r2hsvc39n7c88z";
+  };
+  
+  configureFlags = [ "--enable-usb" "--enable-pcsc" "--localstatedir=/var" ];
+  buildInputs = [ libtool pcsclite libusb pkgconfig ];
+
+  meta = {
+    homepage = http://www.opensc-project.org/openct/;
+    license = "LGPL";
+    description = "Drivers for several smart card readers";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/opensc-dnie/default.nix b/pkgs/development/libraries/opensc-dnie/default.nix
new file mode 100644
index 000000000000..d36a3b157cc7
--- /dev/null
+++ b/pkgs/development/libraries/opensc-dnie/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl, writeScript, patchelf, glib, opensc, openssl, openct, libtool, pcsclite,
+zlib}:
+
+# Version 1.4.6-2 works only with opensc 0.11.7
+assert opensc.name == "opensc-0.11.7";
+
+stdenv.mkDerivation rec {
+  name = "opensc-dnie-1.4.6-2";
+  
+  src = if (stdenv.system == "i686-linux") then (fetchurl {
+      url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_32/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_i386.deb.tar;
+      sha256 = "1i6r9ahjr0rkcxjfzkg2rrib1rjsjd5raxswvvfiya98q8rlv39i";
+    })
+    else if (stdenv.system == "x86_64-linux") then (fetchurl { url = http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/1.4.6.Ubuntu_Jaunty_64/Ubuntu_Jaunty_opensc-dnie_1.4.6-2_amd64.deb.tar;
+      sha256 = "1py2bxavdcj0crhk1lwqzjgya5lvyhdfdbr4g04iysj56amxb7f9";
+    })
+    else throw "Architecture not supported";
+
+  buildInputs = [ patchelf glib ];
+
+  builder = writeScript (name + "-builder.sh") ''
+    source $stdenv/setup
+    tar xf $src
+    ar x opensc-dnie*
+    tar xf data.tar.gz
+
+    RPATH=${glib}/lib:${opensc}/lib:${openssl}/lib:${openct}/lib:${libtool}/lib:${pcsclite}/lib:${stdenv.gcc.libc}/lib:${zlib}/lib
+
+    for a in usr/lib/*.so*; do
+        if ! test -L $a; then
+            patchelf --set-rpath $RPATH $a
+        fi
+    done
+
+    sed -i s,/usr,$out, usr/lib/pkgconfig/*
+   
+    ensureDir $out
+    cp -R usr/lib $out
+    cp -R usr/share $out
+  '';
+
+  meta = {
+    homepage = http://www.dnielectronico.es/descargas/;
+    description = "Opensc plugin to access the Spanish national ID smartcard";
+    license = "nonfree";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/pango/1.26.x.nix b/pkgs/development/libraries/pango/1.26.x.nix
index 7efca117cba8..423f4c8c7024 100644
--- a/pkgs/development/libraries/pango/1.26.x.nix
+++ b/pkgs/development/libraries/pango/1.26.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pango-1.26.0";
+  name = "pango-1.26.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/1.26/${name}.tar.bz2";
-    sha256 = "1hx6v6w3xk9wfcrb26gg7rrfl6m6ykxk2bqm67aqdzql4vysxgz1";
+    sha256 = "021ygk3l9bk00gsvxk02flxsk68w0wl99dx221fmb547bng8g19v";
   };
 
   buildInputs = [pkgconfig] ++ stdenv.lib.optional (stdenv.system == "i686-darwin") gettext;
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
new file mode 100644
index 000000000000..270d4da23deb
--- /dev/null
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -0,0 +1,12 @@
+{stdenv, fetchurl, cmake, zlib, freetype, libjpeg, libtiff, fontconfig,
+openssl}:
+
+stdenv.mkDerivation rec {
+  name = "podofo-0.7.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/podofo/${name}.tar.gz";
+    sha256 = "1hpd5ldjv013041rmcfrkbk8v6wdpxcg60i3aklik583q2rf0mqy";
+  };
+  buildInputs = [ cmake zlib freetype libjpeg libtiff fontconfig openssl ];
+  cmakeFlags = "-DPODOFO_BUILD_SHARED=ON -DPODOFO_BUILD_STATIC=OFF";
+}
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index ec761b3c44f3..7c9223a91fd7 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -5,11 +5,11 @@
 assert qt4Support -> (qt4 != null);
 
 stdenv.mkDerivation rec {
-  name = "poppler-0.10.6";
+  name = "poppler-0.12.3";
 
   src = fetchurl {
     url = "http://poppler.freedesktop.org/${name}.tar.gz";
-    sha256 = "bcd78d674c4166af069afdb27af810c012e13cfd2b7b21f9dce63dd3f62bded1";
+    sha256 = "1k7vilpz0ipnmw9dfpb3rqkhlm4rqcnkn3bhhp14di2h55nzwkvs";
   };
 
   buildInputs = [pkgconfig zlib glib cairo freetype fontconfig libjpeg gtk]
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     ''
     + (if qt4Support then "--enable-qt-poppler" else "--disable-qt-poppler");
 
-  patches = [ ./GDir-const.patch ./use_exceptions.patch ];
+  patches = [ ./GDir-const.patch ];
 
   preConfigure = "sed -e '/jpeg_incdirs/s@/usr@${libjpeg}@' -i configure";
 
diff --git a/pkgs/development/libraries/poppler/use_exceptions.patch b/pkgs/development/libraries/poppler/use_exceptions.patch
deleted file mode 100644
index 4880da8e2e41..000000000000
--- a/pkgs/development/libraries/poppler/use_exceptions.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -ur poppler-0.6.1/goo/gmem.cc poppler-0.6.1-patched/goo/gmem.cc
---- poppler-0.6.1/goo/gmem.cc	2007-10-12 13:34:49.000000000 +0200
-+++ poppler-0.6.1-patched/goo/gmem.cc	2007-11-06 16:17:41.290632269 +0100
-@@ -60,7 +60,7 @@
-   }
-   size1 = gMemDataSize(size);
-   if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
--#if USE_EXCEPTIONS
-+#ifdef USE_EXCEPTIONS
-     throw GMemException();
- #else
-     fprintf(stderr, "Out of memory\n");
-@@ -95,7 +95,7 @@
-     return NULL;
-   }
-   if (!(p = malloc(size))) {
--#if USE_EXCEPTIONS
-+#ifdef USE_EXCEPTIONS
-     throw GMemException();
- #else
-     fprintf(stderr, "Out of memory\n");
-@@ -143,7 +143,7 @@
-     q = malloc(size);
-   }
-   if (!q) {
--#if USE_EXCEPTIONS
-+#ifdef USE_EXCEPTIONS
-     throw GMemException();
- #else
-     fprintf(stderr, "Out of memory\n");
-@@ -162,7 +162,7 @@
-   }
-   n = nObjs * objSize;
-   if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
--#if USE_EXCEPTIONS
-+#ifdef USE_EXCEPTIONS
-     throw GMemException();
- #else
-     fprintf(stderr, "Bogus memory allocation size\n");
-@@ -183,7 +183,7 @@
-   }
-   n = nObjs * objSize;
-   if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
--#if USE_EXCEPTIONS
-+#ifdef USE_EXCEPTIONS
-     throw GMemException();
- #else
-     fprintf(stderr, "Bogus memory allocation size\n");
-diff -ur poppler-0.6.1/goo/gmem.h poppler-0.6.1-patched/goo/gmem.h
---- poppler-0.6.1/goo/gmem.h	2007-09-17 20:37:39.000000000 +0200
-+++ poppler-0.6.1-patched/goo/gmem.h	2007-11-06 16:17:46.606925527 +0100
-@@ -12,7 +12,7 @@
- #include <stdio.h>
- #include <poppler/poppler-config.h>
- 
--#if USE_EXCEPTIONS
-+#ifdef USE_EXCEPTIONS
- 
- class GMemException {
- public:
diff --git a/pkgs/development/libraries/qt-4.6/default.nix b/pkgs/development/libraries/qt-4.6/default.nix
index d4fb0882049b..284760537b4c 100644
--- a/pkgs/development/libraries/qt-4.6/default.nix
+++ b/pkgs/development/libraries/qt-4.6/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation {
   };
   
   setupHook = ./setup-hook.sh;
+
+  preConfigure = '' 
+    export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"
+  '';
   
   propagatedBuildInputs = [
     libXft 
diff --git a/pkgs/development/libraries/scmccid/default.nix b/pkgs/development/libraries/scmccid/default.nix
new file mode 100644
index 000000000000..32c4fe3de897
--- /dev/null
+++ b/pkgs/development/libraries/scmccid/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, patchelf, libusb}:
+
+stdenv.mkDerivation rec {
+  name = "scmccid-5.0.11";
+  
+  src = if (stdenv.system == "i686-linux") then (fetchurl {
+      url = "http://www.scmmicro.com/support/download/scmccid_5.0.11_linux.tar.gz";
+      sha256 = "1r5wkarhzl09ncgj55baizf573czw0nplh1pgddzx9xck66kh5bm";
+    })
+    else if (stdenv.system == "x86_64-linux") then (fetchurl {
+        url = "http://www.scmmicro.com/support/download/scmccid_5.0.11_linux_x64.tar.gz";
+        sha256 = "0k9lzlk01sl4ycfqgrqqy3bildz0mcr1r0kkicgjz96l4s0jgz0i";
+    })
+    else throw "Architecture not supported";
+
+  buildInputs = [ patchelf ];
+
+  installPhase = ''
+    RPATH=${libusb}/lib:${stdenv.gcc.libc}/lib
+
+    for a in proprietary/*/Contents/Linux/*.so*; do
+        if ! test -L $a; then
+            patchelf --set-rpath $RPATH $a
+        fi
+    done
+
+    ensureDir $out/pcsc/drivers
+    cp -R proprietary/* $out/pcsc/drivers
+  '';
+
+  meta = {
+    homepage = http://www.scmmicro.com/support/pc-security-support/downloads.html;
+    description = "PCSC drivers for linux, for the SCM SCR3310 v2.0 card and others";
+    license = "nonfree";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix
index 632c6fbbee29..6dd81f7d8527 100644
--- a/pkgs/development/libraries/webkit/src-for-default.nix
+++ b/pkgs/development/libraries/webkit/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="r51303";
-   name="webkit-r51303";
-   hash="0khlc38gzb65xr0fsap60cz65rd6d7f7v31hhj4x1bxjrm3pj48w";
-   url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r51303.tar.bz2";
-   advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r51303.tar.bz2";
+   version="r53178";
+   name="webkit-r53178";
+   hash="0452kfqd73igmkgp0v4w13lk3ycypqz4zl9hnspg7ns5vlyknqcn";
+   url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r53178.tar.bz2";
+   advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r53178.tar.bz2";
   
   
 }
diff --git a/pkgs/development/python-modules/pyqt/default.nix b/pkgs/development/python-modules/pyqt/default.nix
index 207e727b4370..f2c72f0ff277 100644
--- a/pkgs/development/python-modules/pyqt/default.nix
+++ b/pkgs/development/python-modules/pyqt/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
     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";
   };
-  configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/python2.5/site-packages -v $out/share/sip -p $out/plugins";
+  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";
diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix
index 47398e2a2841..bd08b7e6a248 100644
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ b/pkgs/development/python-modules/python-sip/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
     url = http://pyqwt.sourceforge.net/support/sip-4.8.2.tar.gz; # Not downloading from riverbank, since they remove older releases
     sha256 = "1afr2qaibzgf8fq4fmc31jz9hvbwxbg5jvl68ygvkkdvnbg2kfrf";
   };
-  configurePhase = "python ./configure.py -d $out/lib/python2.5/site-packages -b $out/bin -e $out/include";
+  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";
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index df6d466b138d..1cdbb2e26245 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -29,16 +29,16 @@ rec {
   '') ["addInputs" "doUnpack"];
 
   doInstall = a.fullDepEntry(''
-    ensureDir "$out/lib/python2.5/site-packages"
+    ensureDir "$out/lib/${a.python.libPrefix}/site-packages"
 
-    PYTHONPATH="$out/lib/python2.5/site-packages:$PYTHONPATH" \
+    PYTHONPATH="$out/lib/${a.python.libPrefix}/site-packages:$PYTHONPATH" \
     python setup.py install --prefix="$out"
 
     for i in "$out/bin/"*
     do
       wrapProgram "$i"                          \
         --prefix PYTHONPATH ":"			\
-          "$out/lib/python2.5/site-packages"
+          "$out/lib/${a.python.libPrefix}/site-packages"
     done
   '') ["doBuild"];
 
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 50f73a42af5f..47a916f48e2b 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -11,8 +11,8 @@ let {
       inherit antContrib jdk;
 
       src = fetchurl {
-        url = http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.7.1-bin.tar.bz2 ;
-        sha256 = "15rgkini0g100jygp7z9hgc3yfb9m62q4nk989rin7dqj2flrr94";
+        url = http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.8.0RC1-bin.tar.bz2 ;
+        sha256 = "0xvmrsghibq7p3wvfkmvmkkg0zzfmw32lrfjl5f6cfzchjjnw9wx";
       };
     };
 
diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix
index a8c78b51540d..92b63869f33b 100644
--- a/pkgs/development/tools/build-managers/buildbot/default.nix
+++ b/pkgs/development/tools/build-managers/buildbot/default.nix
@@ -1,21 +1,68 @@
-{stdenv, fetchurl, python, twisted, makeWrapper}:
+{ fetchurl, stdenv, buildPythonPackage, twisted, texinfo }:
+
+buildPythonPackage (rec {
+  name = "buildbot-0.7.11p3";
+  namePrefix = "";
 
-stdenv.mkDerivation rec {
-  name = "buildbot-${version}";
-  version = "0.7.8";
-  meta = {
-    homepage = "http://buildbot.net/";
-    description = "A system to automate the compile/test cycle to validate code changes.";
-  };
   src = fetchurl {
-    url = "mirror://sourceforge/buildbot/buildbot-${version}.tar.gz";
-    sha256 = "0f3qkbs1y4a1djxbfkvsr1639qkc7bzzsz2wpas2mk1zg8zrci2v";
+    url = "mirror://sourceforge/buildbot/${name}.tar.gz";
+    sha256 = "0h77ijf5iqvc8bnfxpsh3hvpr7wj23pkcywd3hcyphv1wwlhmhjv";
+  };
+
+  patchPhase =
+    # The code insists on /usr/bin/tail, /usr/bin/make, etc.
+    '' echo "patching erroneous absolute path references..."
+       for i in $(find -name \*.py)
+       do
+         sed -i "$i" \
+             -e "s|/usr/bin/python|$(type -P python)|g ; s|/usr/bin/||g"
+       done
+    '';
+
+  buildInputs = [ texinfo ];
+  propagatedBuildInputs = [ twisted ];
+
+  # FIXME: Some tests fail.
+  doCheck = false;
+
+  postInstall =
+    '' ensureDir "$out/share/info"
+       make -C docs buildbot.info
+       cp -v "docs/buildbot.info"* "$out/share/info"
+    '';
+
+  meta = {
+    homepage = http://buildbot.net/;
+
+    license = "GPLv2+";
+
+    # Of course, we don't really need that on NixOS.  :-)
+    description = "BuildBot, a system to automate the software compile/test cycle";
+
+    longDescription =
+      '' The BuildBot is a system to automate the compile/test cycle
+         required by most software projects to validate code changes.  By
+         automatically rebuilding and testing the tree each time something
+         has changed, build problems are pinpointed quickly, before other
+         developers are inconvenienced by the failure.  The guilty
+         developer can be identified and harassed without human
+         intervention.  By running the builds on a variety of platforms,
+         developers who do not have the facilities to test their changes
+         everywhere before checkin will at least know shortly afterwards
+         whether they have broken the build or not.  Warning counts, lint
+         checks, image size, compile time, and other build parameters can
+         be tracked over time, are more visible, and are therefore easier
+         to improve.
+
+         The overall goal is to reduce tree breakage and provide a platform
+         to run tests or code-quality checks that are too annoying or
+         pedantic for any human to waste their time with.  Developers get
+         immediate (and potentially public) feedback about their changes,
+         encouraging them to be more careful about testing before checking
+         in code.
+      '';
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
-  propagatedBuildInputs = [python twisted makeWrapper];
-  buildPhase = "true";
-  installPhase =
-  ''
-     python setup.py install --prefix=$out --install-lib=$(toPythonPath $out) -O1
-     for n in $out/bin/*; do wrapProgram $n --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH"; done
-  '';
-}
+})
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 811a289baed5..02de182ff767 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.1.11rc1";
+  name = "coccinelle-0.2.0";
 
   src = fetchurl {
     url = "http://coccinelle.lip6.fr/distrib/${name}.tgz";
-    sha256 = "1rdsv3qcl6zcx3d3zd4cl9d79hdgaw19llxbflkfxipvkg3vk59x";
+    sha256 = "1mg6r92h8j3kqgy9iv6kk0g96m84wcj71iavgvv9qdbk3qwim8i4";
   };
 
   buildInputs = [ ocaml perl python ncurses makeWrapper ];
@@ -18,14 +18,16 @@ stdenv.mkDerivation rec {
 
   buildPhase = "make depend && make all";
 
-  # Most of the test suite seems to fail (?!).
+  # Note: The tests want $out/share/coccinelle/standard.h so they must be run
+  # after "make install".
   doCheck = false;
-  checkPhase = "make test";
 
   postInstall =
     '' wrapProgram "$out/bin/spatch"                                    \
          --prefix "LD_LIBRARY_PATH" ":" "$out/lib"                      \
          --prefix "PYTHONPATH" ":" "$out/share/coccinelle/python"
+
+       make test
     '';
 
   meta = {