summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-09-11 08:37:03 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-09-11 08:37:03 +0200
commitaa8e8303e1b42c5cf5195f3ce82f886664aa26d4 (patch)
treeaaca4e6d9683e0831cbc327ab5335ab5acd5a8dc /pkgs
parentb728835bc129c4ef13ee7051e60e685c4b175439 (diff)
parentd55fb56690a7adc21eab7660d76fe4217860d914 (diff)
downloadnixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.tar
nixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.tar.gz
nixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.tar.bz2
nixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.tar.lz
nixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.tar.xz
nixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.tar.zst
nixlib-aa8e8303e1b42c5cf5195f3ce82f886664aa26d4.zip
Merge branch 'x-updates' into master
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix4
-rw-r--r--pkgs/development/compilers/idris/default.nix13
-rw-r--r--pkgs/development/compilers/llvm/clang-purity.patch105
-rw-r--r--pkgs/development/compilers/llvm/clang.nix10
-rw-r--r--pkgs/development/compilers/llvm/default.nix37
-rw-r--r--pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch15
-rw-r--r--pkgs/development/compilers/llvm/set_soname.patch12
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix4
-rw-r--r--pkgs/development/libraries/atk/default.nix4
-rw-r--r--pkgs/development/libraries/cairo/default.nix12
-rw-r--r--pkgs/development/libraries/clutter-gtk/0.10.8.nix2
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix2
-rw-r--r--pkgs/development/libraries/clutter/default.nix2
-rw-r--r--pkgs/development/libraries/dbus/default.nix56
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix2
-rw-r--r--pkgs/development/libraries/freetype/default.nix24
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix12
-rw-r--r--pkgs/development/libraries/glew/default.nix5
-rw-r--r--pkgs/development/libraries/glib/default.nix39
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix21
-rw-r--r--pkgs/development/libraries/gobject-introspection/setup-hook.sh14
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix9
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/default.nix21
-rw-r--r--pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--pkgs/development/libraries/libchamplain/0.6.nix2
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix2
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libffi/default.nix24
-rw-r--r--pkgs/development/libraries/libpng/default.nix30
-rw-r--r--pkgs/development/libraries/libwnck/default.nix24
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/pango/default.nix8
-rw-r--r--pkgs/development/libraries/pangomm/2.28.x.nix2
-rw-r--r--pkgs/development/libraries/pixman/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix10
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/CVE-2013-0254.patch66
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix68
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff75
-rw-r--r--pkgs/development/libraries/wxGTK-2.8/default.nix1
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.13.x.nix4
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/dejagnu/default.nix6
-rw-r--r--pkgs/lib/licenses.nix6
-rw-r--r--pkgs/misc/ghostscript/default.nix27
-rw-r--r--pkgs/os-specific/darwin/otool/default.nix8
-rw-r--r--pkgs/servers/x11/xorg/default.nix24
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix8
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list8
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix2
-rw-r--r--pkgs/tools/misc/expect/default.nix23
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix1
-rw-r--r--pkgs/top-level/all-packages.nix18
-rw-r--r--pkgs/top-level/haskell-packages.nix4
-rw-r--r--pkgs/top-level/make-tarball.nix4
59 files changed, 509 insertions, 411 deletions
diff --git a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix
index 6ca2a9142c15..277ca9a1a698 100644
--- a/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gnome-panel/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
     ];
 
   nativeBuildInputs = [ pkgconfig intltool which ];
-  configureFlags = "--disable-scrollkeeper";
+
+  configureFlags = [ "--disable-scrollkeeper" "--disable-introspection"/*not useful AFAIK*/ ];
 
   NIX_CFLAGS_COMPILE="-I${GConf}/include/gconf/2";
 }
diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
index 948774572670..ab25845c413d 100644
--- a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
+++ b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   versionMajor = "2.8";
-  versionMinor = "0";
+  versionMinor = "1";
   moduleName   = "at-spi2-atk";
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "085sqww174vl3i9ccb477v706rkjs2d107rl96ma1kbl2jyar226";
+    sha256 = "01pxfnksixrjj27ivllpla54r6nkwsjj34acb0phmp76zna9nrgb";
   };
 
   buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 5d517da82b39..8af6d65420a6 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -3,7 +3,8 @@
 rec {
   inherit (pkgs) fetchurl_gnome glib gtk3 atk pango;
   gtk = gtk3;
-  orbit = pkgs.gnome2.ORBit2;
+  inherit (pkgs.gnome2) gnome_common ORBit2;
+  orbit = ORBit2;
 
   inherit (lib) lowPrio hiPrio appendToName makeOverridable;
 
@@ -11,7 +12,7 @@ rec {
 
 #### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
 
-  at_spi2_atk = lib.lowPrio (callPackage ./core/at-spi2-atk { });
+  at_spi2_atk = callPackage ./core/at-spi2-atk { };
 
   at_spi2_core = callPackage ./core/at-spi2-core { };
 
diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
index 4d22f6ad7466..1f0b6c2a971d 100644
--- a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3
-, intltool, gnome_doc_utils}:
+, intltool, gnome_doc_utils }:
 
 stdenv.mkDerivation rec {
 
@@ -7,6 +7,8 @@ stdenv.mkDerivation rec {
   minorVersion = "3";
   name = "gnome-desktop-${majorVersion}.${minorVersion}";
 
+  enableParallelBuilding = true;
+
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
     sha256 = "1nrqcp1p5cxhfjjy5hjpvkqmzsgl2353a08fg0b11c932v95bsba";
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 225f8afcd82d..e36924f63fed 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,19 +1,20 @@
 { cabal, binary, Cabal, filepath, gmp, happy, haskeline
-, languageJava, libffi, mtl, parsec, split, text, transformers
+, languageJava, libffi, llvmGeneral, mtl, parsec, split, text
+, transformers, vector, vectorBinaryInstances, boehmgc
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.8";
-  sha256 = "1mxc6mic3d508ni9pqxw8q31f27shyaxs1rchfl2jg58i9w6iy7h";
+  version = "0.9.9";
+  sha256 = "0wwssgpiyn7akyfrpi1khvqxx1k8753kk7151zvvymz0zkks643m";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    binary Cabal filepath haskeline languageJava libffi mtl parsec
-    split text transformers
+    binary Cabal filepath haskeline languageJava libffi llvmGeneral mtl
+    parsec split text transformers vector vectorBinaryInstances
   ];
   buildTools = [ happy ];
-  extraLibraries = [ gmp ];
+  extraLibraries = [ gmp boehmgc ];
   meta = {
     homepage = "http://www.idris-lang.org/";
     description = "Functional Programming Language with Dependent Types";
diff --git a/pkgs/development/compilers/llvm/clang-purity.patch b/pkgs/development/compilers/llvm/clang-purity.patch
index 18c70b56c540..e82305189e8f 100644
--- a/pkgs/development/compilers/llvm/clang-purity.patch
+++ b/pkgs/development/compilers/llvm/clang-purity.patch
@@ -1,8 +1,8 @@
-diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver/ToolChains.cpp
---- clang-3.2.src-orig/lib/Driver/ToolChains.cpp	2012-12-16 10:59:27.000000000 -0500
-+++ clang-3.2.src/lib/Driver/ToolChains.cpp	2013-01-22 14:16:55.787547681 -0500
-@@ -2153,16 +2153,6 @@
-       addPathIfExists(LibPath + "/../" + GCCTriple.str() + "/lib", Paths);
+diff -Naur cfe-3.3.src-orig/lib/Driver/ToolChains.cpp cfe-3.3.src/lib/Driver/ToolChains.cpp
+--- cfe-3.3.src-orig/lib/Driver/ToolChains.cpp	2013-05-06 12:26:41.000000000 -0400
++++ cfe-3.3.src/lib/Driver/ToolChains.cpp	2013-06-21 19:28:12.120364372 -0400
+@@ -2318,17 +2318,6 @@
+                       Paths);
      }
    }
 -  addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths);
@@ -15,29 +15,30 @@ diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver
 -  if (GCCInstallation.isValid())
 -    addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
 -                    "/../../" + Multilib, Paths);
- 
+-
    // Add the non-multilib suffixed paths (if potentially different).
    if (GCCInstallation.isValid()) {
-@@ -2176,8 +2166,6 @@
+     const std::string &LibPath = GCCInstallation.getParentLibPath();
+@@ -2341,8 +2330,6 @@
        addPathIfExists(LibPath, Paths);
      }
    }
 -  addPathIfExists(SysRoot + "/lib", Paths);
 -  addPathIfExists(SysRoot + "/usr/lib", Paths);
- }
  
- bool Linux::HasNativeLLVMSupport() const {
-@@ -2228,9 +2216,6 @@
+   IsPIEDefault = SanitizerArgs(*this, Args).hasZeroBaseShadow();
+ }
+@@ -2395,9 +2382,6 @@
    if (DriverArgs.hasArg(options::OPT_nostdinc))
      return;
  
 -  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
--    addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include");
+-    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include");
 -
    if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
      llvm::sys::Path P(D.ResourceDir);
      P.appendComponent("include");
-@@ -2295,24 +2280,6 @@
+@@ -2479,26 +2463,6 @@
      "/usr/include/powerpc64-linux-gnu"
    };
    ArrayRef<StringRef> MultiarchIncludeDirs;
@@ -45,6 +46,8 @@ diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver
 -    MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
 -  } else if (getTriple().getArch() == llvm::Triple::x86) {
 -    MultiarchIncludeDirs = X86MultiarchIncludeDirs;
+-  } else if (getTriple().getArch() == llvm::Triple::aarch64) {
+-    MultiarchIncludeDirs = AArch64MultiarchIncludeDirs;
 -  } else if (getTriple().getArch() == llvm::Triple::arm) {
 -    if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
 -      MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs;
@@ -62,7 +65,7 @@ diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver
    for (ArrayRef<StringRef>::iterator I = MultiarchIncludeDirs.begin(),
                                       E = MultiarchIncludeDirs.end();
         I != E; ++I) {
-@@ -2324,13 +2291,6 @@
+@@ -2510,13 +2474,6 @@
  
    if (getTriple().getOS() == llvm::Triple::RTEMS)
      return;
@@ -70,24 +73,30 @@ diff -Naur clang-3.2.src-orig/lib/Driver/ToolChains.cpp clang-3.2.src/lib/Driver
 -  // Add an include of '/include' directly. This isn't provided by default by
 -  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
 -  // add even when Clang is acting as-if it were a system compiler.
--  addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/include");
+-  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
 -
--  addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include");
+-  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
  }
  
- /// \brief Helper to add the thre variant paths for a libstdc++ installation.
-diff -Naur clang-3.2.src-orig/lib/Driver/Tools.cpp clang-3.2.src/lib/Driver/Tools.cpp
---- clang-3.2.src-orig/lib/Driver/Tools.cpp	2012-11-21 02:56:23.000000000 -0500
-+++ clang-3.2.src/lib/Driver/Tools.cpp	2013-01-22 14:24:37.167212186 -0500
-@@ -5972,34 +5972,6 @@
-       ToolChain.getArch() == llvm::Triple::thumb ||
-       (!Args.hasArg(options::OPT_static) &&
-        !Args.hasArg(options::OPT_shared))) {
+ /// \brief Helper to add the three variant paths for a libstdc++ installation.
+diff -Naur cfe-3.3.src-orig/lib/Driver/Tools.cpp cfe-3.3.src/lib/Driver/Tools.cpp
+--- cfe-3.3.src-orig/lib/Driver/Tools.cpp	2013-05-30 14:01:30.000000000 -0400
++++ cfe-3.3.src/lib/Driver/Tools.cpp	2013-06-21 19:30:51.604726574 -0400
+@@ -5976,43 +5976,6 @@
+     }
+   }
+ 
+-  if (ToolChain.getArch() == llvm::Triple::arm ||
+-      ToolChain.getArch() == llvm::Triple::thumb ||
+-      (!Args.hasArg(options::OPT_static) &&
+-       !Args.hasArg(options::OPT_shared))) {
 -    CmdArgs.push_back("-dynamic-linker");
 -    if (isAndroid)
 -      CmdArgs.push_back("/system/bin/linker");
 -    else if (ToolChain.getArch() == llvm::Triple::x86)
 -      CmdArgs.push_back("/lib/ld-linux.so.2");
+-    else if (ToolChain.getArch() == llvm::Triple::aarch64)
+-      CmdArgs.push_back("/lib/ld-linux-aarch64.so.1");
 -    else if (ToolChain.getArch() == llvm::Triple::arm ||
 -             ToolChain.getArch() == llvm::Triple::thumb) {
 -      if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
@@ -107,31 +116,47 @@ diff -Naur clang-3.2.src-orig/lib/Driver/Tools.cpp clang-3.2.src/lib/Driver/Tool
 -    }
 -    else if (ToolChain.getArch() == llvm::Triple::ppc)
 -      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::ppc64)
+-    else if (ToolChain.getArch() == llvm::Triple::ppc64 ||
+-	     ToolChain.getArch() == llvm::Triple::systemz)
 -      CmdArgs.push_back("/lib64/ld64.so.1");
 -    else
 -      CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
-   }
- 
+-  }
+-
    CmdArgs.push_back("-o");
-diff -Naur clang-3.2.src-orig/lib/Frontend/InitHeaderSearch.cpp clang-3.2.src/lib/Frontend/InitHeaderSearch.cpp
---- clang-3.2.src-orig/lib/Frontend/InitHeaderSearch.cpp	2012-10-24 12:19:39.000000000 -0400
-+++ clang-3.2.src/lib/Frontend/InitHeaderSearch.cpp	2013-01-22 14:20:32.803925775 -0500
-@@ -221,8 +221,6 @@
-     case llvm::Triple::Bitrig:
-       break;
-     default:
+   CmdArgs.push_back(Output.getFilename());
+ 
+diff -Naur cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp
+--- cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp	2013-04-29 21:21:43.000000000 -0400
++++ cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp	2013-06-21 19:32:47.627016565 -0400
+@@ -225,20 +225,6 @@
+                                             const HeaderSearchOptions &HSOpts) {
+   llvm::Triple::OSType os = triple.getOS();
+ 
+-  if (HSOpts.UseStandardSystemIncludes) {
+-    switch (os) {
+-    case llvm::Triple::FreeBSD:
+-    case llvm::Triple::NetBSD:
+-    case llvm::Triple::OpenBSD:
+-    case llvm::Triple::Bitrig:
+-      break;
+-    default:
 -      // FIXME: temporary hack: hard-coded paths.
--      AddPath("/usr/local/include", System, true, false, false);
-       break;
-     }
-   }
-@@ -330,8 +328,6 @@
+-      AddPath("/usr/local/include", System, false);
+-      break;
+-    }
+-  }
+-
+   // Builtin includes use #include_next directives and should be positioned
+   // just prior C include dirs.
+   if (HSOpts.UseBuiltinIncludes) {
+@@ -332,9 +318,6 @@
+   default:
      break;
    }
- 
+-
 -  if ( os != llvm::Triple::RTEMS )
--    AddPath("/usr/include", System, false, false, false);
+-    AddPath("/usr/include", ExternCSystem, false);
  }
  
  void InitHeaderSearch::
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index c2117798666b..df58591973e6 100644
--- a/pkgs/development/compilers/llvm/clang.nix
+++ b/pkgs/development/compilers/llvm/clang.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2 }:
+{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
 
 let
-  version = "3.2";
+  version = "3.3";
   gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
 in
 
 stdenv.mkDerivation {
   name = "clang-${version}";
 
-  buildInputs = [ perl llvm groff cmake libxml2 ];
+  buildInputs = [ perl llvm groff cmake libxml2 python ];
 
   patches = stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
 
@@ -24,8 +24,8 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   src = fetchurl {
-      url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz";
-      sha256 = "0n2nzw3pw2v7fk67f2k2qyzd9wibvi3i5j7cjzz1csqgghzz1aia";
+      url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz";
+      sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi";
   };
 
   passthru = { gcc = stdenv.gcc.gcc; };
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 1e53256a2405..abd3277d919e 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -1,34 +1,35 @@
-{ stdenv, fetchurl, perl, groff, cmake, python, libffi }:
+{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils_gold }:
 
-let version = "3.2"; in
+let version = "3.3"; in
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "llvm-${version}";
 
   src = fetchurl {
     url    = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
-    sha256 = "0hv30v5l4fkgyijs56sr1pbrlzgd674pg143x7az2h37sb290l0j";
+    sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8";
   };
 
-  patches = [ ./set_soname.patch ]; # http://llvm.org/bugs/show_bug.cgi?id=12334
-  patchFlags = "-p0";
+  # The default rlimits are too low for shared libraries.
+  patches = [ ./more-memory-for-bugpoint.patch ];
 
-  preConfigure = "patchShebangs .";
+  # libffi was propagated before, but it wasn't even being used, so
+  # unless something needs it just an input is fine.
+  buildInputs = [ perl groff cmake python libffi ]; # ToDo: polly, libc++; enable cxx11?
 
-  propagatedBuildInputs = [ libffi ];
-  buildInputs = [ perl groff cmake python ]; # ToDo: polly, libc++; enable cxx11?
+  # hacky fix: created binaries need to be run before installation
+  preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD";
+    in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib";
 
-  # created binaries need to be run before installation... I coudn't find a
-  # better way
-  preBuild = ( if stdenv.isDarwin
-               then "export DYLD_LIBRARY_PATH='$DYLD_LIBRARY_PATH:'`pwd`/lib"
-               else "export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:'`pwd`/lib" );
-
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]
-    ++ stdenv.lib.optional (!stdenv.isDarwin) [ "-DBUILD_SHARED_LIBS=ON" ];
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include"
+  ] ++ lib.optional (!isDarwin) [ "-DBUILD_SHARED_LIBS=ON" ];
 
   enableParallelBuilding = true;
-  # doCheck = true; # tests are broken, don't know why
+
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Collection of modular and reusable compiler and toolchain technologies";
diff --git a/pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch b/pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch
new file mode 100644
index 000000000000..fa19ce4f5871
--- /dev/null
+++ b/pkgs/development/compilers/llvm/more-memory-for-bugpoint.patch
@@ -0,0 +1,15 @@
+diff -Naur llvm-3.3.src-orig/tools/bugpoint/bugpoint.cpp llvm-3.3.src/tools/bugpoint/bugpoint.cpp
+--- llvm-3.3.src-orig/tools/bugpoint/bugpoint.cpp	2013-01-27 20:35:51.000000000 -0500
++++ llvm-3.3.src/tools/bugpoint/bugpoint.cpp	2013-06-21 18:29:47.612731499 -0400
+@@ -48,9 +48,9 @@
+                       "is killed (default is 300s), 0 disables timeout"));
+ 
+ static cl::opt<int>
+-MemoryLimit("mlimit", cl::init(-1), cl::value_desc("MBytes"),
++MemoryLimit("mlimit", cl::init(0), cl::value_desc("MBytes"),
+              cl::desc("Maximum amount of memory to use. 0 disables check."
+-                      " Defaults to 100MB (800MB under valgrind)."));
++                      " Check disabled by default."));
+ 
+ static cl::opt<bool>
+ UseValgrind("enable-valgrind",
diff --git a/pkgs/development/compilers/llvm/set_soname.patch b/pkgs/development/compilers/llvm/set_soname.patch
deleted file mode 100644
index 69ba74dddad8..000000000000
--- a/pkgs/development/compilers/llvm/set_soname.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=409267
-http://llvm.org/bugs/show_bug.cgi?id=12334
---- tools/llvm-shlib/Makefile.orig	2012-03-26 18:14:13.071797115 +0200
-+++ tools/llvm-shlib/Makefile	2012-03-26 17:31:12.491196254 +0200
-@@ -67,6 +67,7 @@
-     # Include everything from the .a's into the shared library.
-     LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
-                        -Wl,--no-whole-archive
-+    LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
- endif
- 
- ifeq ($(HOST_OS),Linux)
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index a17e104b5bbf..e8db962d9c4f 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -18,10 +18,6 @@ stdenv.mkDerivation {
   configureFlags = "--with-world --enable-gmp --enable-shared";
   makeFlags = "world";
 
-  preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
-  '';
-
   meta = {
     homepage = http://www.swi-prolog.org/;
     description = "A Prolog compiler and interpreter";
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index cea207f27bc5..f4c33c869112 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   name = "atk-2.8.0";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig perl ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [ glib gobjectIntrospection /*ToDo: why propagate*/ ];
 
   postInstall = "rm -rf $out/share/gtk-doc";
 
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index a09903f7ea91..68ba7d1a9b26 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -11,11 +11,11 @@ assert glSupport -> mesa_noglu != null;
 with { inherit (stdenv.lib) optional optionals; };
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.12.14";
+  name = "cairo-1.12.16";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha256 = "04xcykglff58ygs0dkrmmnqljmpjwp2qgwcz8sijqkdpz7ix3l4n";
+    sha256 = "0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195";
   };
 
   nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty;
@@ -34,8 +34,6 @@ stdenv.mkDerivation rec {
     ++ optional pdfSupport "--enable-pdf"
     ;
 
-  NIX_CFLAGS_COMPILE = "-I${pixman}/include/pixman-1";
-
   preConfigure =
   # On FreeBSD, `-ldl' doesn't exist.
     (stdenv.lib.optionalString stdenv.isFreeBSD
@@ -56,7 +54,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # The default `--disable-gtk-doc' is ignored.
-  postInstall = "rm -rf $out/share/gtk-doc";
+  postInstall = "rm -rf $out/share/gtk-doc"
+    + stdenv.lib.optionalString stdenv.isDarwin (''
+      #newline
+    '' + glib.flattenInclude
+    );
 
   meta = {
     description = "A 2D graphics library with support for multiple output devices";
diff --git a/pkgs/development/libraries/clutter-gtk/0.10.8.nix b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
index a8433fb5fea3..00a4edd2a988 100644
--- a/pkgs/development/libraries/clutter-gtk/0.10.8.nix
+++ b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ clutter gtk ];
   nativeBuildInputs = [ pkgconfig ];
 
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
   postBuild = "rm -rf $out/share/gtk-doc";
 
   meta = {
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 8fe087cbfbce..587324461117 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ clutter gtk3 ];
   nativeBuildInputs = [ pkgconfig ];
 
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
   postBuild = "rm -rf $out/share/gtk-doc";
 
   meta = {
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 36eb93532d92..33bc196143b1 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
       atk json_glib
     ];
 
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
   meta = {
     description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
 
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 4063d34491da..b47e3c4a0e07 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -3,8 +3,8 @@
 , libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }:
 
 let
-  version = "1.6.12"; # 1.7.* isn't recommended, even for gnome 3.8
-  sha256 = "14pfh2ksn4srfry752kf1jy3c61hklcs9fx2xglw2ifhsszplypn";
+  version = "1.6.14"; # 1.7.* isn't recommended, even for gnome 3.8
+  sha256 = "0v7mcxwfmpjf7vndnvf2kf02al61clrxs36bqii20s0lawfh2xjn";
 
   inherit (stdenv) lib;
 
@@ -25,12 +25,26 @@ let
       inherit sha256;
     };
 
-    configureFlags = [
-      "--localstatedir=/var"
-      "--sysconfdir=/etc"
-      "--with-session-socket-dir=/tmp"
-      "--with-systemdsystemunitdir=$(out)/lib/systemd"
-    ];
+    patches = [
+        ./ignore-missing-includedirs.patch
+        ./ucred-dirty-hack.patch
+        ./no-create-dirs.patch
+      ]
+      ++ lib.optional (stdenv.isSunOS || stdenv.isLinux) ./implement-getgrouplist.patch
+      ;
+
+    # build only the specified subdirs
+    postPatch = "sed '/SUBDIRS/s/=.*/=" + subdirs + "/' -i Makefile.am\n"
+      # use already packaged libdbus instead of trying to build it again
+      + lib.optionalString (name != "libs") ''
+          for mfile in */Makefile.am; do
+            sed 's,\$(top_builddir)/dbus/\(libdbus-[0-9]\),${libs}/lib/\1,g' -i "$mfile"
+          done
+        '';
+
+    nativeBuildInputs = [ pkgconfig ];
+    propagatedBuildInputs = [ expat ];
+    buildInputs = [ autoconf automake libtool ]; # ToDo: optional selinux?
 
     preConfigure = ''
       patchShebangs .
@@ -38,26 +52,18 @@ let
       autoreconf -fi
     '';
 
-    installFlags = "sysconfdir=$(out)/etc";
-
-    doCheck = true;
+    configureFlags = [
+      "--localstatedir=/var"
+      "--sysconfdir=/etc"
+      "--with-session-socket-dir=/tmp"
+      "--with-systemdsystemunitdir=$(out)/lib/systemd"
+    ];
 
-    patches = [ ./ignore-missing-includedirs.patch ]
-      ++ lib.optional (stdenv.isSunOS || stdenv.isLinux/*avoid rebuilds*/) ./implement-getgrouplist.patch
-      ++ [ ./ucred-dirty-hack.patch ./no-create-dirs.patch ];
+    enableParallelBuilding = true;
 
-    nativeBuildInputs = [ pkgconfig ];
-    propagatedBuildInputs = [ expat ];
-    buildInputs = [ autoconf automake libtool ]; # ToDo: optional selinux?
+    doCheck = true;
 
-    # build only the specified subdirs
-    postPatch = "sed '/SUBDIRS/s/=.*/=" + subdirs + "/' -i Makefile.am\n"
-      # use already packaged libdbus instead of trying to build it again
-      + lib.optionalString (name != "libs") ''
-          for mfile in */Makefile.am; do
-            sed 's,\$(top_builddir)/dbus/\(libdbus-[0-9]\),${libs}/lib/\1,g' -i "$mfile"
-          done
-        '';
+    installFlags = "sysconfdir=$(out)/etc";
 
   } merge ]);
 
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index e3b0a54ee82e..b2afc427b4c0 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   infinality_patch = with freetype.infinality; if useInfinality
     then let subvers = "1";
       in fetchurl {
-        url = "${base_URL}/fontconfig-infinality-1-${vers}_${subvers}.tar.bz2";
+        url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
         sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
       }
     else null;
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 8fa75425544f..235d7e723746 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -10,17 +10,7 @@ assert !(useEncumberedCode && useInfinality); # probably wouldn't make sense
 
 let
 
-  version = "2.4.11";
-
-  infinality = rec {
-    inherit useInfinality;
-    vers = "20130104";
-    subvers = "04";
-    sha256 = "0dqglig34lfcw0w6sm6vmich0pcvq303vyh8jzqapvxgvrpr2156";
-
-    base_URL = "http://www.infinality.net/fedora/linux/zips";
-    url = "${base_URL}/freetype-infinality-${version}-${vers}_${subvers}-x86_64.tar.bz2";
-  };
+  version = "2.4.12";
 
 in
 
@@ -29,12 +19,14 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "0gxyzxqpyf8g85y6g1zc1wqrh71prbbk8xfw4m8rwzb4ck5hp7gg";
+    sha256 = "10akr2c37iv9y7fkgwp2szgwjyl2g6qmk9z1m596iaw9cr41g2m7";
   };
 
-  infinality_patch = if useInfinality
-    then fetchurl { inherit (infinality) url sha256; }
-    else null;
+  infinality_patch =
+    if useInfinality then fetchurl {
+      url = http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.12-20130514_01-x86_64.tar.bz2;
+      sha256 = "1lg2nzvxmwzwdfhxranw8iyflhr72cw9p11rkpgq1scxbp37668m";
+    } else null;
 
   configureFlags = "--disable-static";
 
@@ -68,7 +60,7 @@ stdenv.mkDerivation rec {
     configureFlags = "--disable-static CC_BUILD=gcc";
   };
 
-  passthru = { inherit infinality; }; # for fontconfig
+  passthru.infinality.useInfinality = useInfinality; # for fontconfig
 
   meta = {
     description = "A font rendering engine";
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 3a22bb4c3c1a..6ad30f66e03c 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,22 +1,24 @@
 { stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz
-, jasper, libintlOrEmpty }:
+, jasper, libintlOrEmpty, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  name = "gdk-pixbuf-2.28.1";
+  name = "gdk-pixbuf-2.28.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdk-pixbuf/2.28/${name}.tar.xz";
-    sha256 = "1fy2a05xhfg7gy4l4aajsbmgj62zxhikdxqh6bicihxmzm1vg85y";
+    sha256 = "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q";
   };
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
   buildInputs = [ libX11 libintlOrEmpty ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
 
   propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
 
-  configureFlags = "--with-libjasper --with-x11";
+  configureFlags = "--with-libjasper --with-x11"
+    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
+    ;
 
   postInstall = "rm -rf $out/share/gtk-doc";
 
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index ebd60f610576..14b44801e76e 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mesa, x11, libXmu, libXi }:
+{ stdenv, fetchurl, mesa_glu, x11, libXmu, libXi }:
 
 stdenv.mkDerivation rec {
   name = "glew-1.9.0";
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "11xpmsw7m5qn7y8fa2ihhqcislz1bdd83mp99didd5ac84756dlv";
   };
 
-  buildInputs = [ mesa x11 libXmu libXi ];
+  buildInputs = [ x11 libXmu libXi ];
+  propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h
 
   patchPhase = ''
     sed -i 's|lib64|lib|' config/Makefile.linux
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index b5e2b1e43b21..119584deb1eb 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrEmpty, zlib, libffi
-, python, pcre, libelf, libintlOrEmpty }:
+{ stdenv, fetchurl, pkgconfig, gettext, perl, python, autoconf, automake, libtool
+, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf, dbus }:
 
 # TODO:
 # * Add gio-module-fam
@@ -12,41 +12,47 @@
 #       $out/bin/gtester-report' to postInstall if this is solved
 
 let
-  # some packages don't get "Cflags" from pkgconfig correctly
-  # and then fail to build when directly including like <glib/...>
+  # Some packages don't get "Cflags" from pkgconfig correctly
+  # and then fail to build when directly including like <glib/...>.
+  # This is intended to be run in postInstall of any package
+  # which has $out/include/ containing just some disjunct directories.
   flattenInclude = ''
-    for dir in $out/include/*; do
-      cp -r $dir/* "$out/include/"
+    for dir in "$out"/include/*; do
+      cp -r "$dir"/* "$out/include/"
       rm -r "$dir"
       ln -s . "$dir"
     done
-    ln -sr -t "$out/include/" $out/lib/*/include/* 2>/dev/null || true
+    ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true
   '';
 in
+with { inherit (stdenv.lib) optionalString; };
 
 stdenv.mkDerivation rec {
-  name = "glib-2.36.1";
+  name = "glib-2.36.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/2.36/${name}.tar.xz";
-    sha256 = "090bw5par3dfy5m6dhq393pmy92zpw3d7rgbzqjc14jfg637bqvx";
+    sha256 = "0zmdbkg2yjyxdl72w34lxvrssbzqzdficskkfn22s0994dad4m7n";
   };
 
-  # configure script looks for d-bus but it is only needed for tests
-  buildInputs = [ libelf ] ++ libintlOrEmpty;
+  # configure script looks for d-bus but it is (probably) only needed for tests
+  buildInputs = [ libelf ];
 
-  nativeBuildInputs = [ perl pkgconfig gettext python ];
+  # I don't know why the autotools are needed now, even without modifying configure scripts
+  nativeBuildInputs = [ pkgconfig gettext perl python ] ++ [ autoconf automake libtool ];
 
-  propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty;
+  propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty;
 
+  preConfigure = "autoreconf -fi";
   configureFlags = "--with-pcre=system --disable-fam";
 
-  postConfigure = "sed '/SANE_MALLOC_PROTOS/s,^,//,' -i config.h";
-
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-lintl";
 
   enableParallelBuilding = true;
 
+  doCheck = false; # ToDo: fix the remaining problems, so we have checked glib by default
+  LD_LIBRARY_PATH = optionalString doCheck "${stdenv.gcc.gcc}/lib";
+
   postInstall = ''rm -rvf $out/share/gtk-doc'';
 
   passthru = {
@@ -69,4 +75,3 @@ stdenv.mkDerivation rec {
     '';
   };
 }
-
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 99a80640bb8d..6a2caa281366 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,10 +1,18 @@
-{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, gdk_pixbuf
+{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
 , libintlOrEmpty, autoconf, automake, otool }:
+# now that gobjectIntrospection creates large .gir files (eg gtk3 case)
+# it may be worth thinking about using multiple derivation outputs
+# In that case its about 6MB which could be separated
 
 stdenv.mkDerivation rec {
-  name = "gobject-introspection-1.34.2";
+  name = "gobject-introspection-1.36.0";
 
-  buildInputs = [ flex bison glib pkgconfig python gdk_pixbuf ]
+  src = fetchurl {
+    url = "mirror://gnome/sources/gobject-introspection/1.36/${name}.tar.xz";
+    sha256 = "10v3idh489vra7pjn1g8f844nnl6719zgkgq3dv38xcf8afnvrz3";
+  };
+
+  buildInputs = [ flex bison glib pkgconfig python ]
     ++ libintlOrEmpty
     ++ stdenv.lib.optional stdenv.isDarwin otool;
   propagatedBuildInputs = [ libffi ];
@@ -13,13 +21,10 @@ stdenv.mkDerivation rec {
   # other dependencies).
   configureFlags = [ "--disable-tests" ];
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gobject-introspection/1.34/${name}.tar.xz";
-    sha256 = "0a9lq0y67sr3g37l1hy0biqn046jr9wnd05hvwi8j8g2bjilhydw";
-  };
-
   postInstall = "rm -rf $out/share/gtk-doc";
 
+  setupHook = ./setup-hook.sh;
+
   meta = with stdenv.lib; {
     description = "A middleware layer between C libraries and language bindings";
     homepage    = http://live.gnome.org/GObjectIntrospection;
diff --git a/pkgs/development/libraries/gobject-introspection/setup-hook.sh b/pkgs/development/libraries/gobject-introspection/setup-hook.sh
new file mode 100644
index 000000000000..d411ad69dc43
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/setup-hook.sh
@@ -0,0 +1,14 @@
+make_gobject_introspection_find_gir_files() {
+
+    # required for .typelib files, eg mypaint git version
+    if [ -d "$1/lib/girepository-1.0" ]; then
+      addToSearchPath GI_TYPELIB_PATH $1/lib/girepository-1.0
+    fi
+
+    # XDG_DATA_DIRS: required for .gir files?
+    if [ -d "$1/share" ]; then
+      addToSearchPath XDG_DATA_DIRS $1/share
+    fi
+}
+
+envHooks+=(make_gobject_introspection_find_gir_files)
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 6debf2a807b3..92463d80c2bd 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -8,19 +8,16 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.24.18";
+  name = "gtk+-2.24.20";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-    sha256 = "1193frzg0qrwa885w77kd055zfpbdjwby88xn2skpx9g4w0k35kc";
+    sha256 = "18qdvb7nxi25hfnpmcy01p3majw9jnx83ikm263dk9rrjazvqrnc";
   };
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo"
-    + stdenv.lib.optionalString (libintlOrEmpty != []) " -lintl";
-
-  buildInputs = stdenv.lib.optional stdenv.isDarwin xlibs.libXi;
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (libintlOrEmpty != []) "-lintl";
 
   nativeBuildInputs = [ perl pkgconfig gettext ];
 
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index f89b521758ca..31bdba716b90 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gettext
-, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, xlibs, x11
+, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, xlibs, x11, gobjectIntrospection
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
 }:
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection ];
   propagatedBuildInputs = with xlibs; with stdenv.lib;
     [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk ]
     ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor ]
diff --git a/pkgs/development/libraries/haskell/llvm-general/default.nix b/pkgs/development/libraries/haskell/llvm-general/default.nix
new file mode 100644
index 000000000000..16d9859aae22
--- /dev/null
+++ b/pkgs/development/libraries/haskell/llvm-general/default.nix
@@ -0,0 +1,21 @@
+{ cabal, HUnit, llvmConfig, mtl, parsec, QuickCheck, setenv
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "llvm-general";
+  version = "3.3.5.0";
+  sha256 = "15zrav7339jn6p75g1d7h3qkr1wyal1jzfs8xy73kckw2fzn4nlf";
+  buildDepends = [ mtl parsec setenv text transformers ];
+  testDepends = [
+    HUnit mtl QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2
+  ];
+  buildTools = [ llvmConfig ];
+  meta = {
+    description = "General purpose LLVM bindings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index f3dcc7772e72..774cc7047e8c 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libtiff, libjpeg, zlib}:
 
 stdenv.mkDerivation rec {
-  name = "lcms2-2.3";
+  name = "lcms2-2.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${name}.tar.gz";
-    sha256 = "1r5gmzhginzm90y70dcbamycdfcaz4f7v0bb4nwyaywlvsxpg89y";
+    sha256 = "0ax71bmscjzlpmg1r8vj3dypxf2jr7j9qfx5vc8j22j78hmpf9v7";
   };
 
   propagatedBuildInputs = [ libtiff libjpeg zlib ];
diff --git a/pkgs/development/libraries/libchamplain/0.6.nix b/pkgs/development/libraries/libchamplain/0.6.nix
index c8169b3037c0..79c734dcad62 100644
--- a/pkgs/development/libraries/libchamplain/0.6.nix
+++ b/pkgs/development/libraries/libchamplain/0.6.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs =
     [ glib gtk cairo clutter clutter_gtk_0_10 sqlite libsoup ];
 
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
   meta = {
     homepage = http://projects.gnome.org/libchamplain/;
     license = "LGPLv2+";
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 7f229ad539ea..263b34701eed 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib gtk3 cairo clutter_gtk sqlite libsoup ];
 
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
   meta = {
     homepage = http://projects.gnome.org/libchamplain/;
     license = "LGPLv2+";
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index e411e599dc54..cf3febfc4553 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.42";
+  name = "libdrm-2.4.46";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "1qbnpi64hyqzd650hj6jki1d50pzypdhj3rw9m3whwbqly110rz0";
+    sha256 = "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 27c3e9f66f33..807fe54c27e8 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, dejagnu }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   name = "libffi-3.0.13";
 
   src = fetchurl {
@@ -8,15 +8,21 @@ stdenv.mkDerivation (rec {
     sha256 = "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x";
   };
 
-  doCheck = true;
+  buildInputs = stdenv.lib.optional doCheck dejagnu;
+
+  configureFlags = [ "--with-gcc-arch=generic" ]; # no detection of -march= or -mtune=
+
+  doCheck = !stdenv.isDarwin; # until we solve dejagnu problems on darwin
+
+  dontStrip = stdenv ? cross; # Don't run the native `strip' when cross-compiling.
 
   postInstall =
     # Install headers in the right place.
-    '' ln -sv "$out/lib/"libffi*/include "$out/include"
+    '' ln -srv "$out/lib/"libffi*/include "$out/include"
     '';
 
   meta = {
-    description = "libffi, a foreign function call interface library";
+    description = "A foreign function call interface library";
 
     longDescription = ''
       The libffi library provides a portable, high level programming
@@ -33,7 +39,7 @@ stdenv.mkDerivation (rec {
       conversions for values passed between the two languages.
     '';
 
-    homepage = http://sources.redhat.com/libffi/;
+    homepage = http://sourceware.org/libffi/;
 
     # See http://github.com/atgreen/libffi/blob/master/LICENSE .
     license = "free, non-copyleft";
@@ -43,9 +49,3 @@ stdenv.mkDerivation (rec {
   };
 }
 
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if (stdenv ? cross)
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index c537ce55cf27..ec24f1fca970 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchurl, zlib, apngSupport ? false}:
+{ stdenv, fetchurl, zlib, apngSupport ? false }:
 
 assert zlib != null;
 
-let whenPatched = stdenv.lib.optionalString apngSupport;
-    version = "1.6.2";
-    patch_src = fetchurl {
-      url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
-      sha256 = "0fy7p197ilr9phwqqk9h91s1mc28r6gj0w2ilrw5liagi71z75j1";
-    };
+let
+  version = "1.6.3";
+  sha256 = "0i8gz8mbkygc0ny7aa2i2wiavysxy6fdaphl52l49fb3hv9w1v65";
+  patch_src = fetchurl {
+    url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
+    sha256 = "0fjnb6cgbj2c7ggl0qzcnliml2ylrjxzigp89vw0hxq221k5mlsx";
+  };
+  whenPatched = stdenv.lib.optionalString apngSupport;
 
-in stdenv.mkDerivation (rec {
+in stdenv.mkDerivation rec {
   name = "libpng" + whenPatched "-apng" + "-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
-    sha256 = "1pljkqjqgyz8c32w8fipd9f0v2gcyhah2ypp0h7ya1r1q85sk5qw";
+    inherit sha256;
   };
 
+  postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
+
   propagatedBuildInputs = [ zlib ];
 
   doCheck = true;
@@ -29,10 +33,4 @@ in stdenv.mkDerivation (rec {
     license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt
     platforms = stdenv.lib.platforms.all;
   };
-} // stdenv.lib.optionalAttrs apngSupport {
-
-  postPatch = ''
-    gunzip < ${patch_src} | patch -Np1
-  '';
-
-})
+}
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index 3c2486221423..6a4479bdda38 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -1,12 +1,24 @@
-{stdenv, fetchurl, pkgconfig, libX11, gtk, intltool}:
+{ stdenv, fetchurl, pkgconfig, gtk, intltool, xorg }:
 
-stdenv.mkDerivation {
-  name = "libwnck-2.30.7";
+let
+  ver_maj = "2.31";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "libwnck-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libwnck/2.30/libwnck-2.30.7.tar.xz;
-    sha256 = "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b";
+    url = "mirror://gnome/sources/libwnck/${ver_maj}/${name}.tar.xz";
+    sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3";
   };
 
-  buildInputs = [ pkgconfig libX11 gtk intltool ];
+  buildInputs = [ pkgconfig gtk intltool xorg.libX11 xorg.libXres ];
+  # ?another optional: startup-notification
+
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
+  meta = {
+    description = "A library for creating task lists and pagers";
+    license = stdenv.lib.licenses.lgpl21;
+  };
 }
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index de130d465c2e..a361f06e4ba9 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -3,7 +3,7 @@
 , libdrm, xorg, wayland, udev, llvm, libffi
 , libvdpau
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
-, enableR600LlvmCompiler ? false # we would need currently unreleased LLVM or patches
+, enableR600LlvmCompiler ? false # current llvm-3.3 + mesa-9.1.6 don't configure
 , enableExtraFeatures ? false # add ~15 MB to mesa_drivers
 }:
 
@@ -23,7 +23,7 @@ else
 */
 
 let
-  version = "9.1.3";
+  version = "9.1.6";
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
 stdenv.mkDerivation {
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256="0rnpaambxv5cd6kbfyvv4b8x2rw1xj13a67xbkzmndfh08iaqpcd";
+    sha256 = "0gay00fy84hrnp25hpacz5cbvxrpvgg1d390vichmbdgmkqdycp6";
   };
 
   prePatch = "patchShebangs .";
@@ -137,7 +137,7 @@ stdenv.mkDerivation {
   '';
   #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM
 
-  passthru = { inherit libdrm; inherit version; };
+  passthru = { inherit libdrm version driverLink; };
 
   meta = {
     description = "An open source implementation of OpenGL";
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 1acb3639f065..99bf8f10fd82 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng, harfbuzz, fontconfig
-, libintlOrEmpty }:
+, libintlOrEmpty, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  name = "pango-1.32.5"; #.6 needs a not-yet-stable fontconfig
+  name = "pango-1.32.5"; #.6 and higher need a not-yet-stable fontconfig (!)
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/1.32/${name}.tar.xz";
     sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo";
+  buildInputs = [ gobjectIntrospection ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ];
 
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/pangomm/2.28.x.nix b/pkgs/development/libraries/pangomm/2.28.x.nix
index d03aa4311fe0..6843ff7a3072 100644
--- a/pkgs/development/libraries/pangomm/2.28.x.nix
+++ b/pkgs/development/libraries/pangomm/2.28.x.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pango glibmm cairomm libpng cairo ];
 
-  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo";
-
   meta = with stdenv.lib; {
     description = "C++ interface to the Pango text rendering library";
     homepage    = http://www.pango.org/;
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index 7fbcedda3956..23bfbeeb8088 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, perl, withPNG ? true, libpng, glib /*just passthru*/ }:
 
 stdenv.mkDerivation rec {
-  name = "pixman-0.28.2";
+  name = "pixman-0.30.2";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha256 = "0mcvxd5gx3w1wzgph91l2vaiic91jmx7s01hi2igphyvd80ckyia";
+    sha256 = "1sgnpx34pj3245a9v8056jddc4cg4xxkqdjvvw6k2hnprhh8k65x";
   };
 
   nativeBuildInputs = [ pkgconfig perl ];
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 55ab0da0cfdd..6b8fb898d90d 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "0.22.4"; # even major numbers are stable
-  sha256 = "0fz1vk0rbxvnv7ssj8l910k1rx0gjhzl5wr7hkdf4r9jwqs8yhsg";
+  version = "0.24.1"; # even major numbers are stable
+  sha256 = "1ipzirrh5ppkq99zb59xpfg5j2fgc8mr569r1cmxjjqql0dc1vsw";
 
   qtcairo_patches =
     let qtcairo = fetchgit { # the version for poppler-0.22
       url = "git://github.com/giddie/poppler-qt4-cairo-backend.git";
-      rev = "7a12c58e5cefc2b7a5179c53b387fca8963195c0";
-      sha256 = "1jg2d5y62d0bv206nijb63x426zfb2awy70505nx22d0fx1v1p9k";
+      rev = "ad9a9ba0628df33522f4b7722cb0cd027269babe";
+      sha256 = "072p7x9902avg2r1ma5br97q8nm8sbk19y0qi4b4g9x2xj2fpajq";
     }; in
       [ "${qtcairo}/0001-Cairo-backend-added-to-Qt4-wrapper.patch"
         "${qtcairo}/0002-Setting-default-Qt4-backend-to-Cairo.patch"
@@ -22,7 +22,7 @@ let
     name = "poppler-${nameSuff}-${version}";
 
     src = fetchurl {
-      url = "${meta.homepage}/poppler-${version}.tar.gz";
+      url = "${meta.homepage}/poppler-${version}.tar.xz";
       inherit sha256;
     };
 
diff --git a/pkgs/development/libraries/qt-4.x/4.8/CVE-2013-0254.patch b/pkgs/development/libraries/qt-4.x/4.8/CVE-2013-0254.patch
deleted file mode 100644
index 48cc05f1800d..000000000000
--- a/pkgs/development/libraries/qt-4.x/4.8/CVE-2013-0254.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 20b26bdb3dd5e46b01b9a7e1ce8342074df3c89c Mon Sep 17 00:00:00 2001
-From: Thiago Macieira <thiago.macieira@intel.com>
-Date: Sat, 22 Dec 2012 08:32:12 -0800
-Subject: [PATCH] Change all shmget calls to user-only memory
-
-Drop the read and write permissions for group and other users in the
-system.
-
-Change-Id: I8fc753f09126651af3fb82df3049050f0b14e876
-(cherry-picked from Qt 5 commit 856f209fb63ae336bfb389a12d2a75fa886dc1c5)
-Reviewed-by: Richard J. Moore <rich@kde.org>
----
- src/corelib/kernel/qsharedmemory_unix.cpp          |    6 +++---
- src/corelib/kernel/qsystemsemaphore_unix.cpp       |    4 ++--
-
-diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp
-index 20d76e3..4cf3acf 100644
---- a/src/corelib/kernel/qsharedmemory_unix.cpp
-+++ b/src/corelib/kernel/qsharedmemory_unix.cpp
-@@ -238,7 +238,7 @@ bool QSharedMemoryPrivate::create(int size)
-     }
- 
-     // create
--    if (-1 == shmget(unix_key, size, 0666 | IPC_CREAT | IPC_EXCL)) {
-+    if (-1 == shmget(unix_key, size, 0600 | IPC_CREAT | IPC_EXCL)) {
-         QString function = QLatin1String("QSharedMemory::create");
-         switch (errno) {
-         case EINVAL:
-@@ -293,7 +293,7 @@ bool QSharedMemoryPrivate::attach(QSharedMemory::AccessMode mode)
- {
- #ifndef QT_POSIX_IPC
-     // grab the shared memory segment id
--    int id = shmget(unix_key, 0, (mode == QSharedMemory::ReadOnly ? 0444 : 0660));
-+    int id = shmget(unix_key, 0, (mode == QSharedMemory::ReadOnly ? 0400 : 0600));
-     if (-1 == id) {
-         setErrorString(QLatin1String("QSharedMemory::attach (shmget)"));
-         return false;
-@@ -381,7 +381,7 @@ bool QSharedMemoryPrivate::detach()
-     size = 0;
- 
-     // Get the number of current attachments
--    int id = shmget(unix_key, 0, 0444);
-+    int id = shmget(unix_key, 0, 0400);
-     cleanHandle();
- 
-     struct shmid_ds shmid_ds;
-diff --git a/src/corelib/kernel/qsystemsemaphore_unix.cpp b/src/corelib/kernel/qsystemsemaphore_unix.cpp
-index fad9acc..e77456b 100644
---- a/src/corelib/kernel/qsystemsemaphore_unix.cpp
-+++ b/src/corelib/kernel/qsystemsemaphore_unix.cpp
-@@ -153,10 +153,10 @@ key_t QSystemSemaphorePrivate::handle(QSystemSemaphore::AccessMode mode)
-     }
- 
-     // Get semaphore
--    semaphore = semget(unix_key, 1, 0666 | IPC_CREAT | IPC_EXCL);
-+    semaphore = semget(unix_key, 1, 0600 | IPC_CREAT | IPC_EXCL);
-     if (-1 == semaphore) {
-         if (errno == EEXIST)
--            semaphore = semget(unix_key, 1, 0666 | IPC_CREAT);
-+            semaphore = semget(unix_key, 1, 0600 | IPC_CREAT);
-         if (-1 == semaphore) {
-             setErrorString(QLatin1String("QSystemSemaphore::handle"));
-             cleanHandle();
--- 
-1.7.1
-
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 29116d0eb118..311ed43729ea 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, substituteAll
 , libXrender, libXinerama, libXcursor, libXmu , libXv, libXext
 , libXfixes, libXrandr, libSM, freetype, fontconfig
-, zlib, libjpeg, libpng, libmng, which, mesa, openssl, dbus, cups, pkgconfig
+, zlib, libjpeg, libpng, libmng, which, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
 , libtiff, glib, icu
 , mysql, postgresql, sqlite
 , perl, coreutils, libXi
@@ -17,18 +17,23 @@
 
 with stdenv.lib;
 
-let v = "4.8.4"; in
+let
+  v_maj = "4.8";
+  v_min = "5";
+  vers = "${v_maj}.${v_min}";
+in
 
 # TODO:
 #  * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid
 #    false build-time dependencies
 
 stdenv.mkDerivation rec {
-  name = "qt-${v}";
+  name = "qt-${vers}";
 
   src = fetchurl {
-    url = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${v}.tar.gz";
-    sha256 = "0w1j16q6glniv4hppdgcvw52w72gb2jab35ylkw0qjn5lj5y7c1k";
+    url = "http://download.qt-project.org/official_releases/qt/"
+      + "${v_maj}/${vers}/qt-everywhere-opensource-src-${vers}.tar.gz";
+    sha256 = "0f51dbgn1dcck8pqimls2qyf1pfmsmyknh767cvw87c3d218ywpb";
   };
 
   prePatch = ''
@@ -39,11 +44,11 @@ stdenv.mkDerivation rec {
 
   patches =
     [ ./glib-2.32.patch
-      ./CVE-2013-0254.patch
       (substituteAll {
         src = ./dlopen-absolute-paths.diff;
         inherit cups icu libXfixes;
         glibc = stdenv.gcc.libc;
+        openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
       })
     ] ++ stdenv.lib.optional gtkStyle (substituteAll {
         src = ./dlopen-gtkstyle.diff;
@@ -56,19 +61,23 @@ stdenv.mkDerivation rec {
         inherit gtk gdk_pixbuf;
       });
 
-  preConfigure =
-    ''
-      export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"
-      configureFlags+="
-        -docdir $out/share/doc/${name}
-        -plugindir $out/lib/qt4/plugins
-        -importdir $out/lib/qt4/imports
-        -examplesdir $out/share/doc/${name}/examples
-        -demosdir $out/share/doc/${name}/demos
-        -datadir $out/share/${name}
-        -translationdir $out/share/${name}/translations
-      "
-    '';
+  preConfigure = ''
+    export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"
+    configureFlags+="
+      -docdir $out/share/doc/${name}
+      -plugindir $out/lib/qt4/plugins
+      -importdir $out/lib/qt4/imports
+      -examplesdir $out/share/doc/${name}/examples
+      -demosdir $out/share/doc/${name}/demos
+      -datadir $out/share/${name}
+      -translationdir $out/share/${name}/translations
+    "
+  '' + optionalString stdenv.isDarwin ''
+    export CXX=clang++
+    export CC=clang
+    sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf
+    sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
+  '';
 
   prefixKey = "-prefix ";
   configureFlags =
@@ -92,12 +101,11 @@ stdenv.mkDerivation rec {
     '';
 
   propagatedBuildInputs =
-    [ libXrender libXrandr libXinerama libXcursor libXext libXfixes
-      libXv libXi libSM
-    ]
-    ++ optional (stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms) mesa
+    [ libXrender libXrandr libXinerama libXcursor libXext libXfixes libXv libXi
+      libSM zlib libpng openssl dbus.libs freetype fontconfig glib ]
+        # Qt doesn't directly need GLU (just GL), but many apps use, it's small and doesn't remain a runtime-dep if not used
+    ++ optional mesaSupported mesa_glu
     ++ optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
-    ++ [ zlib libpng openssl dbus.libs freetype fontconfig glib ]
     ++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst_plugins_base ];
 
   # The following libraries are only used in plugins
@@ -112,6 +120,18 @@ stdenv.mkDerivation rec {
   # @vcunat has been unable to find a *reliable* fix
   enableParallelBuilding = false;
 
+  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin
+    "-I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include";
+
+  NIX_LDFLAGS = optionalString stdenv.isDarwin
+    "-lglib-2.0";
+
+  preBuild = optionalString stdenv.isDarwin ''
+    # resolve "extra qualification on member" error
+    sed -i 's/struct ::TabletProximityRec;/struct TabletProximityRec;/' \
+      src/gui/kernel/qt_cocoa_helpers_mac_p.h
+  '';
+
   crossAttrs = let
     isMingw = stdenv.cross.config == "i686-pc-mingw32" ||
       stdenv.cross.config == "x86_64-w64-mingw32";
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 fe691996277e..0f5cf2b79c96 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,7 +1,8 @@
-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 @@
+diff --git a/src/corelib/tools/qlocale_icu.cpp b/src/corelib/tools/qlocale_icu.cpp
+index c3e2907..2fac4e1 100644
+--- a/src/corelib/tools/qlocale_icu.cpp
++++ b/src/corelib/tools/qlocale_icu.cpp
+@@ -81,7 +81,7 @@ bool qt_initIcu(const QString &localeString)
      if (status == NotLoaded) {
  
          // resolve libicui18n
@@ -10,7 +11,7 @@ diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.c
          lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
          if (!lib.load()) {
              qWarning() << "Unable to load library icui18n" << lib.errorString();
-@@ -111,7 +111,7 @@
+@@ -111,7 +111,7 @@ bool qt_initIcu(const QString &localeString)
          }
  
          // resolve libicuuc
@@ -19,10 +20,11 @@ diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.c
          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 @@
+diff --git a/src/gui/painting/qcups.cpp b/src/gui/painting/qcups.cpp
+index 99ea43f..acdf9c9 100644
+--- a/src/gui/painting/qcups.cpp
++++ b/src/gui/painting/qcups.cpp
+@@ -87,7 +87,7 @@ static CupsPrintFile _cupsPrintFile = 0;
  
  static void resolveCups()
  {
@@ -31,10 +33,11 @@ diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp qt-e
      if(cupsLib.load()) {
          _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
          _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
-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 @@
+diff --git a/src/gui/painting/qprinterinfo_unix.cpp b/src/gui/painting/qprinterinfo_unix.cpp
+index 3d15538..f0f5351 100644
+--- a/src/gui/painting/qprinterinfo_unix.cpp
++++ b/src/gui/painting/qprinterinfo_unix.cpp
+@@ -454,7 +454,7 @@ int qt_retrieveNisPrinters(QList<QPrinterDescription> *printers)
      char *domain;
      int err;
  
@@ -43,22 +46,50 @@ diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_u
      typedef int (*ypGetDefaultDomain)(char **);
      ypGetDefaultDomain _ypGetDefaultDomain = (ypGetDefaultDomain)lib.resolve("yp_get_default_domain");
      typedef int (*ypAll)(const char *, const char *, const struct ypall_callback *);
-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 @@
+diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
+index 6b42d1e..f88b628 100644
+--- a/src/network/kernel/qhostinfo_unix.cpp
++++ b/src/network/kernel/qhostinfo_unix.cpp
+@@ -95,7 +95,7 @@ static res_state_ptr local_res = 0;
  static void resolveLibrary()
  {
- #ifndef QT_NO_LIBRARY
+ #if !defined(QT_NO_LIBRARY) && !defined(Q_OS_QNX)
 -    QLibrary lib(QLatin1String("resolv"));
 +    QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
      lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
      if (!lib.load())
          return;
-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/src/plugins/platforms/xcb/qglxintegration.cpp b/src/plugins/platforms/xcb/qglxintegration.cpp
+index 229d6f9..c122bf3 100644
+--- a/src/plugins/platforms/xcb/qglxintegration.cpp
++++ b/src/plugins/platforms/xcb/qglxintegration.cpp
+@@ -136,7 +136,7 @@ void* QGLXContext::getProcAddress(const QString& procName)
+             {
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
+-                QLibrary lib(QLatin1String("GL"));
++                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+             }
+         }
+diff --git a/src/plugins/platforms/xlib/qglxintegration.cpp b/src/plugins/platforms/xlib/qglxintegration.cpp
+index 2467247..a2441d4 100644
+--- a/src/plugins/platforms/xlib/qglxintegration.cpp
++++ b/src/plugins/platforms/xlib/qglxintegration.cpp
+@@ -137,7 +137,7 @@ void* QGLXContext::getProcAddress(const QString& procName)
+             {
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
+-                QLibrary lib(QLatin1String("GL"));
++                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+             }
+         }
+diff --git a/src/plugins/platforms/xlib/qxlibstatic.cpp b/src/plugins/platforms/xlib/qxlibstatic.cpp
+index f8f3d69..d63c5bc 100644
+--- a/src/plugins/platforms/xlib/qxlibstatic.cpp
++++ b/src/plugins/platforms/xlib/qxlibstatic.cpp
+@@ -242,7 +242,7 @@ static void* qt_load_library_runtime(const char *library, int vernum,
  }
  
  #  define XFIXES_LOAD_RUNTIME(vernum, symbol, symbol_type) \
diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix
index e11de87415d0..62d2de0238f1 100644
--- a/pkgs/development/libraries/wxGTK-2.8/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.8/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     "--disable-precomp-headers"
     (if unicode then "--enable-unicode" else "")
     "--enable-mediactrl"
+    "--enable-graphics_ctx"
   ] ++ optional withMesa "--with-opengl";
 
   # These variables are used by configure to find some dependencies.
diff --git a/pkgs/development/tools/misc/automake/automake-1.13.x.nix b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
index 3556b4f47aad..400d554b65e2 100644
--- a/pkgs/development/tools/misc/automake/automake-1.13.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.13.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
 
 stdenv.mkDerivation rec {
-  name = "automake-1.13.1";
+  name = "automake-1.13.4";
 
   src = fetchurl {
     url = "mirror://gnu/automake/${name}.tar.xz";
-    sha256 = "12yi1bzkipi7qdmkdy77pazljsa9z7q66hi6c4rq73p7hbv6rkbf";
+    sha256 = "0rhx1mr2gv483s4bc9yy9skwr5d5a3jcyfaw24h0r3wvylrlkkl9";
   };
 
   buildInputs = [ perl autoconf ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index ca763a5e1fb3..6b93240ba057 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
       + stdenv.lib.optionalString (stdenv.system == "mips64el-linux")
         " --enable-fix-loongson2f-nop"
       + stdenv.lib.optionalString (cross != null) " --target=${cross.config}"
-      + stdenv.lib.optionalString gold " --enable-gold"
+      + stdenv.lib.optionalString gold " --enable-gold --enable-plugins"
       + stdenv.lib.optionalString deterministic " --enable-deterministic-archives";
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/misc/dejagnu/default.nix b/pkgs/development/tools/misc/dejagnu/default.nix
index 06c1d4fe76ba..beed6032393f 100644
--- a/pkgs/development/tools/misc/dejagnu/default.nix
+++ b/pkgs/development/tools/misc/dejagnu/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, expect, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dejagnu-1.5";
+  name = "dejagnu-1.5.1";
 
   src = fetchurl {
     url = "mirror://gnu/dejagnu/${name}.tar.gz";
-    sha256 = "1nx3x3h96a82q92q108q71giv2nz9xmbbn2nrlr3wvvs6l45id68";
+    sha256 = "1lik8h4qi7x0mhsi8xmj91an1yb63rjbk6v4xrmzgiy5lk8lgrv0";
   };
 
   patches = [ ./wrapped-runtest-program-name.patch ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/bin/runtest" \
-		--prefix PATH ":" "${expect}/bin"
+      --prefix PATH ":" "${expect}/bin"
   '';
 
   meta = {
diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix
index b88945b9eec7..c5c9133da6eb 100644
--- a/pkgs/lib/licenses.nix
+++ b/pkgs/lib/licenses.nix
@@ -34,6 +34,12 @@
     url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/AMD-ADL?revision=1.1";
   };
 
+  apsl20 = {
+    shortName = "APSL 2.0";
+    fullName = "Apple Public Source License 2.0";
+    url = http://opensource.org/licenses/APSL-2.0;
+  };
+
   asl20 = {
     shortName = "ASL2.0";
     fullName = "Apache Software License 2.0";
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 5fe1d680b2b0..ba136530593a 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchurl, libjpeg, libpng, libtiff, zlib, pkgconfig, fontconfig, openssl
-, lcms, freetype, libpaper, jbig2dec, expat, libiconvOrEmpty
-, x11Support, x11 ? null
+{ stdenv, fetchurl, pkgconfig, zlib, expat, openssl
+, libjpeg, libpng, libtiff, freetype, fontconfig, lcms2, libpaper, jbig2dec
+, libiconvOrEmpty
+, x11Support ? false, x11 ? null
 , cupsSupport ? false, cups ? null
 , gnuFork ? true
 }:
@@ -40,10 +41,10 @@ let
   };
 
   mainlineSrc = rec {
-    name = "ghostscript-9.06";
+    name = "ghostscript-9.10";
     src = fetchurl {
       url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
-      sha256 = "014f10rxn4ihvcr1frby4szd1jvkrwvmdhnbivpp55c9fssx3b05";
+      sha256 = "106mglk77dhdra1m0ddnmaq645xj1aj45qvlh8izv3xx4cdrv3bc";
     };
     meta = meta_common // {
       homepage = "http://www.ghostscript.com/";
@@ -51,7 +52,7 @@ let
     };
 
     preConfigure = ''
-      rm -R libpng jpeg lcms{,2} tiff freetype jbig2dec expat jasper openjpeg
+      rm -R libpng jpeg lcms{,2} tiff freetype jbig2dec expat openjpeg
 
       substituteInPlace base/unix-aux.mak --replace "INCLUDE=/usr/include" "INCLUDE=/no-such-path"
       sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@" -i base/unix-aux.mak
@@ -79,9 +80,9 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    libjpeg libpng libtiff zlib pkgconfig fontconfig openssl lcms
-    libpaper jbig2dec expat
-  ] ++ stdenv.lib.optionals x11Support [x11 freetype]
+    pkgconfig zlib expat openssl
+    libjpeg libpng libtiff freetype fontconfig lcms2 libpaper jbig2dec
+  ] ++ stdenv.lib.optional x11Support x11
     ++ stdenv.lib.optional cupsSupport cups
     ++ libiconvOrEmpty
     # [] # maybe sometimes jpeg2000 support
@@ -101,9 +102,11 @@ stdenv.mkDerivation rec {
     makeFlagsArray=(CUPSSERVERBIN=$out/lib/cups CUPSSERVERROOT=$out/etc/cups CUPSDATA=$out/share/cups)
   '' + stdenv.lib.optionalString (variant ? preConfigure) variant.preConfigure;
 
-  configureFlags = [ "--with-system-libtiff" ] ++
-    (if x11Support then [ "--with-x" ] else [ "--without-x" ]) ++
-    (if cupsSupport then [ "--enable-cups" "--with-install-cups" ] else [ "--disable-cups" ]);
+  configureFlags = [
+    "--with-system-libtiff"
+    (if x11Support then "--with-x" else "--without-x")
+    (if cupsSupport then "--enable-cups" else "--disable-cups")
+  ];
 
   doCheck = true;
 
diff --git a/pkgs/os-specific/darwin/otool/default.nix b/pkgs/os-specific/darwin/otool/default.nix
index c998253d1480..671e51542d06 100644
--- a/pkgs/os-specific/darwin/otool/default.nix
+++ b/pkgs/os-specific/darwin/otool/default.nix
@@ -1,7 +1,11 @@
 { stdenv }:
 
-# this tool only exists on darwin
 assert stdenv.isDarwin;
+/*  this tool only exists on darwin
+    NOTE: it might make sense to compile this from source (maybe it even works for non-darwin)
+    I see cctools source is under GPL2+ as well as APSL 2.0
+    http://opensource.apple.com/release/developer-tools-46/
+*/
 
 stdenv.mkDerivation {
   name = "otool";
@@ -20,7 +24,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Object file displaying tool";
     homepage    = https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/otool.1.html;
-    license     = licenses.unfree;
+    license     = with licenses; [ apsl20 gpl2Plus ];
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.darwin;
 
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 3a523469248d..852d7ab9841e 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -580,11 +580,11 @@ let
   })) // {inherit windowswmproto libX11 libXext xextproto ;};
 
   libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
-    name = "libX11-1.6.0";
+    name = "libX11-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libX11-1.6.0.tar.bz2;
-      sha256 = "1yhrf36is2f2h28x8wjd87wmdhslmzg06jg1gwq55hiy6h9184sk";
+      url = mirror://xorg/individual/lib/libX11-1.6.1.tar.bz2;
+      sha256 = "14hqf180dxax3xf65bq95psd4bx8az1q1l6lxsjzbd2qdg0lz98h";
     };
     buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
   })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
@@ -680,11 +680,11 @@ let
   })) // {inherit fixesproto libX11 xextproto xproto ;};
 
   libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) {
-    name = "libXfont-1.4.5";
+    name = "libXfont-1.4.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXfont-1.4.5.tar.bz2;
-      sha256 = "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv";
+      url = mirror://xorg/individual/lib/libXfont-1.4.6.tar.bz2;
+      sha256 = "17vy2p8myxx8644yd05qsl2qvv9m3mhdbniw87mcw5ywai2zxjyh";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
   })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
@@ -700,11 +700,11 @@ let
   })) // {inherit fontconfig freetype libX11 xproto libXrender ;};
 
   libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
-    name = "libXi-1.7.1";
+    name = "libXi-1.7.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXi-1.7.1.tar.bz2;
-      sha256 = "1ib6026bh4bcc2q0y04klqsvjl9pwabxnr8ybkh52g65d5mxnap9";
+      url = mirror://xorg/individual/lib/libXi-1.7.2.tar.bz2;
+      sha256 = "03mj9i6h0n8icjkx5a16wh1gyyhfiayj02ydc6sy4i9nqqfph96z";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ];
   })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
@@ -870,11 +870,11 @@ let
   })) // {inherit xproto zlib ;};
 
   libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) {
-    name = "libpciaccess-0.13.1";
+    name = "libpciaccess-0.13.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libpciaccess-0.13.1.tar.bz2;
-      sha256 = "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7";
+      url = mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2;
+      sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb";
     };
     buildInputs = [pkgconfig zlib ];
   })) // {inherit zlib ;};
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 22e0096ad65d..7286f71a8dcc 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -49,6 +49,7 @@ in
 
   libxcb = attrs : attrs // {
     nativeBuildInputs = [ args.python ];
+    configureFlags = "--enable-xkb";
   };
 
   xcbproto = attrs : attrs // {
@@ -110,13 +111,6 @@ in
   libSM = attrs: attrs
     // { propagatedBuildInputs = [ xorg.libICE ]; };
 
-  libXi = gitRelease {
-    libName = "libXi";
-    version = "1.7.1.91";
-    rev = "661c45ca17c434dbd342a46fd3fb813852ae0ca9";
-    sha256 = "01wx8fgjjfqm0sm9anj6rmz72yvjyb4y3ifjk2q4ixd7pdp63bx6";
-  };
-
   libXrender = attrs: attrs
     // { preConfigure = setMalloc0ReturnsNullCrossCompiling; };
 
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 2517da4a20f5..4464aeea9b8e 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -53,10 +53,10 @@ mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2
 mirror://xorg/individual/lib/libFS-1.0.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libpciaccess-0.13.1.tar.bz2
+mirror://xorg/individual/lib/libpciaccess-0.13.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
-mirror://xorg/individual/lib/libX11-1.6.0.tar.bz2
+mirror://xorg/individual/lib/libX11-1.6.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2
@@ -65,9 +65,9 @@ mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2
 mirror://xorg/individual/lib/libXext-1.3.2.tar.bz2
 mirror://xorg/individual/lib/libXfixes-5.0.1.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXfont-1.4.5.tar.bz2
+mirror://xorg/individual/lib/libXfont-1.4.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2
-mirror://xorg/individual/lib/libXi-1.7.1.tar.bz2
+mirror://xorg/individual/lib/libXi-1.7.2.tar.bz2
 mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 5dee1079ae27..23d57f5b6521 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -32,8 +32,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"];
 
-  NIX_CFLAGS_COMPILE = "-I${cairo}/include/cairo";
-
   postInstall = stdenv.lib.optionalString (libX11 != null) ''
     wrapProgram $out/bin/gnuplot \
        --prefix PATH : '${gnused}/bin' \
diff --git a/pkgs/tools/misc/expect/default.nix b/pkgs/tools/misc/expect/default.nix
index d9f9b09271b5..885fd040e47d 100644
--- a/pkgs/tools/misc/expect/default.nix
+++ b/pkgs/tools/misc/expect/default.nix
@@ -1,14 +1,16 @@
-{stdenv, fetchurl, tcl, tk, xproto, libX11}:
+{ stdenv, fetchurl, tcl }:
 
+let version = "5.45";
+in
 stdenv.mkDerivation {
-  name = "expect-5.44.1";
+  name = "expect-${version}";
 
   src = fetchurl {
-    url = http://expect.nist.gov/old/expect-5.44.1.tar.gz;
-    sha256 = "13zxqiclzk1paxc0mr2vwp9nhfyr2mkwk9gs73fg0l3iss16n6p4";
+    url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz";
+    sha256 = "0h60bifxj876afz4im35rmnbnxjx4lbdqp2ja3k30fwa8a8cm3dj";
   };
 
-  buildInputs = [tcl tk xproto libX11];
+  buildInputs = [ tcl ];
 
   #NIX_CFLAGS_COMPILE = "-DHAVE_UNISTD_H";
 
@@ -23,14 +25,17 @@ stdenv.mkDerivation {
     export NIX_LDFLAGS="-rpath $out/lib $NIX_LDFLAGS"
   '';
 
-  configureFlags = ["--with-tcl=${tcl}/lib"
+  configureFlags = [
+    "--with-tcl=${tcl}/lib"
     "--with-tclinclude=${tcl}/include"
-    "--with-tk=${tk}/lib"
-    "--exec-prefix=$out"];
+    "--exec-prefix=$out"
+  ];
+
+  postInstall = let libSuff = if stdenv.isDarwin then "dylib" else "so";
+    in "cp expect $out/bin; mkdir -p $out/lib; cp *.${libSuff} $out/lib";
 
   meta = {
     description = "A tool for automating interactive applications";
     homepage = http://expect.nist.gov/;
   };
-  postInstall="cp expect{,k} $out/bin; mkdir -p $out/lib; cp *.so $out/lib";
 }
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 69c7b77e3f90..81bf7c908eff 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ GConf gnome_keyring hicolor_icon_theme ];
 
+  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+
   makeFlags = [
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
   ];
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 540ab07c286b..f119dbd1e4a1 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -37,7 +37,6 @@ rec {
     sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
     sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
 
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
     NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu}/include/layout";
 
     ./Build --prefix="$out" --datadir="$out/share" --mandir "$out/share/man" --infodir "$out/share/info" \
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 87f376c1e25e..afe12cd4dafd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4304,6 +4304,7 @@ let
     stdenv = if stdenv.isDarwin
       then overrideGCC stdenv gccApple
       else stdenv;
+    automake = automake113x;
   };
   glibmm = callPackage ../development/libraries/glibmm { };
 
@@ -5057,7 +5058,8 @@ let
   mesaSupported = lib.elem system lib.platforms.mesaPlatforms;
 
   mesa_original = callPackage ../development/libraries/mesa { };
-  mesa_noglu = if stdenv.isDarwin then darwinX11AndOpenGL
+  mesa_noglu = if stdenv.isDarwin
+    then darwinX11AndOpenGL // { driverLink = mesa_noglu; }
     else mesa_original;
   mesa_drivers = mesa_original.drivers;
   mesa_glu = callPackage ../development/libraries/mesa-glu { };
@@ -5331,6 +5333,7 @@ let
 
   qt48 = callPackage ../development/libraries/qt-4.x/4.8 {
     # GNOME dependencies are not used unless gtkStyle == true
+    mesa = mesa_noglu;
     inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
     cups = if stdenv.isLinux then cups else null;
 
@@ -5340,13 +5343,11 @@ let
       else stdenv;
   };
 
-  qt48Full = lowPrio (callPackage ../development/libraries/qt-4.x/4.8 {
-    # GNOME dependencies are not used unless gtkStyle == true
-    inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
+  qt48Full = qt48.override {
     docs = true;
     demos = true;
     examples = true;
-  });
+  };
 
   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
 
@@ -5909,7 +5910,11 @@ let
 
   sip = callPackage ../development/python-modules/python-sip { };
 
-  pyqt4 = callPackage ../development/python-modules/pyqt { };
+  pyqt4 = callPackage ../development/python-modules/pyqt {
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
 
   pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
 
@@ -9696,7 +9701,6 @@ let
   gensgs = callPackage_i686 ../misc/emulators/gens-gs { };
 
   ghostscript = callPackage ../misc/ghostscript {
-    lcms = lcms2;
     x11Support = false;
     cupsSupport = config.ghostscript.cups or true;
     gnuFork = config.ghostscript.gnu or false;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 7db23042dca3..e38fff602424 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1384,6 +1384,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x
 
   ListZipper = callPackage ../development/libraries/haskell/ListZipper {};
 
+  llvmGeneral = callPackage ../development/libraries/haskell/llvm-general {
+    llvmConfig = pkgs.llvm;
+  };
+
   lrucache = callPackage ../development/libraries/haskell/lrucache {};
 
   ltk = callPackage ../development/libraries/haskell/ltk {};
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index 7fb597fd6d8e..2e5d92b8ed25 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -47,7 +47,7 @@ releaseTools.sourceTarball {
     nix-store --init
 
     # Run the regression tests in `lib'.
-    res="$(nix-instantiate --eval-only --strict pkgs/lib/tests.nix)"
+    res="$(nix-instantiate --eval-only --strict --show-trace pkgs/lib/tests.nix)"
     if test "$res" != "[ ]"; then
         echo "regression tests for lib failed, got: $res"
         exit 1
@@ -63,7 +63,7 @@ releaseTools.sourceTarball {
     done
 
     header "checking eval-release.nix"
-    nix-instantiate --eval-only --strict --xml ./maintainers/scripts/eval-release.nix > $TMPDIR/out.xml
+    nix-instantiate --eval-only --strict --xml --show-trace ./maintainers/scripts/eval-release.nix > $TMPDIR/out.xml
     xmllint --noout $TMPDIR/out.xml
     stopNest
   '';