about summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/atk/2.6.x.nix (renamed from pkgs/development/libraries/atk/2.2.x.nix)6
-rw-r--r--pkgs/development/libraries/cairo/default.nix29
-rw-r--r--pkgs/development/libraries/dbus/default.nix10
-rw-r--r--pkgs/development/libraries/expat/cve-2009-3560.patch18
-rw-r--r--pkgs/development/libraries/expat/default.nix14
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix21
-rw-r--r--pkgs/development/libraries/freetype/default.nix32
-rw-r--r--pkgs/development/libraries/gamin/debian-patches.nix2
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/2.26.x.nix (renamed from pkgs/development/libraries/gdk-pixbuf/2.24.x.nix)11
-rw-r--r--pkgs/development/libraries/glib/2.34.x.nix (renamed from pkgs/development/libraries/glib/2.30.x.nix)27
-rw-r--r--pkgs/development/libraries/gnutls/default.nix18
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix11
-rw-r--r--pkgs/development/libraries/goffice/default.nix17
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix9
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamer/default.nix8
-rw-r--r--pkgs/development/libraries/gtk+/2.24.x.nix20
-rw-r--r--pkgs/development/libraries/gtk+/3.2.x.nix6
-rw-r--r--pkgs/development/libraries/gtk+/old-icons.patch270
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/DSH/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-snap/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-javascript/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/monadcryptorandom/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/network-info/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/silently/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix8
-rw-r--r--pkgs/development/libraries/json-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libarchive/default.nix22
-rw-r--r--pkgs/development/libraries/libdrm/default.nix10
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix14
-rw-r--r--pkgs/development/libraries/libgsf/default.nix8
-rw-r--r--pkgs/development/libraries/libgsf/syscall-name-clash.patch120
-rw-r--r--pkgs/development/libraries/libpng/12.nix4
-rw-r--r--pkgs/development/libraries/libpng/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/default.nix6
-rw-r--r--pkgs/development/libraries/libtiff/default.nix18
-rw-r--r--pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix28
-rw-r--r--pkgs/development/libraries/libxml2/pthread-once-init.patch35
-rw-r--r--pkgs/development/libraries/libxml2/setup-hook.sh6
-rw-r--r--pkgs/development/libraries/libxslt/default.nix16
-rw-r--r--pkgs/development/libraries/loudmouth/default.nix24
-rw-r--r--pkgs/development/libraries/loudmouth/glib-2.32.patch13
-rw-r--r--pkgs/development/libraries/mesa/default.nix14
-rw-r--r--pkgs/development/libraries/nettle/default.nix9
-rw-r--r--pkgs/development/libraries/pango/1.30.x.nix (renamed from pkgs/development/libraries/pango/1.29.x.nix)8
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix52
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff63
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch12
-rw-r--r--pkgs/development/libraries/science/math/blas/default.nix12
-rw-r--r--pkgs/development/libraries/webkit/default.nix11
-rw-r--r--pkgs/development/libraries/webkit/src-for-default.nix11
58 files changed, 566 insertions, 576 deletions
diff --git a/pkgs/development/libraries/atk/2.2.x.nix b/pkgs/development/libraries/atk/2.6.x.nix
index d0f7e1097953..eba56776bd2b 100644
--- a/pkgs/development/libraries/atk/2.2.x.nix
+++ b/pkgs/development/libraries/atk/2.6.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, perl, glib }:
 
 stdenv.mkDerivation rec {
-  name = "atk-2.2.0";
+  name = "atk-2.6.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/atk/2.2/atk-2.2.0.tar.xz;
-    sha256 = "17bkqg89l9hxbkgc76cxlin1bwczk7m6ikbccx677lrxh3kz08lb";
+    url = "mirror://gnome/sources/atk/2.6/${name}.tar.xz";
+    sha256 = "eff663f90847620bb68c9c2cbaaf7f45e2ff44163b9ab3f10d15be763680491f";
   };
 
   buildNativeInputs = [ pkgconfig perl ];
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index fe3fe1e251ca..d21f303e7412 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -5,7 +5,7 @@
 , gobjectSupport ? true, glib
 , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
 , zlib, libpng, pixman, libxcb ? null, xcbutil ? null
-, gettext
+, gettext, libiconvOrEmpty
 }:
 
 assert postscriptSupport -> zlib != null;
@@ -13,11 +13,11 @@ assert pngSupport -> libpng != null;
 assert xcbSupport -> libxcb != null && xcbutil != null;
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.10.2";
-  
+  name = "cairo-1.12.4";
+
   src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha1 = "ccce5ae03f99c505db97c286a0c9a90a926d3c6e";
+    url = "http://cairographics.org/releases/${name}.tar.xz";
+    sha1 = "f4158981ed01e73c94fb8072074b17feee61a68b";
   };
 
   buildInputs =
@@ -25,14 +25,16 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
 
     # On non-GNU systems we need GNU Gettext for libintl.
-    ++ stdenv.lib.optional (!stdenv.isLinux) gettext;
+    ++ stdenv.lib.optional (!stdenv.isLinux) gettext
+
+    ++ libiconvOrEmpty;
 
   propagatedBuildInputs =
     [ freetype pixman ] ++
     stdenv.lib.optional gobjectSupport glib ++
     stdenv.lib.optional postscriptSupport zlib ++
     stdenv.lib.optional pngSupport libpng;
-    
+
   configureFlags =
     [ "--enable-tee" ]
     ++ stdenv.lib.optional xcbSupport "--enable-xcb"
@@ -43,7 +45,18 @@ stdenv.mkDerivation rec {
     # `-I' flags to be propagated.
     sed -i "src/cairo.pc.in" \
         -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
-  '';
+  ''
+
+  # On FreeBSD, `-ldl' doesn't exist.
+  + (stdenv.lib.optionalString stdenv.isFreeBSD
+       '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in
+          do
+            cat "$i" | sed -es/-ldl//g > t
+            mv t "$i"
+          done
+       '');
+
+  enableParallelBuilding = true;
 
   # The default `--disable-gtk-doc' is ignored.
   postInstall = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index c943fe87fb38..0b8029c94dbf 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true }:
 
 let
-  version = "1.4.16";
+  version = "1.6.4";
 
   src = fetchurl {
     url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
-    sha256 = "1ii93d0lzj5xm564dcq6ca4s0nvm5i9fx3jp0s7i9hlc5wkfd3hx";
+    sha256 = "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz";
   };
 
   patches = [ ./ignore-missing-includedirs.patch ];
@@ -21,6 +21,10 @@ in rec {
 
     buildInputs = [ expat ];
 
+    # FIXME: dbus has optional systemd integration when checking
+    # at_console policies.  How to enable this without introducing a
+    # circular dependency between dbus and systemd?
+
     inherit src patches configureFlags;
 
     preConfigure =
@@ -58,6 +62,8 @@ in rec {
       '';
 
     postConfigure = "cd tools";
+
+    installFlags = "localstatedir=$TMPDIR/var";
   };
 
   # I'm too lazy to separate daemon and libs now.
diff --git a/pkgs/development/libraries/expat/cve-2009-3560.patch b/pkgs/development/libraries/expat/cve-2009-3560.patch
deleted file mode 100644
index 71da9e393519..000000000000
--- a/pkgs/development/libraries/expat/cve-2009-3560.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/expat/files/expat-2.0.1-CVE-2009-3560-revised.patch?revision=1.1
-
-http://nvd.nist.gov/nvd.cfm?cvename=CVE-2009-3560
-http://bugs.gentoo.org/show_bug.cgi?id=303727
-http://cvs.fedoraproject.org/viewvc/rpms/expat/devel/
-
---- a/lib/xmlparse.c
-+++ b/lib/xmlparse.c
-@@ -3703,6 +3703,9 @@ doProlog(XML_Parser parser,
-         return XML_ERROR_UNCLOSED_TOKEN;
-       case XML_TOK_PARTIAL_CHAR:
-         return XML_ERROR_PARTIAL_CHAR;
-+      case -XML_TOK_PROLOG_S:
-+        tok = -tok;
-+        break;
-       case XML_TOK_NONE:
- #ifdef XML_DTD
-         /* for internal PE NOT referenced between declarations */
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index 35a2945207b4..6b675230119e 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "expat-2.0.1";
-  
+stdenv.mkDerivation rec {
+  name = "expat-2.1.0";
+
   src = fetchurl {
-    url = mirror://sourceforge/expat/expat-2.0.1.tar.gz;
-    sha256 = "14sy5qx9hgjyfs743iq8ywldhp5w4n6cscqf2p4hgrw6vys60xl4";
+    url = "mirror://sourceforge/expat/${name}.tar.gz";
+    sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2";
   };
 
-  patches = [ ./cve-2009-3560.patch ];
-
   meta = {
-    homepage = http://expat.sourceforge.net/;
+    homepage = http://www.libexpat.org/;
     description = "A stream-oriented XML parser library written in C";
   };
 }
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 8e016401e3de..116fe3c0c20f 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchurl, freetype, expat }:
+{ stdenv, fetchurl, pkgconfig, freetype, expat }:
 
 stdenv.mkDerivation rec {
-  name = "fontconfig-2.8.0";
-  
+  name = "fontconfig-2.10.1";
+
   src = fetchurl {
     url = "http://fontconfig.org/release/${name}.tar.gz";
-    sha256 = "0d9370qnn1qzq0jidbycin2frkcr1kqj04jbgb79ykb5x9p1qaps";
+    sha256 = "08h252crb3aqciwdk81jypmz2i7618dzqn3zlr87w1f017wjp4f3";
   };
-  
-  buildInputs = [ freetype ];
+
+  buildInputs = [ pkgconfig freetype ];
+
   propagatedBuildInputs = [ expat ]; # !!! shouldn't be necessary, but otherwise pango breaks
 
   configureFlags = "--with-confdir=/etc/fonts --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
 
   # We should find a better way to access the arch reliably.
-  crossArch = if (stdenv ? cross && stdenv.cross != null)
-    then stdenv.cross.arch else null;
-
+  crossArch = stdenv.cross.arch or null;
 
   preConfigure = ''
     if test -n "$crossConfig"; then
@@ -24,6 +23,8 @@ stdenv.mkDerivation rec {
     fi
   '';
 
+  enableParallelBuilding = true;
+
   # Don't try to write to /etc/fonts or /var/cache/fontconfig at install time.
   installFlags = "CONFDIR=$(out)/etc/fonts RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";
 
@@ -31,5 +32,5 @@ stdenv.mkDerivation rec {
     description = "A library for font customization and configuration";
     homepage = http://fontconfig.org/;
     license = "bsd";
-  };  
+  };
 }
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index e53a3c297ff1..a2d14be50017 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -5,12 +5,12 @@
   useEncumberedCode ? false
 }:
 
-stdenv.mkDerivation (rec {
-  name = "freetype-2.4.4";
-  
+stdenv.mkDerivation rec {
+  name = "freetype-2.4.10";
+
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "1vqg93473j6jma1bxms7mczk32j8is0g9inkcmmmqdsdvk3q30jb";
+    sha256 = "0bwrkqpygayfc1rf6rr1nb8l3svgn1fmjz8davg2hnf46cn293hc";
   };
 
   configureFlags = "--disable-static";
@@ -21,16 +21,26 @@ stdenv.mkDerivation (rec {
   # The asm for armel is written with the 'asm' keyword.
   CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99";
 
+  # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
+  buildInputs = stdenv.lib.optional (stdenv.system == "i686-freebsd") gnumake;
+
+  enableParallelBuilding = true;
+
+  postInstall =
+    ''
+      ln -s freetype2/freetype $out/include/freetype
+    '';
+
+  crossAttrs = {
+    # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
+    # of gcc. I think it's due to the unwrapped gcc being in the PATH. I don't
+    # know why it's on the PATH.
+    configureFlags = "--disable-static CC_BUILD=gcc";
+  };
+
   meta = {
     description = "A font rendering engine";
     homepage = http://www.freetype.org/;
     license = "GPLv2+"; # or the FreeType License (BSD + advertising clause)
   };
 }
-
-//
-
-# FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
-(if stdenv.system == "i686-freebsd"
- then { buildInputs = [ gnumake ]; }
- else {}))
diff --git a/pkgs/development/libraries/gamin/debian-patches.nix b/pkgs/development/libraries/gamin/debian-patches.nix
index 1da558db141b..f784b8ccfee0 100644
--- a/pkgs/development/libraries/gamin/debian-patches.nix
+++ b/pkgs/development/libraries/gamin/debian-patches.nix
@@ -1,6 +1,6 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/gamin/0.1.10-4";
+  prefix = "http://patch-tracker.debian.org/patch/series/dl/gamin/0.1.10-4.1";
 in
 [
   {
diff --git a/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix b/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix
index 5c0860196d39..07e66df33b57 100644
--- a/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz
-, jasper }:
+{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz, jasper }:
 
-stdenv.mkDerivation {
-  name = "gdk-pixbuf-2.24.1";
+stdenv.mkDerivation rec {
+  name = "gdk-pixbuf-2.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gdk-pixbuf/2.24/gdk-pixbuf-2.24.1.tar.xz;
-    sha256 = "1qdywh1r75lalb7z6s9pm6pmqx82chrrxqb8cdqi629nvc03yyns";
+    url = "mirror://gnome/sources/gdk-pixbuf/2.26/${name}.tar.xz";
+    sha256 = "a60af12b58d9cc15ba4c680c6730ce5d38e8d664af1d575a379385b94b4ec7ba";
   };
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
diff --git a/pkgs/development/libraries/glib/2.30.x.nix b/pkgs/development/libraries/glib/2.34.x.nix
index 72baf0154d9f..7fb61ac20e23 100644
--- a/pkgs/development/libraries/glib/2.30.x.nix
+++ b/pkgs/development/libraries/glib/2.34.x.nix
@@ -11,26 +11,25 @@
 #     Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
 #       $out/bin/gtester-report' to postInstall if this is solved
 
-stdenv.mkDerivation rec {
-  name = "glib-2.30.3";
+stdenv.mkDerivation (rec {
+  name = "glib-2.34.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/glib/2.30/glib-2.30.3.tar.xz;
-    sha256 = "09yxfajynbw78kji48z384lylp67kihfi1g78qrrjif4f5yb5jz6";
+    url = "mirror://gnome/sources/glib/2.34/${name}.tar.xz";
+    sha256 = "f69b112f8848be35139d9099b62bc81649241f78f6a775516f0d4c9b47f65144";
   };
 
   # configure script looks for d-bus but it is only needed for tests
-  buildInputs = [ pcre ]
-    ++ (if libiconvOrNull != null
-        then [ libiconvOrNull ]
-        else []);
+  buildInputs = [ libiconvOrNull ];
 
   buildNativeInputs = [ perl pkgconfig gettext python ];
 
-  propagatedBuildInputs = [ zlib libffi ];
+  propagatedBuildInputs = [ pcre zlib libffi ];
 
   configureFlags = "--with-pcre=system --disable-fam";
 
+  enableParallelBuilding = true;
+
   passthru.gioModuleDir = "lib/gio/modules";
 
   postInstall = ''rm -rvf $out/share/gtk-doc'';
@@ -53,3 +52,13 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.linux;
   };
 }
+
+//
+
+(stdenv.lib.optionalAttrs stdenv.isDarwin {
+  # XXX: Disable the NeXTstep back-end because stdenv.gcc doesn't support
+  # Objective-C.
+  postConfigure =
+    '' sed -i configure -e's/glib_have_cocoa=yes/glib_have_cocoa=no/g'
+    '';
+}))
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 93f5dab537e9..ee566d46b658 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -5,29 +5,29 @@ assert guileBindings -> guile != null;
 
 stdenv.mkDerivation (rec {
 
-  name = "gnutls-3.0.22";
+  name = "gnutls-3.1.3";
 
   src = fetchurl {
     url = "mirror://gnu/gnutls/${name}.tar.xz";
-    sha256 = "1pp90fm27qi5cd0pq18xcmnl79xcbfwxc54bg1xi1wv0vryqdpcr";
+    sha256 = "0fff9frz0ycbnppfn0w4a2s9x27k21l4hh9zbax3v7a8cg33dcpw";
   };
 
-  # FIXME: Turn into a Nix list.
+  # Note: GMP is a dependency of Nettle, whose public headers include
+  # GMP headers, hence the hack.
   configurePhase = ''
     ./configure --prefix="$out"                                 \
       --disable-dependency-tracking --enable-fast-install       \
       --without-p11-kit                                         \
-      --with-lzo --with-libtasn1-prefix="${libtasn1}"		\
+      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
+      --with-libnettle-prefix="${nettle}"                       \
+      CPPFLAGS="-I${gmp}/include"                               \
       ${if guileBindings
         then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
-        else ""}${if stdenv.isSunOS
-          # TODO: Use `--with-libnettle-prefix' on all platforms
-          # Note: GMP is a dependency of Nettle, whose public headers include
-          # GMP headers, hence the hack.
-        then " --with-libnettle-prefix=${nettle} CPPFLAGS=-I${gmp}/include"
         else ""}
   '';
 
+  enableParallelBuilding = true;
+
   buildInputs = [ zlib lzo ]
     ++ stdenv.lib.optional guileBindings guile;
 
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index de9059dbd153..fe1d519f5625 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,12 +1,7 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python }:
 
-let
-  baseName = "gobject-introspection";
-  v = "0.10.8";
-in
-
 stdenv.mkDerivation rec {
-  name = "${baseName}-${v}";
+  name = "gobject-introspection-1.34.0";
 
   buildInputs = [ flex bison glib pkgconfig python ];
   propagatedBuildInputs = [ libffi ];
@@ -16,8 +11,8 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-tests";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${baseName}/0.10/${name}.tar.bz2";
-    sha256 = "5b1387ff37f03db880a2b1cbd6c6b6dfb923a29468d4d8367c458abf7704c61e";
+    url = "mirror://gnome/sources/gobject-introspection/1.34/${name}.tar.xz";
+    sha256 = "80e211ea95404fc7c5fa3b04ba69ee0b29af70847af315155ab06b8cff832c85";
   };
 
   postInstall = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index b90cbbad9206..1eaa1baf86d6 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -1,19 +1,18 @@
 { fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
 , pango, libgsf, libxml2, libart, intltool, gettext
-, cairo, gconf, libgnomeui }:
+, cairo, gconf, libgnomeui, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.6.6";
+  name = "goffice-0.8.17";
 
   src = fetchurl {
-    # An old version, but one that's actually usable for Gnucash.
-    url = "mirror://gnome/sources/goffice/0.6/${name}.tar.bz2";
-    sha256 = "11lzhmk7g6mdsbyn4p4a6q2d9m8j71vad2haw6pmzyjzv2gs4rq7";
+    url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
+    sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
   };
 
   buildInputs = [
     pkgconfig libglade bzip2 libart intltool gettext
-    gconf libgnomeui
+    gconf libgnomeui pcre
   ];
 
   propagatedBuildInputs = [
@@ -21,6 +20,12 @@ stdenv.mkDerivation rec {
     glib libgsf libxml2 gtk libglade libart cairo pango
   ];
 
+  postInstall =
+    ''
+      # Get GnuCash to build.  Might be unnecessary if we upgrade pkgconfig.
+      substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
+    '';
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
index 47762660b29a..2ac325dc2822 100644
--- a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-0.10.35";
+  name = "gst-plugins-base-0.10.36";
 
   src = fetchurl {
     urls = [
-      "${meta.homepage}/src/gst-plugins-base/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"
+      "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "00vis5kg6km26zaq1ywz7ki9xvkwpc9c5wn41d01z2i5nldz096d";
+    sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
   };
 
   patchPhase = ''
@@ -43,3 +43,4 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
   };
 }
+
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
index 01d5487302ce..5d33e7bff03d 100644
--- a/pkgs/development/libraries/gstreamer/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-0.10.35";
+  name = "gstreamer-0.10.36";
 
   src = fetchurl {
     urls =
-      [ "${meta.homepage}/src/gstreamer/${name}.tar.bz2"
-        "mirror://gentoo/distfiles/${name}.tar.bz2"
+      [ "${meta.homepage}/src/gstreamer/${name}.tar.xz"
+        "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "11lp13lig3c6qys80phyvsik56r9y0c95vg2jxxliqj6rnigwyw1";
+    sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
   };
 
   buildInputs = [ perl bison flex pkgconfig ];
diff --git a/pkgs/development/libraries/gtk+/2.24.x.nix b/pkgs/development/libraries/gtk+/2.24.x.nix
index 12b270d637b0..2bf657e04e77 100644
--- a/pkgs/development/libraries/gtk+/2.24.x.nix
+++ b/pkgs/development/libraries/gtk+/2.24.x.nix
@@ -7,24 +7,18 @@
 assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
-stdenv.mkDerivation {
-  name = "gtk+-2.24.10";
+stdenv.mkDerivation rec {
+  name = "gtk+-2.24.13";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gtk+/2.24/gtk+-2.24.10.tar.xz;
-    sha256 = "128fb8vmsqmfmpf1r8na65281jwkqix4q7wix399xqfnp4dy6mpa";
+    url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
+    sha256 = "35e1a01e46b02970b02ee9f299390d0aa57c1215ad2667bcd584b72f4ea6513d";
   };
 
-  patches =
-    [ # Fix broken icons such as the back/forward buttons in Firefox.
-      # http://bugs.gentoo.org/339319
-      ./old-icons.patch
-    ];
-
   enableParallelBuilding = true;
-  
+
   buildNativeInputs = [ perl pkgconfig ];
-  
+
   propagatedBuildInputs =
     [ xlibs.xlibs glib atk pango gdk_pixbuf cairo
       xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi
@@ -35,7 +29,7 @@ stdenv.mkDerivation {
   configureFlags = "--with-xinput=yes";
 
   postInstall = "rm -rf $out/share/gtk-doc";
-  
+
   meta = {
     description = "A multi-platform toolkit for creating graphical user interfaces";
 
diff --git a/pkgs/development/libraries/gtk+/3.2.x.nix b/pkgs/development/libraries/gtk+/3.2.x.nix
index df59c0176260..9f333c03fabf 100644
--- a/pkgs/development/libraries/gtk+/3.2.x.nix
+++ b/pkgs/development/libraries/gtk+/3.2.x.nix
@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-3.2.3";
+  name = "gtk+-3.2.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gtk+/3.2/gtk+-3.2.3.tar.xz;
-    sha256 = "0g8x2kcqq17bccm4yszim837saj73zfk66ia2azcgfqfa7r21kz2";
+    url = "mirror://gnome/sources/gtk+/3.2/${name}.tar.xz";
+    sha256 = "f981bf514858c00d7084bd6f6c34b3c60b8aebdb959e7aca6faa59ed67c136bd";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gtk+/old-icons.patch b/pkgs/development/libraries/gtk+/old-icons.patch
deleted file mode 100644
index e53d87474d07..000000000000
--- a/pkgs/development/libraries/gtk+/old-icons.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-diff -ru gtk+-2.24.5-orig/gtk/Makefile.in gtk+-2.24.5/gtk/Makefile.in
---- gtk+-2.24.5-orig/gtk/Makefile.in	2011-06-16 01:56:37.000000000 +0200
-+++ gtk+-2.24.5/gtk/Makefile.in	2011-07-07 15:38:06.000000000 +0200
-@@ -1616,7 +1616,173 @@
- 	stock-icons/24/folder-remote.png 		\
- 	stock-icons/24/user-home.png 			\
- 	stock-icons/24/user-desktop.png 		\
--	stock-icons/24/text-x-generic.png
-+	stock-icons/24/text-x-generic.png		\
-+	stock-icons/16/gtk-quit.png			\
-+	stock-icons/16/gtk-info.png			\
-+	stock-icons/16/gtk-file.png			\
-+	stock-icons/16/gtk-open.png			\
-+	stock-icons/16/gtk-print-preview.png		\
-+	stock-icons/16/gtk-print.png			\
-+	stock-icons/16/gtk-properties.png		\
-+	stock-icons/16/gtk-revert-to-saved-ltr.png	\
-+	stock-icons/16/gtk-revert-to-saved-rtl.png	\
-+	stock-icons/16/gtk-save-as.png			\
-+	stock-icons/16/gtk-new.png			\
-+	stock-icons/16/gtk-harddisk.png			\
-+	stock-icons/16/gtk-clear.png			\
-+	stock-icons/16/gtk-copy.png			\
-+	stock-icons/16/gtk-cut.png			\
-+	stock-icons/16/gtk-delete.png			\
-+	stock-icons/16/gtk-find-and-replace.png		\
-+	stock-icons/16/gtk-find.png			\
-+	stock-icons/16/gtk-paste.png			\
-+	stock-icons/16/gtk-redo-ltr.png			\
-+	stock-icons/16/gtk-redo-rtl.png			\
-+	stock-icons/16/gtk-select-all.png		\
-+	stock-icons/16/gtk-undo-ltr.png			\
-+	stock-icons/16/gtk-undo-rtl.png			\
-+	stock-icons/16/gtk-directory.png		\
-+	stock-icons/16/gtk-unindent-ltr.png		\
-+	stock-icons/16/gtk-unindent-rtl.png		\
-+	stock-icons/16/gtk-indent-ltr.png		\
-+	stock-icons/16/gtk-indent-rtl.png		\
-+	stock-icons/16/gtk-justify-center.png		\
-+	stock-icons/16/gtk-justify-fill.png		\
-+	stock-icons/16/gtk-justify-left.png		\
-+	stock-icons/16/gtk-justify-right.png		\
-+	stock-icons/16/gtk-bold.png			\
-+	stock-icons/16/gtk-italic.png			\
-+	stock-icons/16/gtk-strikethrough.png		\
-+	stock-icons/16/gtk-underline.png		\
-+	stock-icons/16/gtk-goto-bottom.png		\
-+	stock-icons/16/gtk-go-down.png			\
-+	stock-icons/16/gtk-goto-first-ltr.png		\
-+	stock-icons/16/gtk-home.png			\
-+	stock-icons/16/gtk-jump-to-ltr.png		\
-+	stock-icons/16/gtk-jump-to-rtl.png		\
-+	stock-icons/16/gtk-goto-last-ltr.png		\
-+	stock-icons/16/gtk-go-forward-ltr.png		\
-+	stock-icons/16/gtk-go-back-ltr.png		\
-+	stock-icons/16/gtk-goto-top.png			\
-+	stock-icons/16/gtk-go-up.png			\
-+	stock-icons/16/gtk-about.png			\
-+	stock-icons/16/gtk-help.png			\
-+	stock-icons/16/gtk-missing-image.png		\
-+	stock-icons/16/gtk-add.png			\
-+	stock-icons/16/gtk-remove.png			\
-+	stock-icons/16/gtk-floppy.png			\
-+	stock-icons/16/gtk-cdrom.png			\
-+	stock-icons/16/gtk-media-pause.png		\
-+	stock-icons/16/gtk-media-play-ltr.png		\
-+	stock-icons/16/gtk-media-play-rtl.png		\
-+	stock-icons/16/gtk-media-stop.png		\
-+	stock-icons/16/gtk-media-record.png		\
-+	stock-icons/16/gtk-media-rewind-ltr.png		\
-+	stock-icons/16/gtk-media-forward-ltr.png	\
-+	stock-icons/16/gtk-media-previous-ltr.png	\
-+	stock-icons/16/gtk-media-next-ltr.png		\
-+	stock-icons/16/gtk-network.png			\
-+	stock-icons/16/gtk-print-error.png		\
-+	stock-icons/16/gtk-print-report.png		\
-+	stock-icons/16/gtk-print-paused.png		\
-+	stock-icons/16/gtk-print-warning.png		\
-+	stock-icons/16/gtk-stop.png			\
-+	stock-icons/16/gtk-execute.png			\
-+	stock-icons/16/gtk-spell-check.png		\
-+	stock-icons/16/gtk-fullscreen.png		\
-+	stock-icons/16/gtk-refresh.png			\
-+	stock-icons/16/gtk-leave-fullscreen.png		\
-+	stock-icons/16/gtk-sort-ascending.png		\
-+	stock-icons/16/gtk-sort-descending.png		\
-+	stock-icons/16/gtk-close.png			\
-+	stock-icons/16/gtk-zoom-fit.png			\
-+	stock-icons/16/gtk-zoom-in.png			\
-+	stock-icons/16/gtk-zoom-100.png			\
-+	stock-icons/16/gtk-zoom-out.png			\
-+	stock-icons/24/gtk-quit.png			\
-+	stock-icons/24/gtk-info.png			\
-+	stock-icons/24/gtk-file.png			\
-+	stock-icons/24/gtk-open.png			\
-+	stock-icons/24/gtk-print-preview.png		\
-+	stock-icons/24/gtk-print.png			\
-+	stock-icons/24/gtk-properties.png		\
-+	stock-icons/24/gtk-revert-to-saved-ltr.png	\
-+	stock-icons/24/gtk-revert-to-saved-rtl.png	\
-+	stock-icons/24/gtk-save-as.png			\
-+	stock-icons/24/gtk-new.png			\
-+	stock-icons/24/gtk-harddisk.png			\
-+	stock-icons/24/gtk-clear.png			\
-+	stock-icons/24/gtk-copy.png			\
-+	stock-icons/24/gtk-cut.png			\
-+	stock-icons/24/gtk-delete.png			\
-+	stock-icons/24/gtk-find-and-replace.png		\
-+	stock-icons/24/gtk-find.png			\
-+	stock-icons/24/gtk-paste.png			\
-+	stock-icons/24/gtk-redo-ltr.png			\
-+	stock-icons/24/gtk-redo-rtl.png			\
-+	stock-icons/24/gtk-select-all.png		\
-+	stock-icons/24/gtk-undo-ltr.png			\
-+	stock-icons/24/gtk-undo-rtl.png			\
-+	stock-icons/24/gtk-directory.png		\
-+	stock-icons/24/gtk-unindent-ltr.png		\
-+	stock-icons/24/gtk-unindent-rtl.png		\
-+	stock-icons/24/gtk-indent-ltr.png		\
-+	stock-icons/24/gtk-indent-rtl.png		\
-+	stock-icons/24/gtk-justify-center.png		\
-+	stock-icons/24/gtk-justify-fill.png		\
-+	stock-icons/24/gtk-justify-left.png		\
-+	stock-icons/24/gtk-justify-right.png		\
-+	stock-icons/24/gtk-bold.png			\
-+	stock-icons/24/gtk-italic.png			\
-+	stock-icons/24/gtk-strikethrough.png		\
-+	stock-icons/24/gtk-underline.png		\
-+	stock-icons/24/gtk-goto-bottom.png		\
-+	stock-icons/24/gtk-go-down.png			\
-+	stock-icons/24/gtk-goto-first-ltr.png		\
-+	stock-icons/24/gtk-home.png			\
-+	stock-icons/24/gtk-jump-to-ltr.png		\
-+	stock-icons/24/gtk-jump-to-rtl.png		\
-+	stock-icons/24/gtk-goto-last-ltr.png		\
-+	stock-icons/24/gtk-go-forward-ltr.png		\
-+	stock-icons/24/gtk-go-back-ltr.png		\
-+	stock-icons/24/gtk-goto-top.png			\
-+	stock-icons/24/gtk-go-up.png			\
-+	stock-icons/24/gtk-about.png			\
-+	stock-icons/24/gtk-help.png			\
-+	stock-icons/24/gtk-missing-image.png		\
-+	stock-icons/24/gtk-add.png			\
-+	stock-icons/24/gtk-remove.png			\
-+	stock-icons/24/gtk-floppy.png			\
-+	stock-icons/24/gtk-cdrom.png			\
-+	stock-icons/24/gtk-media-pause.png		\
-+	stock-icons/24/gtk-media-play-ltr.png		\
-+	stock-icons/24/gtk-media-play-rtl.png		\
-+	stock-icons/24/gtk-media-stop.png		\
-+	stock-icons/24/gtk-media-record.png		\
-+	stock-icons/24/gtk-media-rewind-ltr.png		\
-+	stock-icons/24/gtk-media-forward-ltr.png	\
-+	stock-icons/24/gtk-media-previous-ltr.png	\
-+	stock-icons/24/gtk-media-next-ltr.png		\
-+	stock-icons/24/gtk-network.png			\
-+	stock-icons/24/gtk-print-error.png		\
-+	stock-icons/24/gtk-print-report.png		\
-+	stock-icons/24/gtk-print-paused.png		\
-+	stock-icons/24/gtk-print-warning.png		\
-+	stock-icons/24/gtk-stop.png			\
-+	stock-icons/24/gtk-execute.png			\
-+	stock-icons/24/gtk-spell-check.png		\
-+	stock-icons/24/gtk-fullscreen.png		\
-+	stock-icons/24/gtk-refresh.png			\
-+	stock-icons/24/gtk-leave-fullscreen.png		\
-+	stock-icons/24/gtk-sort-ascending.png		\
-+	stock-icons/24/gtk-sort-descending.png		\
-+	stock-icons/24/gtk-close.png			\
-+	stock-icons/24/gtk-zoom-fit.png			\
-+	stock-icons/24/gtk-zoom-in.png			\
-+	stock-icons/24/gtk-zoom-100.png			\
-+	stock-icons/24/gtk-zoom-out.png			\
-+	stock-icons/48/gtk-dialog-error.png
-+
- 
- @CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \
- @CROSS_COMPILING_FALSE@	   ./gtk-update-icon-cache
-@@ -2887,7 +3053,91 @@
- 	   && $(LN_S) folder.png user-desktop.png 			\
- 	   && $(RM) user-home.png 					\
- 	   && $(LN_S) folder.png user-home.png 				\
-+	   && $(LN_S) application-exit.png gtk-quit.png			\
-+	   && $(LN_S) dialog-information.png gtk-info.png			\
-+	   && $(LN_S) document-new.png gtk-file.png			\
-+	   && $(LN_S) document-open.png gtk-open.png			\
-+	   && $(LN_S) document-print-preview.png gtk-print-preview.png			\
-+	   && $(LN_S) document-print.png gtk-print.png			\
-+	   && $(LN_S) document-properties.png gtk-properties.png			\
-+	   && $(LN_S) document-revert-ltr.png gtk-revert-to-saved-ltr.png			\
-+	   && $(LN_S) document-revert-rtl.png gtk-revert-to-saved-rtl.png			\
-+	   && $(LN_S) document-save-as.png gtk-save-as.png			\
-+	   && $(LN_S) document-x-generic.png gtk-new.png			\
-+	   && $(LN_S) drive-harddisk.png gtk-harddisk.png			\
-+	   && $(LN_S) edit-clear.png gtk-clear.png			\
-+	   && $(LN_S) edit-copy.png gtk-copy.png			\
-+	   && $(LN_S) edit-cut.png gtk-cut.png			\
-+	   && $(LN_S) edit-delete.png gtk-delete.png			\
-+	   && $(LN_S) edit-find-replace.png gtk-find-and-replace.png			\
-+	   && $(LN_S) edit-find.png gtk-find.png			\
-+	   && $(LN_S) edit-paste.png gtk-paste.png			\
-+	   && $(LN_S) edit-redo-ltr.png gtk-redo-ltr.png			\
-+	   && $(LN_S) edit-redo-rtl.png gtk-redo-rtl.png			\
-+	   && $(LN_S) edit-select-all.png gtk-select-all.png			\
-+	   && $(LN_S) edit-undo-ltr.png gtk-undo-ltr.png			\
-+	   && $(LN_S) edit-undo-rtl.png gtk-undo-rtl.png			\
-+	   && $(LN_S) folder.png gtk-directory.png			\
-+	   && $(LN_S) format-indent-less-ltr.png gtk-unindent-ltr.png			\
-+	   && $(LN_S) format-indent-less-rtl.png gtk-unindent-rtl.png			\
-+	   && $(LN_S) format-indent-more-ltr.png gtk-indent-ltr.png			\
-+	   && $(LN_S) format-indent-more-rtl.png gtk-indent-rtl.png			\
-+	   && $(LN_S) format-justify-center.png gtk-justify-center.png			\
-+	   && $(LN_S) format-justify-fill.png gtk-justify-fill.png			\
-+	   && $(LN_S) format-justify-left.png gtk-justify-left.png			\
-+	   && $(LN_S) format-justify-right.png gtk-justify-right.png			\
-+	   && $(LN_S) format-text-bold.png gtk-bold.png			\
-+	   && $(LN_S) format-text-italic.png gtk-italic.png			\
-+	   && $(LN_S) format-text-strikethrough.png gtk-strikethrough.png			\
-+	   && $(LN_S) format-text-underline.png gtk-underline.png			\
-+	   && $(LN_S) go-bottom.png gtk-goto-bottom.png			\
-+	   && $(LN_S) go-down.png gtk-go-down.png			\
-+	   && $(LN_S) go-first-ltr.png gtk-goto-first-ltr.png			\
-+	   && $(LN_S) go-home.png gtk-home.png			\
-+	   && $(LN_S) go-jump-ltr.png gtk-jump-to-ltr.png			\
-+	   && $(LN_S) go-jump-rtl.png gtk-jump-to-rtl.png			\
-+	   && $(LN_S) go-last-ltr.png gtk-goto-last-ltr.png			\
-+	   && $(LN_S) go-next-ltr.png gtk-go-forward-ltr.png			\
-+	   && $(LN_S) go-previous-ltr.png gtk-go-back-ltr.png			\
-+	   && $(LN_S) go-top.png gtk-goto-top.png			\
-+	   && $(LN_S) go-up.png gtk-go-up.png			\
-+	   && $(LN_S) help-about.png gtk-about.png			\
-+	   && $(LN_S) help-contents.png gtk-help.png			\
-+	   && $(LN_S) image-missing.png gtk-missing-image.png			\
-+	   && $(LN_S) list-add.png gtk-add.png			\
-+	   && $(LN_S) list-remove.png gtk-remove.png			\
-+	   && $(LN_S) media-floppy.png gtk-floppy.png			\
-+	   && $(LN_S) media-optical.png gtk-cdrom.png			\
-+	   && $(LN_S) media-playback-pause.png gtk-media-pause.png			\
-+	   && $(LN_S) media-playback-start-ltr.png gtk-media-play-ltr.png			\
-+	   && $(LN_S) media-playback-start-rtl.png gtk-media-play-rtl.png			\
-+	   && $(LN_S) media-playback-stop.png gtk-media-stop.png			\
-+	   && $(LN_S) media-record.png gtk-media-record.png			\
-+	   && $(LN_S) media-seek-backward-ltr.png gtk-media-rewind-ltr.png			\
-+	   && $(LN_S) media-seek-forward-ltr.png gtk-media-forward-ltr.png			\
-+	   && $(LN_S) media-skip-backward-ltr.png gtk-media-previous-ltr.png			\
-+	   && $(LN_S) media-skip-forward-ltr.png gtk-media-next-ltr.png			\
-+	   && $(LN_S) network-idle.png gtk-network.png			\
-+	   && $(LN_S) printer-error.png gtk-print-error.png			\
-+	   && $(LN_S) printer-info.png gtk-print-report.png			\
-+	   && $(LN_S) printer-paused.png gtk-print-paused.png			\
-+	   && $(LN_S) printer-warning.png gtk-print-warning.png			\
-+	   && $(LN_S) process-stop.png gtk-stop.png			\
-+	   && $(LN_S) system-run.png gtk-execute.png			\
-+	   && $(LN_S) tools-check-spelling.png gtk-spell-check.png			\
-+	   && $(LN_S) view-fullscreen.png gtk-fullscreen.png			\
-+	   && $(LN_S) view-refresh.png gtk-refresh.png			\
-+	   && $(LN_S) view-restore.png gtk-leave-fullscreen.png			\
-+	   && $(LN_S) view-sort-ascending.png gtk-sort-ascending.png			\
-+	   && $(LN_S) view-sort-descending.png gtk-sort-descending.png			\
-+	   && $(LN_S) window-close.png gtk-close.png			\
-+	   && $(LN_S) zoom-fit-best.png gtk-zoom-fit.png			\
-+	   && $(LN_S) zoom-in.png gtk-zoom-in.png			\
-+	   && $(LN_S) zoom-original.png gtk-zoom-100.png			\
-+	   && $(LN_S) zoom-out.png gtk-zoom-out.png			\
- 	) done 								\
-+	&& (cd stock-icons/48						\
-+	   && $(LN_S) dialog-error.png gtk-dialog-error.png)		\
- 	&& touch stamp-icons
- 
- gtkbuiltincache.h: @REBUILD@ stamp-icons
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
new file mode 100644
index 000000000000..5755e747a6b5
--- /dev/null
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, glib, freetype }:
+
+stdenv.mkDerivation rec {
+  name = "harfbuzz-0.9.4";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
+    sha256 = "2572f9a810d17a735ef565115463827d075af2371ee5b68e6d77231381f4bddc";
+  };
+
+  buildInputs = [ pkgconfig glib freetype ];
+
+  meta = {
+    description = "An OpenType text shaping engine";
+    homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/haskell/DSH/default.nix b/pkgs/development/libraries/haskell/DSH/default.nix
index c34a5c914583..32cf21242de6 100644
--- a/pkgs/development/libraries/haskell/DSH/default.nix
+++ b/pkgs/development/libraries/haskell/DSH/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "DSH";
-  version = "0.8.1.0";
-  sha256 = "13mkpcm34jg7hqc272phiak7rg590hxb6ma3s9lwvp6izcv7vccq";
+  version = "0.8.2.2";
+  sha256 = "0hjy8c97avi4wwv3p9gyml66n34mbrfrhb19j5y6vcy0y8ysgf0c";
   buildDepends = [ csv FerryCore HaXml HDBC mtl Pathfinder text ];
   meta = {
     description = "Database Supported Haskell";
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index d5b45960cb97..6da1b8db34de 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "0.5.2.6";
-  sha256 = "0zmls6gl02mdwapdggw340s7pn5fjsvaky40m31ph3n28qr71kww";
+  version = "0.5.2.7";
+  sha256 = "14bn755f25cin0wv775na85ngfx8ack31s15982zkqfva88xg48i";
   buildDepends = [
     liftedBase monadControl resourcet text transformers
     transformersBase void
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
index c32edff30443..b9c436f4a56e 100644
--- a/pkgs/development/libraries/haskell/dbus/default.nix
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dbus";
-  version = "0.10.1";
-  sha256 = "180923lp09pwcvxffxyq753mq7zp7dyxgaj3h13wfsrhfia0awz8";
+  version = "0.10.2";
+  sha256 = "11nzpc2x2khln6xm2fbz54fy3ry1s08c83jndrcn1a4ymv3j1xh1";
   buildDepends = [
     cereal libxmlSax network parsec random text transformers vector
     xmlTypes
diff --git a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
index 3d5725e603ff..a6490953341c 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-snap";
-  version = "0.5.0.0";
-  sha256 = "01lbd42rsryzqzra8ax22iw6c9fyv5az8q7dkdi6yyfxdq976l0x";
+  version = "0.5.0.1";
+  sha256 = "149c01vxzlwskqsncc5l26mk67icmsq2zbav2asjxpp6z8b53i3b";
   buildDepends = [ digestiveFunctors filepath mtl snapCore text ];
   meta = {
     homepage = "http://github.com/jaspervdj/digestive-functors";
diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix
index d6d4710f3060..31a81778f450 100644
--- a/pkgs/development/libraries/haskell/digestive-functors/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors";
-  version = "0.5.0.2";
-  sha256 = "1phakcljl6ri2p9lfzjnn001jw0inyxa5zd7lp2k9lhq1yq0byb0";
+  version = "0.5.0.3";
+  sha256 = "176wpnwg4zpfwphl0ifb3zdm0dhw5xyd3vr81rc98s4db5y9csl0";
   buildDepends = [ mtl text ];
   meta = {
     homepage = "http://github.com/jaspervdj/digestive-functors";
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index ee79d374d428..35783c7762ef 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.3.1.0";
-  sha256 = "0nv7d7ffwq81671c7gyzaqx7xgrgs42svbq5xraij4jbq5406719";
+  version = "9.3.1.1";
+  sha256 = "1x0z85vx49s2b9bgjm14c2152cwr0vzf02rlxrla5dj5g565985y";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 9ccd9ccb13e3..77396e3cf555 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.4.2";
-  sha256 = "0l69kn8flx36z3cl9ckdls8w2sq8361w6abmi3gsa80l8yg3cpl4";
+  version = "0.4.3";
+  sha256 = "13xpmj3jrqkcgilkh4p8ycxhlk5yvfsisx4c1ax7n7aafg1n7phf";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix
index ccf9d4fd238b..1d649ba27a91 100644
--- a/pkgs/development/libraries/haskell/language-javascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-javascript/default.nix
@@ -1,11 +1,11 @@
-{ cabal, alex, blazeBuilder, happy, mtl, utf8Light, utf8String }:
+{ cabal, blazeBuilder, happy, mtl, utf8Light, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "language-javascript";
-  version = "0.5.5";
-  sha256 = "1p02n6rh98nvkh7g5kj18ggcnyvds8lqbgjwgzm83bnd5ayizrw7";
+  version = "0.5.6";
+  sha256 = "1a1nki2z7x0rna5jg6g0gqnipvd115k4xgagg6prrvj284ml44wd";
   buildDepends = [ blazeBuilder mtl utf8Light utf8String ];
-  buildTools = [ alex happy ];
+  buildTools = [ happy ];
   meta = {
     homepage = "http://github.com/alanz/language-javascript";
     description = "Parser for JavaScript";
diff --git a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
index c1901f470fd3..b702f10354cd 100644
--- a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
+++ b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
@@ -1,12 +1,12 @@
-{ cabal, cryptoApi, mtl, transformers }:
+{ cabal, cryptoApi, mtl, tagged, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "monadcryptorandom";
-  version = "0.4.1";
-  sha256 = "01x3zfr4m93bgx062rhxqk1d8qhn6s7rkfkm4yf00p89fclyjsg1";
-  buildDepends = [ cryptoApi mtl transformers ];
+  version = "0.5";
+  sha256 = "19sb9mgfvmmmx1sn0aiq6dn5nl0201xwgs6xqakn7pz5vsqcww2b";
+  buildDepends = [ cryptoApi mtl tagged transformers ];
   meta = {
-    homepage = "http://trac.haskell.org/crypto-api/wiki";
+    homepage = "https://github.com/TomMD/monadcryptorandom";
     description = "A monad for using CryptoRandomGen";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/network-info/default.nix b/pkgs/development/libraries/haskell/network-info/default.nix
index d218af973624..c1bfea43bde6 100644
--- a/pkgs/development/libraries/haskell/network-info/default.nix
+++ b/pkgs/development/libraries/haskell/network-info/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-info";
-  version = "0.2.0.2";
-  sha256 = "132cna6dc8azpll3rm2y4wv6sdcavwjq3x9f8m4p2952vr53bw3m";
+  version = "0.2.0.3";
+  sha256 = "04nwl5akrsppxkqqq7a7qi5sixvrzvj4njl8rbz7sglbh9393rs2";
   meta = {
     homepage = "http://github.com/jystic/network-info";
     description = "Access the local computer's basic network configuration";
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 838e6c30faf4..c266b6bd085a 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "0.14.1";
-  sha256 = "1cvfak5siysnpms1znra6dk762zp0gv1sam3xfdp67a7ir0hpcpp";
+  version = "0.14.2";
+  sha256 = "1vx7yq5fj4dnba94ypf8ldd236kivxisrzhkxcfhhar5zvw2jqng";
   buildDepends = [
     mtl systemFileio systemFilepath text time unixCompat
   ];
diff --git a/pkgs/development/libraries/haskell/silently/default.nix b/pkgs/development/libraries/haskell/silently/default.nix
index 4fb4323bd170..1153a25cda59 100644
--- a/pkgs/development/libraries/haskell/silently/default.nix
+++ b/pkgs/development/libraries/haskell/silently/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "silently";
-  version = "1.2.0.2";
-  sha256 = "0qcprbjnh351hc9v12gww478qd4pw7wgpyjj1gmkx4mr80w0qmm1";
+  version = "1.2.3";
+  sha256 = "1fvkj5qngdi2zxsrfk6dnaynm0wbxpmqr0jzvzayxifhzh04mqld";
   buildDepends = [ deepseq ];
   meta = {
     homepage = "https://github.com/trystan/silently";
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
index 050d48280d2e..5ee2377147ed 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/default.nix
@@ -1,12 +1,12 @@
-{ cabal, binary, digest, filepath, mtl, utf8String, zlib }:
+{ cabal, binary, digest, filepath, mtl, time, utf8String, zlib }:
 
 cabal.mkDerivation (self: {
   pname = "zip-archive";
-  version = "0.1.1.8";
-  sha256 = "0rq4jk1sxi6lrc7d7sh500lh83v2fxxrfh2gknqiyzxd3wh364y1";
+  version = "0.1.2.1";
+  sha256 = "1c0pjbrkfv44nbpz60b1c4xdbkdk8qaxlkfxl51rb2183gj1gkph";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ binary digest filepath mtl utf8String zlib ];
+  buildDepends = [ binary digest filepath mtl time utf8String zlib ];
   meta = {
     homepage = "http://github.com/jgm/zip-archive";
     description = "Library for creating and modifying zip archives";
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index ace271b7a357..ad3af7778ff3 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl_gnome {
     project = "json-glib";
-    major = "0"; minor = "14"; patchlevel = "0"; extension = "xz";
-    sha256 = "0mpw996cyidspjwns281l5haj9i8azpkfpl4jf98lh3kcqcr07l2";
+    major = "0"; minor = "14"; patchlevel = "2"; extension = "xz";
+    sha256 = "19wlpsbdnm3mq2a6yjpzj0cwrmlkarp2m5x6g63b0r2n7vxaa5mq";
   };
 
   propagatedBuildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index fc554dcd8756..64d769fab75b 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -1,21 +1,29 @@
-{ fetchurl, stdenv, acl, openssl, libxml2, attr, zlib, bzip2, e2fsprogs
+{ fetchurl, stdenv, acl, openssl, libxml2, attr, zlib, bzip2, e2fsprogs, xz
 , sharutils }:
 
 stdenv.mkDerivation rec {
-  name = "libarchive-2.8.3";
+  name = "libarchive-3.0.4";
 
   src = fetchurl {
-    url = "http://libarchive.googlecode.com/files/${name}.tar.gz";
-    sha256 = "16095d15334b3c8dbb02db5af3d415f12c1c3bdd4eb43af7bbc36ab7572c0b7a";
+    url = "https://github.com/downloads/libarchive/libarchive/${name}.tar.gz";
+    sha256 = "76e8d7c7b100ec4071e48c1b7d3f3ea1d22b39db3e45b7189f75b5ff4df90fac";
   };
 
-  propagatedBuildInputs = [ libxml2 zlib bzip2 openssl ] ++
+  propagatedBuildInputs = [ libxml2 zlib bzip2 openssl xz ] ++
     stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ];
 
   buildInputs = [ sharutils ];
 
   meta = {
-    description = "A library for reading and writing streaming archives";
-    homepage = http://people.freebsd.org/~kientzle/libarchive;
+    description = "Multi-format archive and compression library";
+    longDescription = ''
+      This library has code for detecting and reading many archive formats and
+      compressions formats including (but not limited to) tar, shar, cpio, zip, and
+      compressed with gzip, bzip2, lzma, xz, .. 
+    '';
+    homepage = http://libarchive.github.com/;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = with stdenv.lib.platforms; all;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index a6b39e170bd3..3a1e101aa431 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,20 +1,20 @@
-{stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, cairo, udev}:
+{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.29";
+  name = "libdrm-2.4.33";
   
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "0bj5ihmnzpbbgdrvp5f8bgsk0k19haixr893449pjd4k7v4jshz2";
+    sha256 = "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd";
   };
 
   buildNativeInputs = [ pkgconfig ];
-  buildInputs = [ libpthreadstubs libpciaccess cairo udev ];
+  buildInputs = [ libpthreadstubs libpciaccess udev ];
 
   patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
 
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin
-  "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
+    "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
   configureFlags = [ "--enable-nouveau-experimental-api"
                      "--enable-radeon-experimental-api"
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 16001e689ddb..b55da62c9fb2 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libusb, libtool, libexif, libjpeg, gettext}:
 
 stdenv.mkDerivation rec {
-  name = "libgphoto2-2.4.11";
+  name = "libgphoto2-2.4.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "08y40mqy714cg0160lny13z9kyxm63m3ksg8hljy5pspxanbn5ji";
+    sha256 = "14h20s0kwqr1nsj90dgjwzs0r3h7z1cpmnivrikd0rrg4m2jvcsr";
   };
   
   buildNativeInputs = [ pkgconfig gettext ];
@@ -17,6 +17,14 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.gphoto.org/proj/libgphoto2/;
     description = "A library for accessing digital cameras";
-    license = "LGPL 2.1";
+    longDescription = ''
+      This is the library backend for gphoto2. It contains the code for PTP,
+      MTP, and other vendor specific protocols for controlling and transferring data
+      from digital cameras. 
+    '';
+    # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
+    license = stdenv.lib.licenses.lgpl21Plus; 
+    platforms = with stdenv.lib.platforms; unix;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 3941fd4d694d..0acd4a77b46d 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -7,11 +7,11 @@ assert gnomeSupport -> gdk_pixbuf != null && gnome_vfs != null && libbonobo != n
   && glib != null;
 
 stdenv.mkDerivation rec {
-  name = "libgsf-1.14.22";
+  name = "libgsf-1.14.23";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgsf/1.14/libgsf-1.14.22.tar.xz;
-    sha256 = "0gvq1gbbcl078s3kgdc508jp7p3a3ps34fj4pf8vsamprbikpwm5";
+    url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz";
+    sha256 = "05zvaazf0d584nfirwsz7889lbsl4v781hslv3kda6akiwbwdhdz";
   };
 
   buildNativeInputs = [ intltool pkgconfig ];
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  patches = [ ./syscall-name-clash.patch ];
+
   meta = {
     homepage = http://www.gnome.org/projects/libgsf;
     license = "LGPLv2";
diff --git a/pkgs/development/libraries/libgsf/syscall-name-clash.patch b/pkgs/development/libraries/libgsf/syscall-name-clash.patch
new file mode 100644
index 000000000000..01543ade4fdd
--- /dev/null
+++ b/pkgs/development/libraries/libgsf/syscall-name-clash.patch
@@ -0,0 +1,120 @@
+diff -Naur libgsf-1.14.23-orig/tests/test-cp-msole.c libgsf-1.14.23/tests/test-cp-msole.c
+--- libgsf-1.14.23-orig/tests/test-cp-msole.c	2009-05-18 21:55:48.000000000 -0400
++++ libgsf-1.14.23/tests/test-cp-msole.c	2012-07-15 03:52:03.858382670 -0400
+@@ -34,7 +34,7 @@
+ static void clone_dir (GsfInfile *in, GsfOutfile *out);
+ 
+ static void
+-clone (GsfInput *input, GsfOutput *output)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInput *input, GsfOutput *output)
+ {
+ 	if (gsf_input_size (input) > 0) {
+ 		guint8 const *data;
+@@ -87,7 +87,7 @@
+ 				gsf_infile_name_by_index  (in, i),
+ 				is_dir);
+ 
+-		clone (new_input, new_output);
++		clone_is_a_stupid_name_for_a_function_compiled_on_linux (new_input, new_output);
+ 	}
+ 	/* An observation: when you think about the explanation to is_dir
+ 	 * above, you realize that clone_dir is called even for regular files.
+@@ -137,7 +137,7 @@
+ 
+ 	outfile = gsf_outfile_msole_new (output);
+ 	g_object_unref (G_OBJECT (output));
+-	clone (GSF_INPUT (infile), GSF_OUTPUT (outfile));
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INPUT (infile), GSF_OUTPUT (outfile));
+ 
+ 	return 0;
+ }
+diff -Naur libgsf-1.14.23-orig/tests/test-cp-zip.c libgsf-1.14.23/tests/test-cp-zip.c
+--- libgsf-1.14.23-orig/tests/test-cp-zip.c	2009-05-18 21:55:48.000000000 -0400
++++ libgsf-1.14.23/tests/test-cp-zip.c	2012-07-15 03:54:53.719198559 -0400
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ 
+ static void
+-clone (GsfInfile *in, GsfOutfile *out)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInfile *in, GsfOutfile *out)
+ {
+ 	GsfInput *input = GSF_INPUT (in);
+ 	GsfOutput *output = GSF_OUTPUT (out);
+@@ -85,7 +85,7 @@
+ 			output = gsf_outfile_new_child_full  (out, name, is_dir,
+ 							      "compression-level", level,
+ 							      NULL);
+-			clone (GSF_INFILE (input), GSF_OUTFILE (output));
++			clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INFILE (input), GSF_OUTFILE (output));
+ 		}
+ 	}
+ 	gsf_output_close (GSF_OUTPUT (out));
+@@ -137,7 +137,7 @@
+ 
+ 	outfile = gsf_outfile_zip_new (output, &err);
+ 	g_object_unref (G_OBJECT (output));
+-	clone (infile, outfile);
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (infile, outfile);
+ 
+ 	return 0;
+ }
+diff -Naur libgsf-1.14.23-orig/tests/test-dump-msole.c libgsf-1.14.23/tests/test-dump-msole.c
+--- libgsf-1.14.23-orig/tests/test-dump-msole.c	2011-12-07 18:05:18.000000000 -0500
++++ libgsf-1.14.23/tests/test-dump-msole.c	2012-07-15 03:56:15.581110536 -0400
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ 
+ static void
+-clone (GsfInput *input, GsfOutput *output)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInput *input, GsfOutput *output)
+ {
+ 	guint8 const *data;
+ 	size_t len;
+@@ -72,7 +72,7 @@
+ 			dst = gsf_outfile_new_child  (out,
+ 				gsf_infile_name_by_index  (in, i),
+ 				is_dir);
+-			clone (src, dst);
++			clone_is_a_stupid_name_for_a_function_compiled_on_linux (src, dst);
+ 		}
+ 	}
+ 
+@@ -118,7 +118,7 @@
+ 		g_error_free (err);
+ 		return 1;
+ 	}
+-	clone (GSF_INPUT (infile), GSF_OUTPUT (outfile));
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INPUT (infile), GSF_OUTPUT (outfile));
+ 
+ 	return 0;
+ }
+diff -Naur libgsf-1.14.23-orig/tests/test-restore-msole.c libgsf-1.14.23/tests/test-restore-msole.c
+--- libgsf-1.14.23-orig/tests/test-restore-msole.c	2011-12-07 18:05:18.000000000 -0500
++++ libgsf-1.14.23/tests/test-restore-msole.c	2012-07-15 03:57:39.972017963 -0400
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ 
+ static void
+-clone (GsfInput *input, GsfOutput *output)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInput *input, GsfOutput *output)
+ {
+ 	guint8 const *data;
+ 	size_t len;
+@@ -72,7 +72,7 @@
+ 			dst = gsf_outfile_new_child  (out,
+ 				gsf_infile_name_by_index (in, i),
+ 				is_dir);
+-			clone (src, dst);
++			clone_is_a_stupid_name_for_a_function_compiled_on_linux (src, dst);
+ 		}
+ 	}
+ 
+@@ -111,7 +111,7 @@
+ 
+ 	outfile = gsf_outfile_msole_new (output);
+ 	g_object_unref (G_OBJECT (output));
+-	clone (GSF_INPUT (infile), GSF_OUTPUT (outfile));
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INPUT (infile), GSF_OUTPUT (outfile));
+ 
+ 	return 0;
+ }
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 5d6e439484d5..ebdb9e756aaa 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.47";
+  name = "libpng-1.2.50";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "1lai3dnzw81y40jr17bdj1qh08hwv9mc1v74yybl7jdx2hiilsvx";
+    sha256 = "1rz8v3cvy1zzpagxn91lj8swb9vf75rz3yyi18v7zb4jihgzh927";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index a06e8e12543a..ce23cf48587a 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.5.10";
+  name = "libpng-1.5.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "0pb096zn6iyza28js4j7krvcw23b979igfi315aqmvx622bw6jfx";
+    sha256 = "1vks4mqv4140b10kp53qrywsx9m4xan5ibwsrlmf42ni075zjhxq";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 861f41cb7a4d..87aaafabcc4b 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -2,11 +2,11 @@
 , gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking }:
 
 stdenv.mkDerivation {
-  name = "libsoup-2.36.1";
+  name = "libsoup-2.38.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libsoup/2.36/libsoup-2.36.1.tar.xz;
-    sha256 = "0r8zkr0a328jkww4dv9z1q691rw59nh4lf5f5pzzr9szzw3j8wkk";
+    url = mirror://gnome/sources/libsoup/2.38/libsoup-2.38.1.tar.xz;
+    sha256 = "16iza4y8pmc4sn90iid88fgminvgcqypy3s2qnmzkzm5qwzr5f3i";
   };
 
 
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index d170c2fd2314..ba5966d13d4b 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,18 +1,22 @@
 { stdenv, fetchurl, zlib, libjpeg }:
 
-stdenv.mkDerivation {
-  name = "libtiff-3.9.4";
-  
+let version = "3.9.7"; in
+
+stdenv.mkDerivation rec {
+  name = "libtiff-${version}";
+
   src = fetchurl {
     urls =
-      [ ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.4.tar.gz
-        http://download.osgeo.org/libtiff/tiff-3.9.4.tar.gz
+      [ "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${version}.tar.gz"
+        "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz"
       ];
-    sha256 = "19hxd773yxcs4lxlc3zfdkz5aiv705vj2jvy5srpqkxpbw3nvdv7";
+    sha256 = "0spg1hr5rsrmg88sfzb05qnf0haspq7r5hvdkxg5zib1rva4vmpm";
   };
-  
+
   propagatedBuildInputs = [ zlib libjpeg ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Library and utilities for working with the TIFF image file format";
     homepage = http://www.libtiff.org/;
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index dcdd9f46d763..8a1580d4fbe8 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.8";
+  name = "libusb-1.0.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "1afvpaqnl5plqg95nkvsl4sj9d6ckrmjq44mql8l4zqgf6jx7l11";
+    sha256 = "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index defba390cf14..8fc32babd3b4 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,28 +1,34 @@
-{stdenv, fetchurl, zlib, python ? null, pythonSupport ? true }:
+{ stdenv, fetchurl, zlib, python ? null, pythonSupport ? true }:
 
 assert pythonSupport -> python != null;
 
-stdenv.mkDerivation {
-  name = "libxml2-2.7.8";
+stdenv.mkDerivation rec {
+  name = "libxml2-2.9.0";
 
   src = fetchurl {
-    url = ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.8.tar.gz;
-    sha256 = "6a33c3a2d18b902cd049e0faa25dd39f9b554a5b09a3bb56ee07dd7938b11c54";
+    url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
+    sha256 = "10ib8bpar2pl68aqksfinvfmqknwnk7i35ibq6yjl8dpb0cxj9dd";
   };
 
-  configureFlags = ''                                                  
-    ${if pythonSupport then "--with-python=${python}" else ""}         
-  '';
-  
-  propagatedBuildInputs = [zlib];
+  patches = [ ./pthread-once-init.patch ];
+
+  configureFlags = stdenv.lib.optionalString pythonSupport "--with-python=${python}";
+
+  buildInputs = stdenv.lib.optional pythonSupport [ python ];
+
+  propagatedBuildInputs = [ zlib ];
 
   setupHook = ./setup-hook.sh;
 
-  passthru = {inherit pythonSupport;};
+  passthru = { inherit pythonSupport; };
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://xmlsoft.org/;
     description = "A XML parsing library for C";
     license = "bsd";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/libxml2/pthread-once-init.patch b/pkgs/development/libraries/libxml2/pthread-once-init.patch
new file mode 100644
index 000000000000..fadfc27a9118
--- /dev/null
+++ b/pkgs/development/libraries/libxml2/pthread-once-init.patch
@@ -0,0 +1,35 @@
+http://git.gnome.org/browse/libxml2/commit/?id=3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e
+
+From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
+From: Friedrich Haubensak <hsk@fli-leibniz.de>
+Date: Wed, 12 Sep 2012 15:34:53 +0000
+Subject: Fix a thread portability problem
+
+cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
+
+I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
+a structure assignment anyway
+---
+diff --git a/threads.c b/threads.c
+index f206149..7e85a26 100644
+--- a/threads.c
++++ b/threads.c
+@@ -146,6 +146,7 @@ struct _xmlRMutex {
+ static pthread_key_t globalkey;
+ static pthread_t mainthread;
+ static pthread_once_t once_control = PTHREAD_ONCE_INIT;
++static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
+ static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
+ #elif defined HAVE_WIN32_THREADS
+ #if defined(HAVE_COMPILER_TLS)
+@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
+ #ifdef HAVE_PTHREAD_H
+     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
+         pthread_key_delete(globalkey);
+-    once_control = PTHREAD_ONCE_INIT;
++    once_control = once_control_init;
+ #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+     if (globalkey != TLS_OUT_OF_INDEXES) {
+         xmlGlobalStateCleanupHelperParams *p;
+--
+cgit v0.9.0.2
diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh
index d87c226506a8..f8e4f5e0fd64 100644
--- a/pkgs/development/libraries/libxml2/setup-hook.sh
+++ b/pkgs/development/libraries/libxml2/setup-hook.sh
@@ -1,10 +1,10 @@
 addXMLCatalogs () {
     for kind in dtd xsl; do
-	if test -d $1/xml/$kind; then
+        if test -d $1/xml/$kind; then
             for i in $(find $1/xml/$kind -name catalog.xml); do
-		export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
+                export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
             done
-	fi
+        fi
     done
 }
 
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 05ce8019c4ec..d3b7769754e9 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, libxml2 }:
+{ stdenv, fetchurl, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "libxslt-1.1.26";
-  
+  name = "libxslt-1.1.27";
+
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "1c9xdv39jvq1hp16gsbi56hbz032dmqyy0fpi4ls1y3152s55pam";
+    sha256 = "09ky3vhlaahvsb0q9gp6h3as53pfj70gincirachjqzj46jdka5n";
   };
-  
-  buildInputs = [libxml2];
-  
+
+  buildInputs = [ libxml2 ];
+
   postInstall = ''
     mkdir -p $out/nix-support
     ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/
@@ -19,5 +19,7 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
     license = "bsd";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix
index ffa3ebdef926..ae9f3fc6c18d 100644
--- a/pkgs/development/libraries/loudmouth/default.nix
+++ b/pkgs/development/libraries/loudmouth/default.nix
@@ -1,16 +1,22 @@
-{stdenv, fetchurl, openssl, libidn, glib, pkgconfig, zlib}:
+{ stdenv, fetchurl, openssl, libidn, glib, pkgconfig, zlib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "loudmouth-1.4.3";
-    
+
   src = fetchurl {
-    url = mirror://gnome/sources/loudmouth/1.4/loudmouth-1.4.3.tar.bz2;
+    url = "mirror://gnome/sources/loudmouth/1.4/${name}.tar.bz2";
     md5 = "55339ca42494690c3942ee1465a96937";
   };
-    
+
+  patches = [ ./glib-2.32.patch ];
+
   configureFlags = "--with-ssl=openssl";
-  
-  propagatedBuildInputs = [openssl libidn glib zlib];
-  
-  buildInputs = [pkgconfig];
+
+  propagatedBuildInputs = [ openssl libidn glib zlib ];
+
+  buildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A lightweight C library for the Jabber protocol";
+  };
 }
diff --git a/pkgs/development/libraries/loudmouth/glib-2.32.patch b/pkgs/development/libraries/loudmouth/glib-2.32.patch
new file mode 100644
index 000000000000..87fc170c80da
--- /dev/null
+++ b/pkgs/development/libraries/loudmouth/glib-2.32.patch
@@ -0,0 +1,13 @@
+Index: loudmouth-1.4.3/loudmouth/lm-error.c
+===================================================================
+--- loudmouth-1.4.3.orig/loudmouth/lm-error.c
++++ loudmouth-1.4.3/loudmouth/lm-error.c
+@@ -19,7 +19,7 @@
+  */
+ 
+ #include <config.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include "lm-error.h"
+ 
+ /**
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 219dc161761b..f72638677d1c 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -7,27 +7,24 @@ if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
   throw "unsupported platform for Mesa"
 else
 
-let version = "7.11.2"; in
+let version = "8.0.4"; in
 
 stdenv.mkDerivation {
   name = "mesa-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "0msk1fh4yw4yi7z37v75vhpa23z49lkwgin6drczbihbqsl6lx2p";
+    md5 = "d546f988adfdf986cff45b1efa2d8a46";
   };
 
-  patches = [ ./swrast-settexbuffer.patch ] ++ stdenv.lib.optional
-    (stdenv.system == "mips64el-linux") ./mips_wmb.patch;
+  patches =
+    stdenv.lib.optional (stdenv.system == "mips64el-linux") ./mips_wmb.patch;
 
   prePatch = "patchShebangs .";
 
-# r300
   configureFlags =
-      " --with-driver=dri --enable-gl-osmesa --enable-gles1"
+      " --enable-gles1 --enable-gles2 --enable-gallium-egl"
     + " --with-gallium-drivers=i915,nouveau,r600,svga,swrast"
-    + " --enable-gles2 --enable-gallium-egl --disable-glx-tls"
-    + " --enable-xcb --enable-egl --disable-glut"
     # Texture floats are patented, see docs/patents.txt
     + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float";
 
@@ -44,7 +41,6 @@ stdenv.mkDerivation {
     description = "An open source implementation of OpenGL";
     homepage = http://www.mesa3d.org/;
     license = "bsd";
-
     platforms = stdenv.lib.platforms.mesaPlatforms;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 6c7383435a8a..2a4d89bb4f0c 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -1,12 +1,11 @@
 { fetchurl, stdenv, gmp, gnum4 }:
 
 stdenv.mkDerivation (rec {
-  name = "nettle-2.4";
+  name = "nettle-2.5";
 
   src = fetchurl {
-    # Eventually use `mirror://gnu/'.
-    url = "ftp://ftp.lysator.liu.se/pub/security/lsh/${name}.tar.gz";
-    sha256 = "0gwwcipmjxkv7p2p01m19n4c3jiczg682w58l5dgg0b8vw494056";
+    url = "mirror://gnu/nettle/${name}.tar.gz";
+    sha256 = "0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa";
   };
 
   buildInputs = [ gnum4 ];
@@ -14,6 +13,8 @@ stdenv.mkDerivation (rec {
 
   doCheck = (stdenv.system != "i686-cygwin");
 
+  enableParallelBuilding = true;
+
   patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
               ./cygwin.patch;
 
diff --git a/pkgs/development/libraries/pango/1.29.x.nix b/pkgs/development/libraries/pango/1.30.x.nix
index 6c5d0f4cebcc..7168c1b6c9d6 100644
--- a/pkgs/development/libraries/pango/1.29.x.nix
+++ b/pkgs/development/libraries/pango/1.30.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pango-1.29.4";
+  name = "pango-1.30.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/pango/1.29/pango-1.29.4.tar.xz;
-    sha256 = "0zqjq6ccv6mbah74rcvb03ksq1jwan21z37mdmqa56307sax3s3s";
+    url = "mirror://gnome/sources/pango/1.30/${name}.tar.xz";
+    sha256 = "3a8c061e143c272ddcd5467b3567e970cfbb64d1d1600a8f8e62435556220cbe";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ x11 glib cairo libpng ];
 
+  enableParallelBuilding = true;
+
   postInstall = "rm -rf $out/share/gtk-doc";
 
   meta = {
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index f56886259a63..cea597806272 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -7,13 +7,13 @@
 , perl, coreutils, libXi
 , buildMultimedia ? true, alsaLib, gstreamer, gst_plugins_base
 , buildWebkit ? true
-, flashplayerFix ? true, gdk_pixbuf
+, flashplayerFix ? false, gdk_pixbuf
 , gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
 }:
 
-let
-  v = "4.8.2";
-in
+with stdenv.lib;
+
+let v = "4.8.3"; in
 
 # TODO:
 #  * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid
@@ -24,27 +24,26 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${v}.tar.gz";
-    sha256 = "0y93vkkn44md37gyg4y8sc9ylk27xkniaimfcpdcwd090qnjl6wj";
+    sha256 = "0a67riy4i0xj6j7vmckd0nakras3rl3rzx0r83h1p1i4z5s2kxzi";
   };
 
-  patches = [ ( substituteAll {
+  patches =
+    [ ./glib-2.32.patch
+      (substituteAll {
         src = ./dlopen-absolute-paths.diff;
         inherit cups icu libXfixes;
         glibc = stdenv.gcc.libc;
       })
-    ] ++ stdenv.lib.optional gtkStyle (
-      substituteAll {
+    ] ++ stdenv.lib.optional gtkStyle (substituteAll {
         src = ./dlopen-gtkstyle.diff;
         # substituteAll ignores env vars starting with capital letter
-        gconf = GConf; 
+        gconf = GConf;
         inherit gnome_vfs libgnomeui gtk;
-      }
-    ) ++ stdenv.lib.optional flashplayerFix (
-      substituteAll {
+      })
+    ++ stdenv.lib.optional flashplayerFix (substituteAll {
         src = ./dlopen-webkit-nsplugin.diff;
         inherit gtk gdk_pixbuf;
-      }
-    );
+      });
 
   preConfigure =
     ''
@@ -81,18 +80,16 @@ stdenv.mkDerivation rec {
     [ libXrender libXrandr libXinerama libXcursor libXext libXfixes
       libXv libXi libSM
     ]
-    ++ (stdenv.lib.optional (stdenv.lib.lists.elem stdenv.system
-                              stdenv.lib.platforms.mesaPlatforms)
-         mesa)
-    ++ (stdenv.lib.optional (buildWebkit || buildMultimedia) alsaLib)
+    ++ optional (stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms) mesa
+    ++ optional (buildWebkit || buildMultimedia) alsaLib
     ++ [ zlib libpng openssl dbus.libs freetype fontconfig glib ]
-    ++ (stdenv.lib.optionals (buildWebkit || buildMultimedia)
-        [ gstreamer gst_plugins_base ]);
+    ++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst_plugins_base ];
 
   # The following libraries are only used in plugins
-  buildInputs = [ cups # Qt dlopen's libcups instead of linking to it
-    mysql postgresql sqlite libjpeg libmng libtiff icu ]
-    ++ stdenv.lib.optionals gtkStyle [ gtk gdk_pixbuf ];
+  buildInputs =
+    [ cups # Qt dlopen's libcups instead of linking to it
+      mysql postgresql sqlite libjpeg libmng libtiff icu ]
+    ++ optionals gtkStyle [ gtk gdk_pixbuf ];
 
   buildNativeInputs = [ perl pkgconfig which ];
 
@@ -119,7 +116,7 @@ stdenv.mkDerivation rec {
       -no-svg
       -make qmake -make libs -nomake tools
       -nomake demos -nomake examples -nomake docs
-    '' + stdenv.lib.optionalString isMingw " -xplatform win32-g++-4.6";
+    '' + optionalString isMingw " -xplatform win32-g++-4.6";
     patches = [];
     preConfigure = ''
       sed -i -e 's/ g++/ ${stdenv.cross.config}-g++/' \
@@ -136,12 +133,11 @@ stdenv.mkDerivation rec {
     '';
     dontSetConfigureCross = true;
     dontStrip = true;
-  } // (if isMingw then
-  {
+  } // optionalAttrs isMingw {
     propagatedBuildInputs = [ ];
-  } else {});
+  };
 
-  meta = with stdenv.lib; {
+  meta = {
     homepage = http://qt.nokia.com/products;
     description = "A cross-platform application framework for C++";
     license = "GPL/LGPL";
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
index 9823d6493652..fe691996277e 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
+++ b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
@@ -1,5 +1,27 @@
---- a/src/gui/painting/qcups.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/gui/painting/qcups.cpp	2011-12-18 12:17:07.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.cpp qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.cpp	2012-09-10 21:36:50.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp	2012-09-28 22:57:40.764153828 -0400
+@@ -81,7 +81,7 @@
+     if (status == NotLoaded) {
+ 
+         // resolve libicui18n
+-        QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
++        QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
+         lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
+         if (!lib.load()) {
+             qWarning() << "Unable to load library icui18n" << lib.errorString();
+@@ -111,7 +111,7 @@
+         }
+ 
+         // resolve libicuuc
+-        QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
++        QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
+         ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
+         if (!ucLib.load()) {
+             qWarning() << "Unable to load library icuuc" << ucLib.errorString();
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp qt-everywhere-opensource-src-4.8.3/src/gui/painting/qcups.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/gui/painting/qcups.cpp	2012-09-28 18:08:26.600720491 -0400
 @@ -87,7 +87,7 @@
  
  static void resolveCups()
@@ -9,8 +31,9 @@
      if(cupsLib.load()) {
          _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
          _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
---- a/src/gui/painting/qprinterinfo_unix.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/gui/painting/qprinterinfo_unix.cpp	2011-12-23 16:22:15.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_unix.cpp qt-everywhere-opensource-src-4.8.3/src/gui/painting/qprinterinfo_unix.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_unix.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/gui/painting/qprinterinfo_unix.cpp	2012-09-28 18:08:26.601720488 -0400
 @@ -454,7 +454,7 @@
      char *domain;
      int err;
@@ -20,39 +43,21 @@
      typedef int (*ypGetDefaultDomain)(char **);
      ypGetDefaultDomain _ypGetDefaultDomain = (ypGetDefaultDomain)lib.resolve("yp_get_default_domain");
      typedef int (*ypAll)(const char *, const char *, const struct ypall_callback *);
---- a/src/network/kernel/qhostinfo_unix.cpp	2011-12-23 16:26:07.000000000 +0400
-+++ b/src/network/kernel/qhostinfo_unix.cpp	2011-12-23 16:25:55.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-4.8.3/src/network/kernel/qhostinfo_unix.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/network/kernel/qhostinfo_unix.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/network/kernel/qhostinfo_unix.cpp	2012-09-28 18:08:53.186643755 -0400
 @@ -95,7 +95,7 @@
  static void resolveLibrary()
  {
  #ifndef QT_NO_LIBRARY
 -    QLibrary lib(QLatin1String("resolv"));
 +    QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
+     lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
      if (!lib.load())
          return;
- 
---- a/src/corelib/tools/qlocale_icu.cpp	2011-12-08 09:06:03.000000000 +0400
-+++ b/src/corelib/tools/qlocale_icu.cpp	2011-12-23 16:29:15.000000000 +0400
-@@ -81,7 +81,7 @@
-     if (status == NotLoaded) {
- 
-         // resolve libicui18n
--        QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
-+        QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
-         if (!lib.load()) {
-             qWarning() << "Unable to load library icui18n" << lib.errorString();
-             status = ErrorLoading;
-@@ -110,7 +110,7 @@
-         }
- 
-         // resolve libicuuc
--        QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
-+        QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
-         if (!ucLib.load()) {
-             qWarning() << "Unable to load library icuuc" << ucLib.errorString();
-             status = ErrorLoading;
---- a/src/plugins/platforms/xlib/qxlibstatic.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/plugins/platforms/xlib/qxlibstatic.cpp	2011-12-23 20:38:49.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/plugins/platforms/xlib/qxlibstatic.cpp qt-everywhere-opensource-src-4.8.3/src/plugins/platforms/xlib/qxlibstatic.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/plugins/platforms/xlib/qxlibstatic.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/plugins/platforms/xlib/qxlibstatic.cpp	2012-09-28 18:08:26.601720488 -0400
 @@ -242,7 +242,7 @@
  }
  
diff --git a/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch b/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch
new file mode 100644
index 000000000000..4593c1b4ba8d
--- /dev/null
+++ b/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch
@@ -0,0 +1,12 @@
+diff -Naur qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-4.8.2/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+--- qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2012-04-26 15:46:22.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.2/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2012-07-14 22:47:02.145152876 -0400
+@@ -89,7 +89,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix
index 55654586eddf..7066ebad87c0 100644
--- a/pkgs/development/libraries/science/math/blas/default.nix
+++ b/pkgs/development/libraries/science/math/blas/default.nix
@@ -32,10 +32,14 @@ stdenv.mkDerivation {
     echo >>make.inc "RANLIB = ranlib"
     make
   '';
- 
-  installPhase = ''
-    install -D -m755 libblas.a "$out/lib/libblas.a"
-    install -D -m755 libblas.so.3.0.3 "$out/lib/libblas.so.3.0.3"
+
+  installPhase =
+    # FreeBSD's stdenv doesn't use Coreutils.
+    let dashD = if stdenv.isFreeBSD then "" else "-D"; in
+    (stdenv.lib.optionalString stdenv.isFreeBSD "mkdir -p $out/lib ;")
+    + ''
+    install ${dashD} -m755 libblas.a "$out/lib/libblas.a"
+    install ${dashD} -m755 libblas.so.3.0.3 "$out/lib/libblas.so.3.0.3"
     ln -s libblas.so.3.0.3 "$out/lib/libblas.so.3"
     ln -s libblas.so.3.0.3 "$out/lib/libblas.so"
   '';
diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix
index c0fd878e0bb5..d229228b94f7 100644
--- a/pkgs/development/libraries/webkit/default.nix
+++ b/pkgs/development/libraries/webkit/default.nix
@@ -14,7 +14,7 @@ rec {
     sqlite icu gperf bison flex autoconf automake libtool 
     perl intltool pkgconfig libsoup gtkdoc libXt libproxy
     enchant python ruby which renderproto libXrender geoclue
-    kbproto
+    kbproto mesa
     ];
 
   propagatedBuildInputs = [
@@ -54,7 +54,7 @@ rec {
     ];
 
   /* doConfigure should be specified separately */
-  phaseNames = ["setVars" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") 
+  phaseNames = ["setVars" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") 
     "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
 
   setVars = fullDepEntry (''
@@ -78,6 +78,13 @@ rec {
     sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h')
   '') ["minInit" "doUnpack"];
 
+  # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html
+  fixConfigure = fullDepEntry (''
+    sed   -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \
+      -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \
+      configure{,.ac}
+  '') ["minInit" "doUnpack"];
+
   name = s.name;
   meta = {
     description = "WebKit - a fast and correct HTML renderer";
diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix
index 30e129e2faef..65bcd4350960 100644
--- a/pkgs/development/libraries/webkit/src-for-default.nix
+++ b/pkgs/development/libraries/webkit/src-for-default.nix
@@ -1,9 +1,10 @@
 rec {
-   version="1.6.3";
-   name="webkit-1.6.3";
-   hash="1hvph13ak7a85qmj1ikanwxf2nn53m5f6a50j627lp49db7dpl0j";
-   url="http://webkitgtk.org/webkit-1.6.3.tar.xz";
-   advertisedUrl="http://webkitgtk.org/webkit-1.6.3.tar.xz";
+   version="1.8.1";
+   name="webkit-1.8.1";
+   hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls";
+   url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
+   advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
   
   
 }
+