summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-04-01 10:06:01 +0200
commitab15a62c68bf7bf3b02e3bab00d121cc1426733c (patch)
tree398a82403b04bfa0bae8cadf1c5a64cf83145965 /pkgs/development/libraries
parentc643ccaa8c91f78b8c89eb87589886b8906d5b38 (diff)
parenta26357eefe017964448b5bb464163646b927a267 (diff)
downloadnixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.gz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.bz2
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.lz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.xz
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.tar.zst
nixlib-ab15a62c68bf7bf3b02e3bab00d121cc1426733c.zip
Merge branch 'master' into closure-size
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/accelio/default.nix4
-rw-r--r--pkgs/development/libraries/apache-activemq/default.nix6
-rw-r--r--pkgs/development/libraries/appstream/default.nix1
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix9
-rw-r--r--pkgs/development/libraries/assimp/default.nix8
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix1
-rw-r--r--pkgs/development/libraries/atkmm/default.nix19
-rw-r--r--pkgs/development/libraries/bobcat/default.nix8
-rw-r--r--pkgs/development/libraries/boost/1.60.nix11
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/boringssl/default.nix10
-rw-r--r--pkgs/development/libraries/cairo/default.nix24
-rw-r--r--pkgs/development/libraries/cairomm/default.nix17
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix4
-rw-r--r--pkgs/development/libraries/cl/default.nix33
-rw-r--r--pkgs/development/libraries/crypto++/default.nix1
-rw-r--r--pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix24
-rw-r--r--pkgs/development/libraries/dbus-sharp-glib/default.nix24
-rw-r--r--pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix24
-rw-r--r--pkgs/development/libraries/dbus-sharp/default.nix24
-rw-r--r--pkgs/development/libraries/esdl/default.nix22
-rw-r--r--pkgs/development/libraries/farbfeld/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix34
-rw-r--r--pkgs/development/libraries/gdata-sharp/default.nix38
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix12
-rw-r--r--pkgs/development/libraries/giflib/libungif.nix2
-rw-r--r--pkgs/development/libraries/gio-sharp/default.nix28
-rw-r--r--pkgs/development/libraries/git2/default.nix9
-rw-r--r--pkgs/development/libraries/glibc/builder.sh3
-rw-r--r--pkgs/development/libraries/glibc/default.nix19
-rw-r--r--pkgs/development/libraries/glibmm/default.nix19
-rw-r--r--pkgs/development/libraries/gobject-introspection/darwin-fixups.patch26
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix22
-rw-r--r--pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch21
-rw-r--r--pkgs/development/libraries/gsl/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix29
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix1
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix12
-rw-r--r--pkgs/development/libraries/gtk-sharp-beans/default.nix24
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix (renamed from pkgs/development/libraries/gtk-sharp-2/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk-sharp/3.0.nix48
-rw-r--r--pkgs/development/libraries/gtk-sharp/builder.sh (renamed from pkgs/development/libraries/gtk-sharp-2/builder.sh)0
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix15
-rw-r--r--pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch28
-rw-r--r--pkgs/development/libraries/icu/default.nix6
-rw-r--r--pkgs/development/libraries/ignition-math/default.nix23
-rw-r--r--pkgs/development/libraries/ignition-transport/0.9.0.nix9
-rw-r--r--pkgs/development/libraries/ignition-transport/1.0.1.nix9
-rw-r--r--pkgs/development/libraries/ignition-transport/generic.nix25
-rw-r--r--pkgs/development/libraries/ilbc/default.nix6
-rw-r--r--pkgs/development/libraries/ilbc/extract-cfile.awk24
-rw-r--r--pkgs/development/libraries/kdevplatform/default.nix17
-rw-r--r--pkgs/development/libraries/kdevplatform/gettext.patch8
-rw-r--r--pkgs/development/libraries/ldb/default.nix4
-rw-r--r--pkgs/development/libraries/libav/default.nix26
-rw-r--r--pkgs/development/libraries/libbrotli/default.nix36
-rw-r--r--pkgs/development/libraries/libclc/default.nix6
-rw-r--r--pkgs/development/libraries/libcli/default.nix9
-rw-r--r--pkgs/development/libraries/libcmis/default.nix6
-rw-r--r--pkgs/development/libraries/libcmis/gcc5.patch39
-rw-r--r--pkgs/development/libraries/libcollectdclient/default.nix24
-rw-r--r--pkgs/development/libraries/libgpod/default.nix16
-rw-r--r--pkgs/development/libraries/libgsystem/default.nix1
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libmatheval/default.nix46
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix18
-rw-r--r--pkgs/development/libraries/libotr/3.2.nix11
-rw-r--r--pkgs/development/libraries/libotr/default.nix4
-rw-r--r--pkgs/development/libraries/libpsl/default.nix6
-rw-r--r--pkgs/development/libraries/librdf/redland.nix3
-rw-r--r--pkgs/development/libraries/libressl/2.3.nix4
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix24
-rw-r--r--pkgs/development/libraries/libtoxcore/new-api/default.nix6
-rw-r--r--pkgs/development/libraries/libvirt/default.nix5
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix3
-rw-r--r--pkgs/development/libraries/libxmp/default.nix1
-rw-r--r--pkgs/development/libraries/libykneomgr/default.nix4
-rw-r--r--pkgs/development/libraries/libzen/default.nix23
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix3
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/mono-addins/default.nix29
-rw-r--r--pkgs/development/libraries/mono-zeroconf/default.nix23
-rw-r--r--pkgs/development/libraries/netcdf-fortran/default.nix20
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix4
-rw-r--r--pkgs/development/libraries/notify-sharp/default.nix35
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/85_security_load.patch47
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/ocl-icd/default.nix18
-rw-r--r--pkgs/development/libraries/ogre/default.nix6
-rw-r--r--pkgs/development/libraries/openbabel/default.nix1
-rw-r--r--pkgs/development/libraries/opencl-headers/default.nix23
-rw-r--r--pkgs/development/libraries/opencsg/default.nix4
-rw-r--r--pkgs/development/libraries/openmpi/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix14
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix6
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/pangomm/default.nix12
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix11
-rw-r--r--pkgs/development/libraries/sdformat/3.nix7
-rw-r--r--pkgs/development/libraries/sdformat/default.nix23
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix7
-rw-r--r--pkgs/development/libraries/sparsehash/default.nix17
-rw-r--r--pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/taglib-sharp/default.nix26
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix3
-rw-r--r--pkgs/development/libraries/tevent/default.nix4
-rw-r--r--pkgs/development/libraries/tinyxml-2/default.nix11
-rw-r--r--pkgs/development/libraries/udunits/default.nix18
-rw-r--r--pkgs/development/libraries/unibilium/default.nix6
-rw-r--r--pkgs/development/libraries/v8/generic.nix6
-rw-r--r--pkgs/development/libraries/vc/default.nix2
-rw-r--r--pkgs/development/libraries/vxl/default.nix2
-rw-r--r--pkgs/development/libraries/vxl/gcc5.patch15
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix42
-rw-r--r--pkgs/development/libraries/webkitgtk/adding-libintl.patch10
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix47
-rw-r--r--pkgs/development/libraries/webkitgtk/impure-icucore.patch12
-rw-r--r--pkgs/development/libraries/webkitgtk/libc++.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/plugin-none.patch38
-rw-r--r--pkgs/development/libraries/webkitgtk/quartz-webcore.patch22
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--pkgs/development/libraries/wxGTK-2.8/default.nix6
-rw-r--r--pkgs/development/libraries/x265/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix3
-rw-r--r--pkgs/development/libraries/xylib/default.nix18
136 files changed, 1467 insertions, 334 deletions
diff --git a/pkgs/development/libraries/accelio/default.nix b/pkgs/development/libraries/accelio/default.nix
index 637976977b14..76c5cf32bbdb 100644
--- a/pkgs/development/libraries/accelio/default.nix
+++ b/pkgs/development/libraries/accelio/default.nix
@@ -55,5 +55,9 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     platforms = with platforms; linux ++ freebsd;
     maintainers = with maintainers; [ wkennington ];
+    # kernel 4.2 is the most recent supported kernel
+    broken = kernel != null &&
+      (builtins.compareVersions kernel.version "4.2" == 1 ||
+       (kernel.features.grsecurity or false));
   };
 }
diff --git a/pkgs/development/libraries/apache-activemq/default.nix b/pkgs/development/libraries/apache-activemq/default.nix
index 2f2792dec140..0e3a1ccd3c48 100644
--- a/pkgs/development/libraries/apache-activemq/default.nix
+++ b/pkgs/development/libraries/apache-activemq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "apache-activemq-${version}";
-  version = "5.8.0";
+  version = "5.13.2";
 
   src = fetchurl {
-    url = "mirror://apache/activemq/apache-activemq/${version}/${name}-bin.tar.gz";
-    sha256 = "12a1lmmqapviqdgw307jm07vw1z5q53r56pkbp85w9wnqwspjrbk";
+    sha256 = "0vrgny8fw973xvr3w4wc1s44z50b0c2hgcqa91s8fbx2yjmqn5xy";
+    url = "mirror://apache/activemq/${version}/${name}-bin.tar.gz";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 5cdfa4bc601d..5df6ac2cace8 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation {
     '';
     license     = licenses.lgpl21Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
  };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index 3fb49c2be248..c0c4bf97b60c 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -167,6 +167,15 @@ in {
     };
   };
 
+  ro = buildDict {
+    shortName = "ro-3.3-2";
+    fullName = "Romanian";
+    src = fetchurl {
+      url = mirror://gnu/aspell/dict/ro/aspell5-ro-3.3-2.tar.bz2;
+      sha256 = "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk";
+    };
+  };
+
   ru = buildDict {
     shortName = "ru-0.99f7-1";
     fullName = "Russian";
diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
index cfe86ce4e70e..38d7e50bdf8e 100644
--- a/pkgs/development/libraries/assimp/default.nix
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, cmake, boost }:
+{ stdenv, fetchurl, unzip, cmake, boost, zlib }:
 
 let
   major = "3";
@@ -14,14 +14,14 @@ stdenv.mkDerivation {
     sha256 = "17nyzsqzqpafamhi779f1bkh5mfgj8rpas034x3v9a0hdy3jg66s";
   };
 
-  buildInputs = [ unzip cmake boost ];
+  buildInputs = [ unzip cmake boost zlib ];
 
   meta = with stdenv.lib; {
     description = "A library to import various 3D model formats";
     homepage = http://assimp.sourceforge.net/;
     license = licenses.bsd3;
     maintainers = with maintainers; [ ehmry ];
-    platfroms = platforms.linux;
+    platfroms = [ platforms.linux platforms.darwin ];
     inherit version;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
index ef53a76d20ba..c1bbbb0ae5a9 100644
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ b/pkgs/development/libraries/aterm/2.5.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation {
     description = "Library for manipulation of term data structures in C";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
     maintainers = [ stdenv.lib.maintainers.eelco ];
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix
index 03f08efca985..86cde42dfa1a 100644
--- a/pkgs/development/libraries/atkmm/default.nix
+++ b/pkgs/development/libraries/atkmm/default.nix
@@ -1,14 +1,25 @@
 { stdenv, fetchurl, atk, glibmm, pkgconfig }:
-
+let
+  ver_maj = "2.24";
+  ver_min = "2";
+in
 stdenv.mkDerivation rec {
-  name = "atkmm-2.22.7";
+  name = "atkmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/atkmm/2.22/${name}.tar.xz";
-    sha256 = "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz";
+    url = "mirror://gnome/sources/atkmm/${ver_maj}/${name}.tar.xz";
+    sha256 = "ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd";
   };
 
   propagatedBuildInputs = [ atk glibmm ];
 
   nativeBuildInputs = [ pkgconfig ];
+
+  doCheck = true;
+
+  meta = {
+    description = "C++ wrappers for ATK accessibility toolkit";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    homepage = http://gtkmm.org;
+  };
 }
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index b83fd0f74874..7a8209d5046a 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   name = "bobcat-${version}";
-  version = "4.00.00";
+  version = "4.01.04";
 
   src = fetchFromGitHub {
-    sha256 = "0wdb25sgw7i3jk3lbja6b4ipqfg1sncam6adg2bn8l5fcinrpwgs";
+    sha256 = "1qnyssvjvwc7ann5rw8spcfrfkxyh1lv3k12bq19d8db67znk4ms";
     rev = version;
     repo = "bobcat";
     owner = "fbb-git";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace INSTALL.im --replace /usr $out
-    patchShebangs ./build
+    patchShebangs .
   '';
 
   buildPhase = ''
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ./build install
+    ./build install x
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/boost/1.60.nix b/pkgs/development/libraries/boost/1.60.nix
new file mode 100644
index 000000000000..b6d74234f799
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.60.nix
@@ -0,0 +1,11 @@
+{ stdenv, callPackage, fetchurl, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.60.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_60_0.tar.bz2";
+    sha256 = "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8";
+  };
+
+})
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 30f24d0c3573..5b0c06bd6bb2 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -58,7 +58,7 @@ let
     "--layout=${layout}"
     "variant=${variant}"
     "threading=${threading}"
-    "runtime-link=${runtime-link}"
+  ] ++ optional (link != "static") "runtime-link=${runtime-link}" ++ [
     "link=${link}"
     "${cflags}"
   ] ++ optional (variant == "release") "debug-symbols=off";
diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix
index b2500d1f49be..4a612c5351dc 100644
--- a/pkgs/development/libraries/boringssl/default.nix
+++ b/pkgs/development/libraries/boringssl/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchgit, cmake, perl }:
+{ stdenv, fetchgit, cmake, perl, go }:
 
 stdenv.mkDerivation rec {
   name = "boringssl-${version}";
-  version = "20140820-a7d1363f";
+  version = "2016-03-08";
 
   src = fetchgit {
     url    = "https://boringssl.googlesource.com/boringssl";
-    rev    = "a7d1363fcb1f0d825ec2393c06be3d58b0c57efd";
-    sha256 = "d27dd1416de1a2ea4ec2c219248b2ed2cce5c0405e56adb394077ddc7c319bab";
+    rev    = "bfb38b1a3c5e37d43188bbd02365a87bebc8d122";
+    sha256 = "0g9gh915ywawqf1gq7pwkhrhbh79w7si4g34ryml7a6mnmvx8b52";
   };
 
-  buildInputs = [ cmake perl ];
+  buildInputs = [ cmake perl go ];
   enableParallelBuilding = true;
   NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
 
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 5f705ea50a35..2e4821b30738 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -4,6 +4,7 @@
 , xcbSupport ? true # no longer experimental since 1.12
 , glSupport ? true, mesa_noglu ? null # mesa is no longer a big dependency
 , pdfSupport ? true
+, darwin
 }:
 
 assert glSupport -> mesa_noglu != null;
@@ -11,17 +12,24 @@ assert glSupport -> mesa_noglu != null;
 with { inherit (stdenv.lib) optional optionals; };
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.14.4";
+  name = "cairo-1.14.6";
 
   src = fetchurl {
     url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha256 = "05p75r914d809711yg9rapgmmi4hymzbarhd3w0yrfadhiy9rv7n";
+    sha256 = "0lmjlzmghmr27y615px9hkm552x7ap6pmq9mfbzr6smp8y2b6g31";
   };
 
   outputs = [ "dev" "out" "docdev" ];
   outputBin = "dev"; # very small
 
-  nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
+  nativeBuildInputs = [
+    pkgconfig
+    libiconv
+  ] ++ libintlOrEmpty ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    CoreGraphics
+    ApplicationServices
+    Carbon
+  ]);
 
   propagatedBuildInputs =
     with xorg; [ libXext fontconfig expat freetype pixman zlib libpng ]
@@ -31,11 +39,17 @@ stdenv.mkDerivation rec {
     ++ optional glSupport mesa_noglu
     ; # TODO: maybe liblzo but what would it be for here?
 
-  configureFlags = [ "--enable-tee" ]
+  configureFlags = if stdenv.isDarwin then [
+    "--disable-dependency-tracking"
+    "--enable-quartz"
+    "--enable-quartz-font"
+    "--enable-quartz-image"
+    "--enable-ft"
+  ] else ([ "--enable-tee" ]
     ++ optional xcbSupport "--enable-xcb"
     ++ optional glSupport "--enable-gl"
     ++ optional pdfSupport "--enable-pdf"
-    ;
+  );
 
   preConfigure =
   # On FreeBSD, `-ldl' doesn't exist.
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index 97636f7a9574..67ae3b08ed83 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -1,16 +1,21 @@
 { fetchurl, stdenv, pkgconfig, cairo, xlibsWrapper, fontconfig, freetype, libsigcxx }:
-
+let
+  ver_maj = "1.12";
+  ver_min = "0";
+in
 stdenv.mkDerivation rec {
-  name = "cairomm-1.11.2";
+  name = "cairomm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha1 = "35e190a03f760924bece5dc1204cc36b3583c806";
+    url = "mirror://gnome/sources/cairomm/${ver_maj}/${name}.tar.xz";
+    sha256 = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6";
   };
 
-  buildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ cairo libsigcxx ];
+  buildInputs = [ fontconfig freetype ];
 
-  propagatedBuildInputs = [ cairo xlibsWrapper fontconfig freetype libsigcxx ];
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "A 2D graphics library with support for multiple output devices";
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index c06b9355d309..7c3c776e81b0 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "chromaprint-${version}";
-  version = "1.2";
+  version = "1.3.1";
 
   src = fetchurl {
     url = "http://bitbucket.org/acoustid/chromaprint/downloads/${name}.tar.gz";
-    sha256 = "06h36223r4bwcazp42faqs9w9g49wvspivd3z3309b12ld4qjaw2";
+    sha256 = "10dm9cfqb77g12pyjnqaw80860kzdcvskni02ll7afpywq8s15cg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix
new file mode 100644
index 000000000000..c166a6e4acf1
--- /dev/null
+++ b/pkgs/development/libraries/cl/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.1";
+  name = "cl-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/tonyrog/cl/archive/${name}.tar.gz";
+    sha256 = "03jv280h9gqqqkm0mmkjr53srd2mzhvyy1biss77wpjrzq2z12c8";
+  };
+
+  buildInputs = [ erlang rebar opencl-headers ocl-icd ];
+  #propagatedBuildInputs = [ SDL mesa ];
+
+  buildPhase = ''
+    sed 's/git/"${version}"/' -i src/cl.app.src
+    rebar compile
+  '';
+
+  # 'cp' line taken from Arch recipe
+  # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/erlang-sdl
+  installPhase = ''
+    DIR=$out/lib/erlang/lib/${name}
+    mkdir -p $DIR
+    cp -ruv c_src doc ebin include priv src $DIR
+  '';
+
+  meta = {
+    homepage = https://github.com/tonyrog/cl;
+    description = "OpenCL binding for Erlang";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index 788d488659af..940af8c44e91 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     ''
       sed -i GNUmakefile \
         -e 's|-march=native|${marchflags} -fPIC|g' \
-        -e 's|-mtune=native||g' \
         -e '/^CXXFLAGS =/s|-g ||'
     '';
 
diff --git a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
new file mode 100644
index 000000000000..208288bfca1d
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mono, dbus-sharp-1_0 }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-glib-${version}";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp-glib";
+
+    rev = "v${version}";
+    sha256 = "0z8ylzby8n5sar7aywc8rngd9ap5qqznadsscp5v34cacdfz1gxm";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono dbus-sharp-1_0 ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET: GLib integration module";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp-glib/default.nix b/pkgs/development/libraries/dbus-sharp-glib/default.nix
new file mode 100644
index 000000000000..ef1ddd9bfff5
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp-glib/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, pkgconfig, mono, dbus-sharp-2_0, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-glib-${version}";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp-glib";
+
+    rev = "v${version}";
+    sha256 = "0i39kfg731as6j0hlmasgj8dyw5xsak7rl2dlimi1naphhffwzm8";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono dbus-sharp-2_0 ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET: GLib integration module";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
new file mode 100644
index 000000000000..c17a140b9c57
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchFromGitHub, pkgconfig, dbus, mono, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-${version}";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp";
+
+    rev = "v${version}";
+    sha256 = "13qlqx9wqahfpzzl59157cjxprqcx2bd40w5gb2bs3vdx058p562";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix
new file mode 100644
index 000000000000..ea7d920dc828
--- /dev/null
+++ b/pkgs/development/libraries/dbus-sharp/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchFromGitHub, pkgconfig, dbus, mono, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "dbus-sharp-${version}";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "dbus-sharp";
+
+    rev = "v${version}";
+    sha256 = "1g5lblrvkd0wnhfzp326by6n3a9mj2bj7a7646g0ziwgsxp5w6y7";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/esdl/default.nix b/pkgs/development/libraries/esdl/default.nix
index ccc3318ff6b9..63fc169355c6 100644
--- a/pkgs/development/libraries/esdl/default.nix
+++ b/pkgs/development/libraries/esdl/default.nix
@@ -1,18 +1,26 @@
-{stdenv, fetchurl, SDL, mesa, erlang}:
+{stdenv, fetchurl, SDL, mesa, rebar, erlang}:
 
 stdenv.mkDerivation rec {
-  name = "esdl-1.0.1";
+  name = "esdl-1.3.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/esdl/${name}.src.tar.gz";
-    sha256 = "0zc7cmr44v10sb593dismdm5qc2v7sm3z9yh22g4r9g6asbg5z0n";
+    url = "mirror://sourceforge/esdl/${name}.src.tgz";
+    sha256 = "0f5ad519600qarsa2anmnaxh6b7djzx1dnwxzi4l36pxsq896y01";
   };
 
-  buildInputs = [ erlang ];
+  buildInputs = [ erlang rebar ];
   propagatedBuildInputs = [ SDL mesa ];
 
-  preBuild = ''
-    export makeFlags="INSTALLDIR=$out/lib/erlang/addons/${name}";
+  buildPhase = ''
+    rebar compile
+  '';
+
+  # 'cp' line taken from Arch recipe
+  # https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/erlang-sdl
+  installPhase = ''
+    DIR=$out/lib/erlang/lib/${name}
+    mkdir -p $DIR
+    cp -ruv c_src doc ebin include priv src $DIR
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/farbfeld/default.nix b/pkgs/development/libraries/farbfeld/default.nix
index 2301dbac368a..d14de1938b98 100644
--- a/pkgs/development/libraries/farbfeld/default.nix
+++ b/pkgs/development/libraries/farbfeld/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "farbfeld-${version}";
-  version = "1";
+  version = "2";
 
   src = fetchgit {
     url = "http://git.suckless.org/farbfeld";
     rev = "refs/tags/${version}";
-    sha256 = "1mgk46lpqqvn4qx37r0jxz2jjsd4nvl6zjl04y4bfyzf4wkkmmln";
+    sha256 = "1rj6pqn50v6r7l3j7m872fgynxsh22zx863jg0jzmb4x6wx2m2qv";
   };
 
   buildInputs = [ libpng libjpeg ];
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index eed6a3bc763c..91974a311756 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -235,11 +235,11 @@ assert x11grabExtlib -> libX11 != null && libXv != null;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "2.8.5";
+  version = "3.0";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.bz2";
-    sha256 = "0nk1j3i7qc1k3dygpq74pxq382vqg9kaf2hxl9jfw8rkad8rjv9v";
+    sha256 = "1h0k05cj6j0nd2i16z7hc5scpwsbg3sfx68lvm0nlwvz5xxgg7zi";
   };
 
   patchPhase = ''patchShebangs .'';
@@ -449,7 +449,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
-    homepage = http://www.ffmpeg.org/;
+    homepage = https://www.ffmpeg.org/;
     longDescription = ''
       FFmpeg is the leading multimedia framework, able to decode, encode, transcode, 
       mux, demux, stream, filter and play pretty much anything that humans and machines 
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index d2da77c7b0d6..223baaca61e7 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
 , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
-, libtheora, libva, libvdpau, libvorbis, libvpx, lzma, libpulseaudio, SDL, soxr
-, x264, xvidcore, zlib
+, libtheora, libva, libvorbis, libvpx, lzma, libpulseaudio, soxr
+, x264, xvidcore, zlib, libopus
 , openglSupport ? false, mesa ? null
 # Build options
 , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
 , multithreadBuild ? true # Multithreading via pthreads/win32 threads
+, sdlSupport ? !stdenv.isArm, SDL ? null
+, vdpauSupport ? !stdenv.isArm, libvdpau ? null
 # Developer options
 , debugDeveloper ? false
 , optimizationsDeveloper ? true
@@ -39,7 +41,7 @@
  */
 
 let
-  inherit (stdenv) icCygwin isDarwin isFreeBSD isLinux;
+  inherit (stdenv) icCygwin isDarwin isFreeBSD isLinux isArm;
   inherit (stdenv.lib) optional optionals enableFeature;
 
   cmpVer = builtins.compareVersions;
@@ -51,8 +53,8 @@ let
   # Version specific fix
   verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix;
 
-  # Disable dependency that needs fixes before it will work on Darwin
-  disDarwinFix = origArg: minVer: fixArg: if (isDarwin && reqMin minVer) then fixArg else origArg;
+  # Disable dependency that needs fixes before it will work on Darwin or Arm
+  disDarwinOrArmFix = origArg: minVer: fixArg: if ((isDarwin || isArm) && reqMin minVer) then fixArg else origArg;
 in
 
 assert openglSupport -> mesa != null;
@@ -121,15 +123,16 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" (enableFeature (isLinux || isFreeBSD) "vaapi"))
       "--enable-vdpau"
       "--enable-libvorbis"
-      (disDarwinFix (ifMinVer "0.6" "--enable-libvpx") "0.6" "--disable-libvpx")
+      (disDarwinOrArmFix (ifMinVer "0.6" "--enable-libvpx") "0.6" "--disable-libvpx")
       (ifMinVer "2.4" "--enable-lzma")
       (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
-      (disDarwinFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
-      (ifMinVer "2.5" "--enable-sdl") # Only configurable since 2.5, auto detected before then
+      (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
+      (ifMinVer "2.5" (if sdlSupport then "--enable-sdl" else "")) # Only configurable since 2.5, auto detected before then
       (ifMinVer "1.2" "--enable-libsoxr")
       "--enable-libx264"
       "--enable-libxvid"
       "--enable-zlib"
+      (ifMinVer "2.8" "--enable-libopus")
     # Developer flags
       (enableFeature debugDeveloper "debug")
       (enableFeature optimizationsDeveloper "optimizations")
@@ -143,12 +146,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora
-    libvdpau libvorbis lzma SDL soxr x264 xvidcore zlib
+    libvdpau libvorbis lzma SDL soxr x264 xvidcore zlib libopus
   ] ++ optional openglSupport mesa
-    ++ optionals (!isDarwin) [ libvpx libpulseaudio ] # Need to be fixed on Darwin
-    ++ optional (isLinux || isFreeBSD) libva
+    ++ optionals (!isDarwin && !isArm) [ libvpx libpulseaudio ] # Need to be fixed on Darwin and ARM
+    ++ optional ((isLinux || isFreeBSD) && !isArm) libva
     ++ optional isLinux alsaLib
-    ++ optional isDarwin Cocoa;
+    ++ optional isDarwin Cocoa
+    ++ optional vdpauSupport libvdpau
+    ++ optional sdlSupport SDL;
+
 
   enableParallelBuilding = true;
 
@@ -187,8 +193,8 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    vaapiSupport = if reqMin "0.6" && (isLinux || isFreeBSD) then true else false;
-    vdpauSupport = true;
+    vaapiSupport = if reqMin "0.6" && ((isLinux || isFreeBSD) && !isArm) then true else false;
+    inherit vdpauSupport;
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/gdata-sharp/default.nix b/pkgs/development/libraries/gdata-sharp/default.nix
new file mode 100644
index 000000000000..e9f5898e2eac
--- /dev/null
+++ b/pkgs/development/libraries/gdata-sharp/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchsvn, pkgconfig, mono, dotnetPackages }:
+
+let
+  newtonsoft-json = dotnetPackages.NewtonsoftJson;
+in stdenv.mkDerivation rec {
+  name = "gdata-sharp-${version}";
+  version = "2.2.0.0";
+
+  src = fetchsvn {
+    url = "http://google-gdata.googlecode.com/svn/trunk/";
+    rev = "1217";
+    sha256 = "0b0rvgg3xsbbg2fdrpz0ywsy9rcahlyfskndaagd3yzm83gi6bhk";
+  };
+
+  buildInputs = [ pkgconfig mono newtonsoft-json ];
+
+  sourceRoot = "svn-r1217/clients/cs";
+
+  dontStrip = true;
+
+  postPatch = ''
+    sed -i -e 's#^\(DEFINES=.*\)\(.\)#\1 /r:third_party/Newtonsoft.Json.dll\2#' Makefile
+    #             carriage return ^
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://code.google.com/archive/p/google-gdata/;
+
+    description = "The Google Data APIs";
+    longDescription = ''
+      The Google Data APIs provide a simple protocol for reading and writing
+      data on the web.
+    '';
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
index 73d3bb92e7ec..83becae05a4c 100644
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ b/pkgs/development/libraries/geoclue/2.0.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "geoclue-2.4.1";
+  name = "geoclue-2.4.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz";
-    sha256 = "1m1l1npdv804m98xhfpd1wl1whrrp2pjivliwwlnyk86yq0gs6cs";
+    sha256 = "0g4krigdaf5ipkp4mi16rca62crr8pdk3wkhm0fxbcqnil75fyy4";
   };
 
   buildInputs =
@@ -23,10 +23,10 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ dbus dbus_glib glib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Geolocation framework and some data providers";
-    maintainers = with stdenv.lib.maintainers; [ raskin garbas ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.lgpl2;
+    maintainers = with maintainers; [ raskin garbas ];
+    platforms = platforms.linux;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/giflib/libungif.nix b/pkgs/development/libraries/giflib/libungif.nix
index f3302f8f3337..ca2d09457225 100644
--- a/pkgs/development/libraries/giflib/libungif.nix
+++ b/pkgs/development/libraries/giflib/libungif.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libungif-4.1.4";
   src = fetchurl {
     url = mirror://sourceforge/giflib/libungif-4.1.4.tar.gz;
-    md5 = "efdfcf8e32e35740288a8c5625a70ccb";
+    sha256 = "5e65e1e5deacd0cde489900dbf54c6c2ee2ebc818199e720dbad685d87abda3d";
   };
 }
 
diff --git a/pkgs/development/libraries/gio-sharp/default.nix b/pkgs/development/libraries/gio-sharp/default.nix
new file mode 100644
index 000000000000..ad5220cac4e9
--- /dev/null
+++ b/pkgs/development/libraries/gio-sharp/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, which, pkgconfig, mono, gtk-sharp }:
+
+stdenv.mkDerivation rec {
+  name = "gio-sharp-${version}";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "gio-sharp";
+
+    rev = "${version}";
+    sha256 = "13pc529pjabj7lq23dbndc26ssmg5wkhc7lfvwapm87j711m0zig";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoconf automake which ];
+  buildInputs = [ mono gtk-sharp ];
+
+  dontStrip = true;
+
+  prePatch = ''
+    ./autogen-2.22.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GIO API bindings";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 4ec2903b9007..3cf429ab1d73 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, cmake, pkgconfig, zlib, python, libssh2, openssl, http-parser }:
+{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   version = "0.23.2";
   name = "libgit2-${version}";
 
@@ -21,4 +21,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     platforms = with stdenv.lib.platforms; all;
   };
-}
+} // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
+  NIX_LDFLAGS = "-liconv";
+  propagatedBuildInputs = [ libiconv ];
+})
diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh
index 7843c9340a39..85f27c7b3559 100644
--- a/pkgs/development/libraries/glibc/builder.sh
+++ b/pkgs/development/libraries/glibc/builder.sh
@@ -40,6 +40,9 @@ postInstall() {
     # Get rid of more unnecessary stuff.
     rm -rf $out/var $out/sbin/sln
 
+    for i in $out/lib/*.a; do
+        strip -S "$i"
+    done
     # Put libraries for static linking in a separate output.  Note
     # that libc_nonshared.a and libpthread_nonshared.a are required
     # for dynamically-linked applications.
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 15e4fc7f9f0a..80fc2ce1e93d 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -2,7 +2,6 @@
 , installLocales ? true
 , profilingLibraries ? false
 , gccCross ? null
-, debugSymbols ? false
 , withGd ? false, gd ? null, libpng ? null
 }:
 
@@ -13,9 +12,7 @@ let
   cross = if gccCross != null then gccCross.target else null;
 in
   build cross ({
-    name = "glibc"
-      + lib.optionalString debugSymbols "-debug"
-      + lib.optionalString withGd "-gd";
+    name = "glibc" + lib.optionalString withGd "-gd";
 
     inherit lib stdenv fetchurl linuxHeaders installLocales
       profilingLibraries gccCross withGd gd libpng;
@@ -38,23 +35,13 @@ in
       fi
     '';
 
+    separateDebugInfo = true;
+
     meta.description = "The GNU C Library";
   }
 
   //
 
-  (if debugSymbols
-   then {
-     # Build with debugging symbols, but leave optimizations on and don't
-     # attempt to keep the build tree.
-     dontStrip = true;
-     dontCrossStrip = true;
-     NIX_STRIP_DEBUG = 0;
-   }
-   else {})
-
-  //
-
   (if cross != null
    then {
       preConfigure = ''
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 256660666019..8417179dde19 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -1,30 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, glib, libsigcxx }:
+{ stdenv, fetchurl, pkgconfig, gnum4, glib, libsigcxx }:
 
 let
-  ver_maj = "2.44";
-  ver_min = "0";
+  ver_maj = "2.46";
+  ver_min = "3";
 in
 stdenv.mkDerivation rec {
   name = "glibmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv";
+    sha256 = "c78654addeb27a1213bedd7cd21904a45bbb98a5ba2f2f0de2b2f1a5682d86cf";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gnum4 ];
   propagatedBuildInputs = [ glib libsigcxx ];
 
+  enableParallelBuilding = true;
   #doCheck = true; # some tests need network
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "C++ interface to the GLib library";
 
     homepage = http://gtkmm.org/;
 
-    license = stdenv.lib.licenses.lgpl2Plus;
+    license = licenses.lgpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [urkud raskin];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [raskin];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gobject-introspection/darwin-fixups.patch b/pkgs/development/libraries/gobject-introspection/darwin-fixups.patch
new file mode 100644
index 000000000000..02443d56afab
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/darwin-fixups.patch
@@ -0,0 +1,26 @@
+diff -ur gobject-introspection-1.46.0-orig/giscanner/ccompiler.py gobject-introspection-1.46.0/giscanner/ccompiler.py
+--- gobject-introspection-1.46.0-orig/giscanner/ccompiler.py	2016-02-01 12:25:41.000000000 -0500
++++ gobject-introspection-1.46.0/giscanner/ccompiler.py	2016-02-01 15:50:36.000000000 -0500
+@@ -128,11 +128,7 @@
+                     self.compiler.add_runtime_library_dir('.')
+ 
+                 # https://bugzilla.gnome.org/show_bug.cgi?id=625195
+-                args.append('-Wl,-rpath=.')
+-
+-                # Ensure libraries are always linked as we are going to use ldd to work
+-                # out their names later
+-                args.append('-Wl,--no-as-needed')
++                args.append('-Wl,-rpath,.')
+ 
+             for library in libraries:
+                 self.compiler.add_library(library)
+@@ -140,7 +136,7 @@
+                 for library_path in libpaths:
+                     args.append('-L' + library_path)
+                     if os.path.isabs(library_path):
+-                        args.append('-Wl,-rpath=' + library_path)
++                        args.append('-Wl,-rpath,' + library_path)
+ 
+         else:
+             # libtool case: assemble linker command arguments, like we did before
+Only in gobject-introspection-1.46.0/giscanner: ccompiler.py~
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 8d1dabd826e9..47ccb17e4845 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintlOrEmpty, autoconf, automake, otool
+, libintlOrEmpty, cctools
 , substituteAll, nixStoreDir ? builtins.storeDir
 }:
 # now that gobjectIntrospection creates large .gir files (eg gtk3 case)
@@ -10,6 +10,7 @@ let
   ver_maj = "1.46";
   ver_min = "0";
 in
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "gobject-introspection-${ver_maj}.${ver_min}";
 
@@ -17,10 +18,6 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
     sha256 = "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233";
   };
-  patches = stdenv.lib.singleton (substituteAll {
-    src = ./absolute_shlib_path.patch;
-    inherit nixStoreDir;
-  });
 
   outputs = [ "dev" "out" ];
   outputBin = "dev";
@@ -28,23 +25,26 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ flex bison pkgconfig python setupHook/*move .gir*/ ]
     ++ libintlOrEmpty
-    ++ stdenv.lib.optional stdenv.isDarwin otool;
+    ++ stdenv.lib.optional stdenv.isDarwin cctools;
   propagatedBuildInputs = [ libffi glib ];
 
   preConfigure = ''
     sed 's|/usr/bin/env ||' -i tools/g-ir-tool-template.in
   '';
-  configureFlags = [
-    # Tests depend on cairo, which is undesirable (it pulls in lots of
-    # other dependencies).
-    "--disable-tests"
-  ];
 
   # outputs TODO: share/gobject-introspection-1.0/tests is needed during build
   # by pygobject3 (and maybe others), but it's only searched in $out
 
   setupHook = ./setup-hook.sh;
 
+  patches = stdenv.lib.singleton (substituteAll {
+    src = ./absolute_shlib_path.patch;
+    inherit nixStoreDir;
+  }) ++ optional stdenv.isDarwin (substituteAll {
+    src = ./darwin-fixups.patch;
+    inherit nixStoreDir;
+  });
+
   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/separate-rpath-arg.patch b/pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch
new file mode 100644
index 000000000000..1f25aa1f8987
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch
@@ -0,0 +1,21 @@
+diff -ur gobject-introspection-1.46.0-orig/giscanner/ccompiler.py gobject-introspection-1.46.0/giscanner/ccompiler.py
+--- gobject-introspection-1.46.0-orig/giscanner/ccompiler.py	2016-02-01 12:25:41.000000000 -0500
++++ gobject-introspection-1.46.0/giscanner/ccompiler.py	2016-02-01 12:26:52.000000000 -0500
+@@ -128,7 +128,7 @@
+                     self.compiler.add_runtime_library_dir('.')
+ 
+                 # https://bugzilla.gnome.org/show_bug.cgi?id=625195
+-                args.append('-Wl,-rpath=.')
++                args.append('-Wl,-rpath,.')
+ 
+                 # Ensure libraries are always linked as we are going to use ldd to work
+                 # out their names later
+@@ -140,7 +140,7 @@
+                 for library_path in libpaths:
+                     args.append('-L' + library_path)
+                     if os.path.isabs(library_path):
+-                        args.append('-Wl,-rpath=' + library_path)
++                        args.append('-Wl,-rpath,' + library_path)
+ 
+         else:
+             # libtool case: assemble linker command arguments, like we did before
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index af6c91499ac4..f5fdf4eec44c 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     ./disable-fma.patch # http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
   ];
 
-  doCheck = true;
+  doCheck = stdenv.system != "i686-linux"; # https://lists.gnu.org/archive/html/bug-gsl/2015-11/msg00012.html
 
   meta = {
     description = "The GNU Scientific Library, a large numerical library";
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index dd9ddc7ec9b8..4603b3e29db6 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 9192feb1c0cf..4f592dbe31e9 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -11,7 +11,6 @@ stdenv.mkDerivation rec {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 98cfa98bfe19..754b2bb64b80 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -10,7 +10,6 @@ stdenv.mkDerivation rec {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
index 7d2b4caf2a58..3118caffb11a 100644
--- a/pkgs/development/libraries/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -3,6 +3,8 @@
 rec {
   gstreamer = callPackage ./core { };
 
+  gstreamermm = callPackage ./gstreamermm { };
+
   gst-plugins-base = callPackage ./base { inherit gstreamer; };
 
   gst-plugins-good = callPackage ./good { inherit gst-plugins-base; };
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 96dc42c3cb12..1e0ee39667e6 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -10,7 +10,6 @@ stdenv.mkDerivation rec {
     homepage    = "http://gstreamer.freedesktop.org";
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index 4b6e7957f5cd..9d43f3ac23c3 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 8afbfd4ff54b..75f0760747bf 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
new file mode 100644
index 000000000000..692310be0bad
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1 }:
+
+let
+  ver_maj = "1.4";
+  ver_min = "3";
+in
+stdenv.mkDerivation rec {
+  name = "gstreamermm-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/${name}.tar.xz";
+    sha256 = "0bj6and9b26d32bq90l8nx5wqh2ikkh8dm7qwxyxfdvmrzhixhgi";
+  };
+ 
+  nativeBuildInputs = [ pkgconfig file ];
+
+  propagatedBuildInputs = [ glibmm gst_all_1.gst-plugins-base ];
+
+  enableParallelBuilding = true;
+ 
+  meta = with stdenv.lib; {
+    description = "C++ interface for GStreamer";
+    homepage = http://gstreamer.freedesktop.org/bindings/cplusplus.html;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ romildo ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index aeefd667b34b..6d0c28d0e28a 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index b014446c7c48..540b3ba0be81 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index c88cf4897327..0b0ba11a7936 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -10,7 +10,6 @@ stdenv.mkDerivation rec {
     homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 6c00a5df09f8..a2da4c7b0339 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -3,10 +3,13 @@
 , xorg, wayland, epoxy, json_glib, libxkbcommon, gmp
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
+, darwin
 }:
 
 assert cupsSupport -> cups != null;
 
+with stdenv.lib;
+
 let
   ver_maj = "3.18";
   ver_min = "5";
@@ -30,6 +33,7 @@ stdenv.mkDerivation rec {
     [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk
       libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ]
     ++ optionals stdenv.isLinux [ wayland ]
+    ++ optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa ])
     ++ optional xineramaSupport libXinerama
     ++ optional cupsSupport cups;
   #TODO: colord?
@@ -41,6 +45,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  configureFlags = optional stdenv.isDarwin [
+    "--disable-debug"
+    "--disable-dependency-tracking"
+    "--disable-glibtest"
+    "--with-gdktarget=quartz"
+    "--enable-quartz-backend"
+  ];
+
   postInstall = ''
     substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
       --replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
diff --git a/pkgs/development/libraries/gtk-sharp-beans/default.nix b/pkgs/development/libraries/gtk-sharp-beans/default.nix
new file mode 100644
index 000000000000..92578f42e341
--- /dev/null
+++ b/pkgs/development/libraries/gtk-sharp-beans/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, mono, gtk-sharp, gio-sharp }:
+
+stdenv.mkDerivation rec {
+  name = "gtk-sharp-beans-${version}";
+  version = "2.14.0";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "gtk-sharp-beans";
+
+    rev = "${version}";
+    sha256 = "04sylwdllb6gazzs2m4jjfn14mil9l3cny2q0xf0zkhczzih6ah1";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook which ];
+  buildInputs = [ mono gtk-sharp gio-sharp ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "gtk-sharp-beans binds some API from Gtk+ that isn't in Gtk# 2.12.x";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gtk-sharp-2/default.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index 0e659fb074bd..0e659fb074bd 100644
--- a/pkgs/development/libraries/gtk-sharp-2/default.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix
new file mode 100644
index 000000000000..380c43108de0
--- /dev/null
+++ b/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, pkgconfig, mono
+, glib
+, pango
+, gtk3
+, GConf ? null
+, libglade ? null
+, libgtkhtml ? null
+, gtkhtml ? null
+, libgnomecanvas ? null
+, libgnomeui ? null
+, libgnomeprint ? null
+, libgnomeprintui ? null
+, gnomepanel ? null
+, libxml2
+, monoDLLFixer
+}:
+
+stdenv.mkDerivation {
+  name = "gtk-sharp-2.99.3";
+
+  builder = ./builder.sh;
+  src = fetchurl {
+    #"mirror://gnome/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
+    url = "http://ftp.gnome.org/pub/GNOME/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
+    sha256 = "18n3l9zcldyvn4lwi8izd62307mkhz873039nl6awrv285qzah34";
+  };
+
+  # patch bad usage of glib, which wasn't tolerated anymore
+  # prePatch = ''
+  #   for f in glib/glue/{thread,list,slist}.c; do
+  #     sed -i 's,#include <glib/.*\.h>,#include <glib.h>,g' "$f"
+  #   done
+  # '';
+
+  buildInputs = [
+    pkgconfig mono glib pango gtk3 GConf libglade libgnomecanvas
+    libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
+    gnomepanel
+  ];
+
+  dontStrip = true;
+
+  inherit monoDLLFixer;
+
+  passthru = {
+    inherit gtk3;
+  };
+}
diff --git a/pkgs/development/libraries/gtk-sharp-2/builder.sh b/pkgs/development/libraries/gtk-sharp/builder.sh
index 4b8f757540b5..4b8f757540b5 100644
--- a/pkgs/development/libraries/gtk-sharp-2/builder.sh
+++ b/pkgs/development/libraries/gtk-sharp/builder.sh
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index bc3274688555..1401f763c3d2 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }:
+{ stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm, epoxy }:
 
 let
-  ver_maj = "3.16";
+  ver_maj = "3.18";
   ver_min = "0";
 in
 stdenv.mkDerivation rec {
@@ -9,17 +9,18 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv";
+    sha256 = "829fa113daed74398c49c3f2b7672807f58ba85d0fa463f5bc726e1b0138b86b";
   };
 
   nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ epoxy ];
 
   propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ];
 
   enableParallelBuilding = true;
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "C++ interface to the GTK+ graphical user interface library";
 
     longDescription = ''
@@ -34,9 +35,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://gtkmm.org/;
 
-    license = stdenv.lib.licenses.lgpl2Plus;
+    license = licenses.lgpl2Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ raskin urkud vcunat ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ raskin vcunat ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch b/pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
new file mode 100644
index 000000000000..2968d571bb3e
--- /dev/null
+++ b/pkgs/development/libraries/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
@@ -0,0 +1,28 @@
+From 0c82d6aa02c08e41b13c83b14782bd7024e25d59 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Feb 2014 21:06:42 +0000
+Subject: [PATCH] Disable LDFLAGSICUDT for Linux
+
+Upstream-Status: Inappropriate [ OE Configuration ]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ source/config/mh-linux |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/mh-linux b/config/mh-linux
+index 366f0cc..2689aab 100644
+--- a/config/mh-linux
++++ b/config/mh-linux
+@@ -21,7 +21,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN
+ LD_RPATH_PRE = -Wl,-rpath,
+ 
+ ## These are the library specific LDFLAGS
+-LDFLAGSICUDT=-nodefaultlibs -nostdlib
++# LDFLAGSICUDT=-nodefaultlibs -nostdlib
+ 
+ ## Compiler switch to embed a library name
+ # The initial tab in the next line is to prevent icu-config from reading it.
+-- 
+1.7.10.4
+
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 199e2b8f962e..d2604b03f74f 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -4,7 +4,7 @@ let
   pname = "icu4c";
   version = "56.1";
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = pname + "-" + version;
 
   src = fetchurl {
@@ -50,4 +50,6 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ raskin urkud ];
     platforms = platforms.all;
   };
-}
+} // (if stdenv.isArm then {
+  patches = [ ./0001-Disable-LDFLAGSICUDT-for-Linux.patch ];
+} else {}))
diff --git a/pkgs/development/libraries/ignition-math/default.nix b/pkgs/development/libraries/ignition-math/default.nix
new file mode 100644
index 000000000000..f71def555833
--- /dev/null
+++ b/pkgs/development/libraries/ignition-math/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, cmake }:
+
+let
+  version = "2.3.0";
+in
+stdenv.mkDerivation rec {
+  name = "ign-math2-${version}";
+
+  src = fetchurl {
+    url = "http://gazebosim.org/distributions/ign-math/releases/ignition-math2-${version}.tar.bz2";
+    sha256 = "1a2jgq6allcxg62y0r61iv4hgxkfr1whpsxy75hg7k85s7da8dpl";
+  };
+
+  buildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    homepage = http://ignitionrobotics.org/libraries/math;
+    description = "Math library by Ingition Robotics, created for the Gazebo project";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pxc ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ignition-transport/0.9.0.nix b/pkgs/development/libraries/ignition-transport/0.9.0.nix
new file mode 100644
index 000000000000..3452c72839fd
--- /dev/null
+++ b/pkgs/development/libraries/ignition-transport/0.9.0.nix
@@ -0,0 +1,9 @@
+{ stdenv, fetchurl, callPackage, ... } @ args :
+
+callPackage ./generic.nix (args // rec {
+  version = "0.9.0";
+  src = fetchurl {
+    url = "http://gazebosim.org/distributions/ign-transport/releases/ignition-transport-${version}.tar.bz2";
+    sha256 = "15a8lkxri8q2gc7h0pj1dg2kivhy46v8d3mlxpjy90l77788bw1z";
+  };
+})
diff --git a/pkgs/development/libraries/ignition-transport/1.0.1.nix b/pkgs/development/libraries/ignition-transport/1.0.1.nix
new file mode 100644
index 000000000000..2f9605a3a72f
--- /dev/null
+++ b/pkgs/development/libraries/ignition-transport/1.0.1.nix
@@ -0,0 +1,9 @@
+{ stdenv, fetchurl, callPackage, ... } @ args :
+
+callPackage ./generic.nix (args // rec {
+  version = "1.0.1";
+  src = fetchurl {
+    url = "http://gazebosim.org/distributions/ign-transport/releases/ignition-transport-${version}.tar.bz2";
+    sha256 = "08qyd70vlymms1g4smblags9f057zsn62xxrx29rhd4wy8prnjsq";
+  };
+})
diff --git a/pkgs/development/libraries/ignition-transport/generic.nix b/pkgs/development/libraries/ignition-transport/generic.nix
new file mode 100644
index 000000000000..0b10c2cdb52f
--- /dev/null
+++ b/pkgs/development/libraries/ignition-transport/generic.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, cmake, pkgconfig, utillinux,
+  protobuf, zeromq, cppzmq,
+  version, src    # parametrize version and src so we can easily have pkgs
+                  # for different versions
+  , ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "ign-transport-${version}";
+  inherit src;
+
+  buildInputs = [ cmake protobuf zeromq pkgconfig
+    utillinux # we need utillinux/e2fsprogs uuid/uuid.h
+  ];
+
+  propagatedBuildInputs = [ cppzmq ];
+
+  meta = with stdenv.lib; {
+    homepage = http://ignitionrobotics.org/libraries/math;
+    description = "Math library by Ingition Robotics, created for the Gazebo project";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pxc ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ilbc/default.nix b/pkgs/development/libraries/ilbc/default.nix
index d77b5d46a79e..0ea2949659c6 100644
--- a/pkgs/development/libraries/ilbc/default.nix
+++ b/pkgs/development/libraries/ilbc/default.nix
@@ -3,11 +3,7 @@
 stdenv.mkDerivation rec {
   name = "ilbc-rfc3951";
 
-  script = fetchurl {
-    url = http://ilbcfreeware.org/documentation/extract-cfile.txt;
-    name = "extract-cfile.awk";
-    sha256 = "0md76qlszaras9grrxaq7xfxn1yikmz4qqgnjj6y50jg31yr5wyd";
-  };
+  script = ./extract-cfile.awk;
 
   rfc3951 = fetchurl {
     url = http://www.ietf.org/rfc/rfc3951.txt;
diff --git a/pkgs/development/libraries/ilbc/extract-cfile.awk b/pkgs/development/libraries/ilbc/extract-cfile.awk
new file mode 100644
index 000000000000..e4b07bc08963
--- /dev/null
+++ b/pkgs/development/libraries/ilbc/extract-cfile.awk
@@ -0,0 +1,24 @@
+BEGIN { srcname = "nothing"; }
+{ if (/^A\.[0-9][0-9]*\.* *[a-zA-Z][a-zA-Z_0-9]*\.[ch]/) {
+    if (srcname != "nothing")
+      close(srcname);
+    srcname = $2;
+    printf("creating source file %s\n", srcname);
+  }else if (srcname != "nothing") {
+    if (/Andersen,* *et* *al\./) 
+      printf("skipping %s\n", $0);
+    else if (//)
+      printf("skipping2 %s\n", $0);
+    else if (/Internet Low Bit Rate Codec *December 2004/)
+      printf("skipping3 %s\n", $0);
+    else if (/Authors' *Addresses/){
+      close(srcname);
+      exit;}
+    else
+      print $0 >> srcname;
+  }
+}
+END {
+  printf("ending file %s\n", srcname);
+  close(srcname);
+}
diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix
index 8398f2d7db4d..d2b9581462b2 100644
--- a/pkgs/development/libraries/kdevplatform/default.nix
+++ b/pkgs/development/libraries/kdevplatform/default.nix
@@ -1,26 +1,22 @@
-{ stdenv, fetchurl, fetchpatch, cmake, kdelibs, subversion, qt4, automoc4, phonon,
+{ stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, phonon,
   gettext, pkgconfig, apr, aprutil, boost, qjson, grantlee }:
 
 stdenv.mkDerivation rec {
-  name = "kdevplatform-1.7.1";
+  name = "kdevplatform-1.7.3";
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdevelop/4.7.1/src/${name}.tar.xz";
-    sha256 = "dfd8953aec204f04bd949443781aa0f6d9d58c40f73027619a168bb4ffc4b1ac";
+    url = "mirror://kde/stable/kdevelop/4.7.3/src/${name}.tar.bz2";
+    sha256 = "195134bde11672de38838f4b341ed28c58042374ca12beedacca9d30e6ab4a2b";
   };
 
-  patches = [(fetchpatch {
-    name = "svn-1.9.patch";
-    url = "https://git.reviewboard.kde.org/r/124783/diff/raw/";
-    sha256 = "1ixll5pvynb3l4znc65d82a5bj2s3c7c7is585s2wdpfzjgl5ay0";
-  })];
+  patches = [ ./gettext.patch ];
 
   propagatedBuildInputs = [ kdelibs qt4 phonon ];
   buildInputs = [ apr aprutil subversion boost qjson grantlee ];
 
   nativeBuildInputs = [ cmake automoc4 gettext pkgconfig ];
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
 
   meta = with stdenv.lib; {
     maintainers = [ maintainers.ambrop72 ];
@@ -31,5 +27,6 @@ stdenv.mkDerivation rec {
       IDE-like programs. It is programing-language independent, and is planned
       to be used by programs like: KDevelop, Quanta, Kile, KTechLab ... etc."
     '';
+    homepage = https://www.kdevelop.org;
   };
 }
diff --git a/pkgs/development/libraries/kdevplatform/gettext.patch b/pkgs/development/libraries/kdevplatform/gettext.patch
new file mode 100644
index 000000000000..733a542e0c8b
--- /dev/null
+++ b/pkgs/development/libraries/kdevplatform/gettext.patch
@@ -0,0 +1,8 @@
+diff -urN kdevplatform-1.7.3.orig/po/CMakeLists.txt kdevplatform-1.7.3/po/CMakeLists.txt
+--- kdevplatform-1.7.3.orig/po/CMakeLists.txt	2016-03-04 23:25:30.102112596 +0100
++++ kdevplatform-1.7.3/po/CMakeLists.txt	2016-03-04 23:26:06.242570024 +0100
+@@ -1,3 +1,4 @@
++cmake_policy(SET CMP0002 OLD)
+ find_package(Gettext REQUIRED)
+ if (NOT GETTEXT_MSGMERGE_EXECUTABLE)
+ MESSAGE(FATAL_ERROR "Please install msgmerge binary")
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
index a26d8094e396..d266a97535e6 100644
--- a/pkgs/development/libraries/ldb/default.nix
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ldb-1.1.23";
+  name = "ldb-1.1.26";
 
   src = fetchurl {
     url = "mirror://samba/ldb/${name}.tar.gz";
-    sha256 = "0ncmwgga6q9v7maiywgw21w6rb3149m1w2ca11yq8k5j0izjz2wg";
+    sha256 = "1rmjv12pf57vga8s5z9p9d90rlfckc1lqjbcp89r83cq5fkwfhw8";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 78b1eef2ccfc..b84b852691fd 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, yasm, bzip2, zlib
+{ stdenv, fetchurl, pkgconfig, yasm, bzip2, zlib, perl
 , mp3Support    ? true,   lame      ? null
 , speexSupport  ? true,   speex     ? null
 , theoraSupport ? true,   libtheora ? null
@@ -27,8 +27,7 @@ with { inherit (stdenv.lib) optional optionals; };
 let
   result = {
     libav_0_8 = libavFun "0.8.17" "31ace2daeb8c105deed9cd3476df47318d417714";
-    libav_9   = libavFun   "9.18" "e10cde4587c4d4d3bb11d30c7b47e953664cd714";
-    libav_11  = libavFun  "11.4"  "c2ab12102de187f2675a56b828b4a5e9136ab747";
+    libav_11  = libavFun  "11.6"  "2296cbd7afe98591eb164cebe436dcb5582efc9d";
   };
 
   libavFun = version : sha1 : stdenv.mkDerivation rec {
@@ -38,6 +37,9 @@ let
       url = "${meta.homepage}/releases/${name}.tar.xz";
       inherit sha1; # upstream directly provides sha1 of releases over https
     };
+
+    preConfigure = "patchShebangs doc/texi2pod.pl";
+
     configureFlags =
       assert stdenv.lib.all (x: x!=null) buildInputs;
     [
@@ -46,6 +48,7 @@ let
       "--enable-avplay"
       "--enable-shared"
       "--enable-runtime-cpudetect"
+      "--cc=cc"
     ]
       ++ optionals enableGPL [ "--enable-gpl" "--enable-swscale" ]
       ++ optional mp3Support "--enable-libmp3lame"
@@ -62,6 +65,7 @@ let
       ;
 
     buildInputs = [ pkgconfig lame yasm zlib bzip2 SDL ]
+      ++ [ perl ] # for install-man target
       ++ optional mp3Support lame
       ++ optional speexSupport speex
       ++ optional theoraSupport libtheora
@@ -80,8 +84,17 @@ let
     outputs = [ "dev" "out" "bin" ];
     setOutputFlags = false;
 
-    # move tools away to lighten runtime deps and size
-    postInstall = ''moveToOutput bin "$bin" '';
+    # alltools to build smaller tools, incl. aviocat, ismindex, qt-faststart, etc.
+    buildFlags = "all alltools install-man";
+
+    postInstall = ''
+      moveToOutput bin "$bin"
+      # alltools target compiles an executable in tools/ for every C
+      # source file in tools/, so move those to $out
+      for tool in $(find tools -type f -executable); do
+        mv "$tool" "$bin/bin/"
+      done
+    '';
 
     doInstallCheck = false; # fails randomly
     installCheckTarget = "check"; # tests need to be run *after* installation
@@ -103,10 +116,9 @@ let
       description = "A complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)";
       license = with licenses; if enableUnfree then unfree #ToDo: redistributable or not?
         else if enableGPL then gpl2Plus else lgpl21Plus;
-      platforms = platforms.linux;
+      platforms = with platforms; linux ++ darwin;
       maintainers = [ maintainers.vcunat ];
     };
   }; # libavFun
 
 in result
-
diff --git a/pkgs/development/libraries/libbrotli/default.nix b/pkgs/development/libraries/libbrotli/default.nix
new file mode 100644
index 000000000000..1e28b57dadf2
--- /dev/null
+++ b/pkgs/development/libraries/libbrotli/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchFromGitHub, autoconf, automake, libtool, brotliUnstable}:
+
+stdenv.mkDerivation rec {
+  name = "libbrotli-20160120";
+  version = "53d53e8";
+
+  src = fetchFromGitHub {
+    owner = "bagder";
+    repo = "libbrotli";
+    rev = "53d53e8d9c0d37398d37bac2e7a7aa20b0025e9e";
+    sha256 = "10r4nx6n1r54f5cjck5mmmsj7bkasnmmz7m84imhil45q73kzd4m";
+  };
+
+  buildInputs = [autoconf automake libtool];
+  preConfigure = ''
+    cp -r ${brotliUnstable.src}/* brotli/
+    chmod -R +700 brotli
+    mkdir m4
+    autoreconf --install --force --symlink
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Meta project to build libraries from the brotli source code";
+    longDescription = ''
+      Wrapper scripts and code around the brotli code base.
+      Builds libraries out of the brotli decode and encode sources. Uses autotools.
+      'brotlidec' is the library for decoding, decompression
+      'brotlienc' is the library for encoding, compression
+    '';
+
+    homepage = https://github.com/bagder/libbrotli;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [];
+  };
+}
diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix
index 16d9d8c75a46..de3f51752b9d 100644
--- a/pkgs/development/libraries/libclc/default.nix
+++ b/pkgs/development/libraries/libclc/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, python, llvm, clang }:
 
 stdenv.mkDerivation {
-  name = "libclc-2015-03-27";
+  name = "libclc-2015-08-07";
 
   src = fetchFromGitHub {
     owner = "llvm-mirror";
     repo = "libclc";
-    rev = "0a2d1619921545b52303be5608b64dc46f381e97";
-    sha256 = "0hgm013c0vlfqfbbf4cdajl01hhk1mhsfk4h4bfza1san97l0vcc";
+    rev = "f97d9db40718f2e68b3f0b44200760d8e0d50532";
+    sha256 = "10n9qk1dild9yjkjjkzpmp9zid3ysdgvqrad554azcf755frch7g";
   };
 
   buildInputs = [ python llvm clang ];
diff --git a/pkgs/development/libraries/libcli/default.nix b/pkgs/development/libraries/libcli/default.nix
index 1c247f6faa88..587e72409c45 100644
--- a/pkgs/development/libraries/libcli/default.nix
+++ b/pkgs/development/libraries/libcli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "libcli-${version}";
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec {
     owner = "dparrish";
   };
 
+  patches =
+    [ (fetchurl {
+        url = "https://github.com/dparrish/libcli/commit/ebc5a09db457ee1be9996711463cbbafe5ea72d5.patch";
+        sha256 = "0szjiw3gd7by1sv924shnngfxvc98xvaqvx228b575xq93xxjcwl";
+      })
+    ];
+
   enableParallelBuilding = true;
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/development/libraries/libcmis/default.nix b/pkgs/development/libraries/libcmis/default.nix
index 5535623298af..6e0007111bc4 100644
--- a/pkgs/development/libraries/libcmis/default.nix
+++ b/pkgs/development/libraries/libcmis/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, libxml2, pkgconfig, curl }:
+{ stdenv, fetchurl, boost, libxml2, pkgconfig, curl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "libcmis-${version}";
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8";
   };
 
-  buildInputs = [ boost libxml2 pkgconfig curl ];
+  patches = [ ./gcc5.patch ];
+
+  buildInputs = [ boost libxml2 pkgconfig curl autoreconfHook ];
   configureFlags = "--without-man --with-boost=${boost.dev} --disable-werror --disable-tests";
 
   # Cppcheck cannot find all the include files (use --check-config for details)
diff --git a/pkgs/development/libraries/libcmis/gcc5.patch b/pkgs/development/libraries/libcmis/gcc5.patch
new file mode 100644
index 000000000000..952f8e1abd70
--- /dev/null
+++ b/pkgs/development/libraries/libcmis/gcc5.patch
@@ -0,0 +1,39 @@
+diff -urN libcmis-0.5.0.org/m4/boost.m4 libcmis-0.5.0/m4/boost.m4
+--- libcmis-0.5.0.org/m4/boost.m4      2014-03-28 15:19:57.000000000 +0100
++++ libcmis-0.5.0/m4/boost.m4  2015-09-21 14:42:25.149565264 +0200
+@@ -68,7 +68,9 @@
+ dnl everything else.
+ dnl Cannot use 'dnl' after [$4] because a trailing dnl may break AC_CACHE_CHECK
+ (eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
++  grep -v '#' |
+   tr -d '\r' |
++  tr -s '\n' ' ' |
+   $SED -n -e "$1" >conftest.i 2>&1],
+   [$3],
+   [$4])
+@@ -201,7 +203,7 @@
+   AC_CACHE_CHECK([for Boost's header version],
+     [boost_cv_lib_version],
+     [m4_pattern_allow([^BOOST_LIB_VERSION$])dnl
+-     _BOOST_SED_CPP([/^boost-lib-version = /{s///;s/\"//g;p;g;}],
++     _BOOST_SED_CPP([[/^boost-lib-version = /{s///;s/[\" ]//g;p;q;}]],
+                     [#include <boost/version.hpp>
+ boost-lib-version = BOOST_LIB_VERSION],
+     [boost_cv_lib_version=`cat conftest.i`])])
+@@ -209,7 +211,7 @@
+     boost_major_version=`echo "$boost_cv_lib_version" | sed 's/_//;s/_.*//'`
+     case $boost_major_version in #(
+       '' | *[[!0-9]]*)
+-        AC_MSG_ERROR([invalid value: boost_major_version=$boost_major_version])
++        AC_MSG_ERROR([invalid value: boost_major_version='$boost_major_version'])
+         ;;
+     esac
+ fi
+@@ -930,6 +932,7 @@
+   # the same defines as GCC's).
+   # TODO: Move the test on GCC 4.4 up once it's released.
+   for i in \
++    _BOOST_gcc_test(5, 2) \
+     _BOOST_gcc_test(4, 3) \
+     _BOOST_gcc_test(4, 2) \
+     _BOOST_gcc_test(4, 1) \
diff --git a/pkgs/development/libraries/libcollectdclient/default.nix b/pkgs/development/libraries/libcollectdclient/default.nix
new file mode 100644
index 000000000000..f6d9d7ca69b8
--- /dev/null
+++ b/pkgs/development/libraries/libcollectdclient/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, collectd }:
+with stdenv.lib;
+
+overrideDerivation collectd (oldAttrs: {
+  name = "libcollectdclient-${collectd.version}";
+  buildInputs = [ ];
+
+  configureFlags = [
+    "--without-daemon"
+  ];
+
+  makeFlags = [
+    "-C src/libcollectdclient/"
+  ];
+
+}) // {
+  meta = with stdenv.lib; {
+    description = "C Library for collectd, a daemon which collects system performance statistics periodically";
+    homepage = http://collectd.org;
+    license = licenses.gpl2;
+    platforms = platforms.linux; # TODO: collectd may be linux but the C client may be more portable?
+    maintainers = [ maintainers.sheenobu maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 6a1f28c96ff6..b4b951325a40 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,6 +1,8 @@
-{stdenv, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
+{stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
   libxml2, sqlite, libusb1, zlib, sg3_utils, gdk_pixbuf, taglib,
-  libimobiledevice, python, pygobject, mutagen }:
+  libimobiledevice, python, pygobject, mutagen,
+  monoSupport ? true, mono, gtk-sharp
+}:
 
 stdenv.mkDerivation rec {
   name = "libgpod-0.8.3";
@@ -10,13 +12,19 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
-  configureFlags = "--without-hal --enable-udev";
+
+  configureFlags = [
+    "--without-hal"
+    "--enable-udev"
+  ] ++ lib.optionals monoSupport [ "--with-mono" ];
+
+  dontStrip = true;
 
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
     gdk_pixbuf taglib libimobiledevice python pygobject mutagen ];
 
   nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl
-    libimobiledevice.swig ];
+    libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp ];
 
   meta = {
     homepage = http://gtkpod.sourceforge.net/;
diff --git a/pkgs/development/libraries/libgsystem/default.nix b/pkgs/development/libraries/libgsystem/default.nix
index b37503df5d9d..eaf2eb170956 100644
--- a/pkgs/development/libraries/libgsystem/default.nix
+++ b/pkgs/development/libraries/libgsystem/default.nix
@@ -10,7 +10,6 @@ stdenv.mkDerivation {
     homepage    = "https://wiki.gnome.org/Projects/LibGSystem";
     license     = licenses.lgpl2Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 4db3913bdd2f..6d80bfdccf1f 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -15,11 +15,11 @@ in
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libinput-1.2.0";
+  name = "libinput-1.2.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "0b3f67xsy1s84cvzw22mjfkbcv6pj4p4yns4h3m0fmb7zqbvjm0p";
+    sha256 = "1hy1h0a4zx5wj23sah4kms2z0285yl0kcn4fqlrrp1gqax9qrnz2";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libmatheval/default.nix b/pkgs/development/libraries/libmatheval/default.nix
new file mode 100644
index 000000000000..7336e7d757a1
--- /dev/null
+++ b/pkgs/development/libraries/libmatheval/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, guile, autoconf, flex, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  version = "1.1.11";
+  name = "libmatheval-${version}";
+
+  nativeBuildInputs = [ autoconf flex ];
+  buildInputs = [ guile ];
+
+  src = fetchurl {
+    url = "http://ftp.gnu.org/gnu/libmatheval/${name}.tar.gz";
+    sha256 = "474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab";
+  };
+
+  # Patches coming from debian package
+  # https://packages.debian.org/source/sid/libs/libmatheval
+  patches = [ (fetchpatch {
+                url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/002-skip-docs.patch";
+                sha256 = "1nnkk9aw4jj6nql46zhwq6vx74zrmr1xq5ix0xyvpawhabhgjg62";
+              } )
+              (fetchpatch {
+                url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/003-guile2.0.patch";
+                sha256 = "1xgfw4finfvr20kjbpr4yl2djxmyr4lmvfa11pxirfvhrdi602qj";
+               } )
+              (fetchpatch {
+                url = "http://anonscm.debian.org/cgit/debian-science/packages/libmatheval.git/plain/debian/patches/disable_coth_test.patch";
+                sha256 = "0bai8jrd5azfz5afmjixlvifk34liq58qb7p9kb45k6kc1fqqxzm";
+               } )
+            ];
+  
+  meta = {
+    description = "A library to parse and evaluate symbolic expressions input as text";
+    longDescription = ''
+      GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic 
+      expressions input as text. It supports expressions in any number of variables of arbitrary 
+      names, decimal and symbolic constants, basic unary and binary operators, and elementary 
+      mathematical functions. In addition to parsing and evaluation, libmatheval can also compute 
+      symbolic derivatives and output expressions to strings.
+    '';
+    homepage = "https://www.gnu.org/software/libmatheval/";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.bzizou ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 2bc18a5a61da..b3d76b1c931f 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,29 +1,29 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, zlib }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.82";
+  version = "0.7.83";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "1mqmk1q2phwqwrak54jc9hfwjllhhr4nqyigisrh9rcvd6wx6r86";
+    sha256 = "0kl5x07j3jp5mnmhpjvdq0a2nnlgvqnhwar0xalvg3b3msdf8417";
   };
 
-  buildInputs = [ automake autoconf libtool pkgconfig libzen zlib ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libzen zlib ];
 
   sourceRoot = "./MediaInfoLib/Project/GNU/Library/";
 
   configureFlags = [ "--enable-shared" ];
-  preConfigure = "sh autogen.sh";
 
   postInstall = ''
     install -vD -m 644 libmediainfo.pc "$out/lib/pkgconfig/libmediainfo.pc"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Shared library for mediainfo";
     homepage = http://mediaarea.net/;
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.devhell ];
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.devhell ];
   };
 }
diff --git a/pkgs/development/libraries/libotr/3.2.nix b/pkgs/development/libraries/libotr/3.2.nix
deleted file mode 100644
index 7dd6226a6981..000000000000
--- a/pkgs/development/libraries/libotr/3.2.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{stdenv, fetchurl, libgcrypt}:
-
-stdenv.mkDerivation {
-  name = "libotr-3.2.1";
-  src = fetchurl {
-    url = http://www.cypherpunks.ca/otr/libotr-3.2.0.tar.gz;
-    sha256 = "14v6idnqpp2vhgir9bzp1ay2gmhqsb8iavrkwmallakfwch9sfyq";
-  };
-
-  propagatedBuildInputs = [libgcrypt];
-}
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index aeae2a70d6c3..0a01cd9825e2 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libgcrypt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "libotr-4.1.0";
+  name = "libotr-4.1.1";
 
   src = fetchurl {
     url = "https://otr.cypherpunks.ca/${name}.tar.gz";
-    sha256 = "0c6rkh58s6wqzcrpccwdik5qs91qj6dgd60a340d72gc80cqknsg";
+    sha256 = "1x8rliydhbibmzwdbyr7pd7n87m2jmxnqkpvaalnf4154hj1hfwb";
   };
 
   buildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 231216cbc698..74fc4270b80e 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -3,10 +3,10 @@
 
 let
 
-  listVersion = "2016-02-25";
+  listVersion = "2016-03-10";
   listSources = fetchFromGitHub {
-    sha256 = "0i9aa0bl3x50z0ba4n06pajpfncw8n780hhql13b1vppgfc6s4i7";
-    rev = "84fd7e2a090f53ba4378f2a0e08cdaaa882ce3e5";
+    sha256 = "10kc0b41y5cn0cnqvalz9i14j1dj6b9wgr21zz3ngqf943q6z5r9";
+    rev = "1e52b7efc42b1505f9580ec15a1d692523db4a3b";
     repo = "list";
     owner = "publicsuffix";
   };
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 8ef900493456..34eabfe64732 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
     [ "--with-threads" ]
     ++ stdenv.lib.optional withBdb "--with-bdb=${db}";
 
+  # Fix broken DT_NEEDED in lib/redland/librdf_storage_sqlite.so.
+  NIX_CFLAGS_LINK = "-lraptor2";
+
   meta = {
     homepage = http://librdf.org/;
   };
diff --git a/pkgs/development/libraries/libressl/2.3.nix b/pkgs/development/libraries/libressl/2.3.nix
index a87e599cbc07..962bb5472636 100644
--- a/pkgs/development/libraries/libressl/2.3.nix
+++ b/pkgs/development/libraries/libressl/2.3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libressl-${version}";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchurl {
     url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
-    sha256 = "0sm9cjjqvj581sfd4sh0i467sh8p89nq9b8ck2qn3war92p5zx40";
+    sha256 = "1a8anm8nsfyxds03csk738m2cmzjbsb867my1rz5ij3w31k32wvn";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index 610d14568ae5..1171fa079cf6 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -1,19 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, gnum4 }:
-
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gnum4 }:
+let
+  ver_maj = "2.6"; # odd major numbers are unstable
+  ver_min = "2";
+in
 stdenv.mkDerivation rec {
-  name = "libsigc++-2.3.1";
+  name = "libsigc++-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libsigc++/2.3/${name}.tar.xz";
-    sha256 = "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37";
+    url = "mirror://gnome/sources/libsigc++/${ver_maj}/${name}.tar.xz";
+    sha256 = "fdace7134c31de792c17570f9049ca0657909b28c4c70ec4882f91a03de54437";
   };
+  patches = [(fetchpatch {
+    url = "https://anonscm.debian.org/cgit/collab-maint/libsigc++-2.0.git/plain"
+      + "/debian/patches/0002-Enforce-c-11-via-pkg-config.patch?id=d451a4d195b1";
+    sha256 = "19g19473syp2z3kg8vdrli89lm9kcvaqajkqfmdig1vfpkbq0nci";
+  })];
 
-  buildInputs = [ pkgconfig gnum4 ];
+  nativeBuildInputs = [ pkgconfig gnum4 ];
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libsigc.sourceforge.net/;
     description = "A typesafe callback system for standard C++";
+    license = licenses.lgpl21;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libtoxcore/new-api/default.nix b/pkgs/development/libraries/libtoxcore/new-api/default.nix
index 1ccb1b9d5a3b..eff8e2449a13 100644
--- a/pkgs/development/libraries/libtoxcore/new-api/default.nix
+++ b/pkgs/development/libraries/libtoxcore/new-api/default.nix
@@ -2,13 +2,13 @@
 , libvpx, check, libconfig, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "tox-core-dev-20160131";
+  name = "tox-core-dev-20160319";
 
   src = fetchFromGitHub {
     owner  = "irungentoo";
     repo   = "toxcore";
-    rev    = "94cc8b11ff473064526737936f64b6f9a19c239d";
-    sha256 = "0njara08p5vmhs6kp04b7gxw8l6xrlmwnlb76n2g96v0rn0i9k2w";
+    rev    = "532629d486e3361c7d8d95b38293cc7d61dc4ee5";
+    sha256 = "0x8mjrjiafgia9vy7w4zhfzicr2fljx8xgm2ppi4kva2r2z1wm2f";
   };
 
   NIX_LDFLAGS = "-lgcc_s";
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index feb460f2e8bb..d2cb7223cbfa 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.gz";
-    sha256 = "ebcf5645fa565e3fe2fe94a86e841db9b768cf0e0a7e6cf395c6327f9a23bd64";
+    sha256 = "01fg9jbifndwc3jzzizsisvz98q325xarczgf6rn11hphckgrip3";
   };
 
   patches = [ ./build-on-bsd.patch ];
@@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
+    maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index d11e2ed94396..2bf7bbaabb31 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://xkbcommon.org/download/${name}.tar.xz";
-    sha1 = "z9dvxrkcyb4b7f2zybgkrqb9zcxrj9vi";
+    sha256 = "176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch";
   };
 
   outputs = [ "dev" "out" ];
@@ -25,4 +25,3 @@ stdenv.mkDerivation rec {
     homepage = http://xkbcommon.org;
   };
 }
-
diff --git a/pkgs/development/libraries/libxmp/default.nix b/pkgs/development/libraries/libxmp/default.nix
index 8aa8bf600a80..106fcee257f0 100644
--- a/pkgs/development/libraries/libxmp/default.nix
+++ b/pkgs/development/libraries/libxmp/default.nix
@@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl21Plus;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/libykneomgr/default.nix b/pkgs/development/libraries/libykneomgr/default.nix
index 035a291be291..c084cfb8116d 100644
--- a/pkgs/development/libraries/libykneomgr/default.nix
+++ b/pkgs/development/libraries/libykneomgr/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, pcsclite, libzip, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "libykneomgr-0.1.7";
+  name = "libykneomgr-0.1.8";
 
   src = fetchurl {
     url = "https://developers.yubico.com/libykneomgr/Releases/${name}.tar.gz";
-    sha256 = "0nlzl9g0gjb54h43gjhg8d25bq3m3s794cq671irpqkn94kj1knw";
+    sha256 = "12gqblz400kr11m1fdr1vvwr85lgy5v55zy0cf782whpk8lyyj97";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
index 127eeaeaca9e..23597c2e03b1 100644
--- a/pkgs/development/libraries/libzen/default.nix
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -1,26 +1,25 @@
-{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig }:
+{ stdenv, fetchurl, autoreconfHook }:
 
-let version = "0.4.32"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  version = "0.4.33";
   name = "libzen-${version}";
   src = fetchurl {
-    url = "http://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
-    sha256 = "0rhbiaywij6jj8d7vkc4v7y21ic1kv9fbn9lk82mm12yjwzlhhyd";
+    url = "https://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
+    sha256 = "0py5iagajz6m5zh26svkjyy85k1dmyhi6cdbmc3cb56a4ix1k2d2";
   };
 
-  buildInputs = [ automake autoconf libtool pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook ];
   configureFlags = [ "--enable-shared" ];
 
   sourceRoot = "./ZenLib/Project/GNU/Library/";
 
   preConfigure = "sh autogen.sh";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Shared library for libmediainfo and mediainfo";
-    homepage = http://mediaarea.net/;
-    license = stdenv.lib.licenses.bsd2;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.devhell ];
+    homepage = https://mediaarea.net/;
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.devhell ];
   };
 }
diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix
index 0ea73a3a57f0..8d433461d0c5 100644
--- a/pkgs/development/libraries/mesa-glu/default.nix
+++ b/pkgs/development/libraries/mesa-glu/default.nix
@@ -7,6 +7,9 @@ stdenv.mkDerivation rec {
     url = "ftp://ftp.freedesktop.org/pub/mesa/glu/${name}.tar.bz2";
     sha256 = "04nzlil3a6fifcmb95iix3yl8mbxdl66b99s62yzq8m7g79x0yhz";
   };
+  postPatch = ''
+    echo 'Cflags: -I''${includedir}' >> glu.pc.in
+  '';
 
   buildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ mesa_noglu ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 523d4360bc41..ad6bf8ba3190 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -23,7 +23,7 @@ else
 with { inherit (stdenv.lib) optional optionalString; };
 
 let
-  version = "11.1.1";
+  version = "11.1.2";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
         + head (splitString "." version) + ''.x/${version}/mesa-${version}.tar.xz'')
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "087xlxl8dzmhzjilpsdiy19dn106spq120c9ndgnn4qlqm7hgnv4";
+    sha256 = "8f72aead896b340ba0f7a4a474bfaf71681f5d675592aec1cb7ba698e319148b";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/mono-addins/default.nix b/pkgs/development/libraries/mono-addins/default.nix
new file mode 100644
index 000000000000..e68661b44ec3
--- /dev/null
+++ b/pkgs/development/libraries/mono-addins/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, mono, gtk-sharp-2_0 }:
+
+stdenv.mkDerivation rec {
+  name = "mono-addins-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "mono-addins";
+
+    rev = "mono-addins-${version}";
+    sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ mono gtk-sharp-2_0 ];
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.mono-project.com/archived/monoaddins/;
+    description = "A generic framework for creating extensible applications";
+    longDescription = ''
+      Mono.Addins is a generic framework for creating extensible applications,
+      and for creating libraries which extend those applications.
+    '';
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/mono-zeroconf/default.nix b/pkgs/development/libraries/mono-zeroconf/default.nix
new file mode 100644
index 000000000000..12b15c4937d7
--- /dev/null
+++ b/pkgs/development/libraries/mono-zeroconf/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, autoreconfHook, which, pkgconfig, mono }:
+
+stdenv.mkDerivation rec {
+  name = "mono-zeroconf-${version}";
+  version = "0.9.0";
+
+  src = fetchurl {
+    url = "http://download.banshee-project.org/mono-zeroconf/mono-zeroconf-${version}.tar.bz2";
+    sha256 = "1qfp4qvsx7rc2shj1chi2y7fxn10rwi70rw2y54b2i8a4jq7gpkb";
+  };
+
+  buildInputs = [ pkgconfig which mono ];
+
+  dontStrip = true;
+
+  configureFlags = [ "--disable-docs" ];
+
+  meta = with stdenv.lib; {
+    description = "A cross platform Zero Configuration Networking library for Mono and .NET";
+    homepage = http://www.mono-project.com/archived/monozeroconf/;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/netcdf-fortran/default.nix b/pkgs/development/libraries/netcdf-fortran/default.nix
new file mode 100644
index 000000000000..e72155554753
--- /dev/null
+++ b/pkgs/development/libraries/netcdf-fortran/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, netcdf, hdf5, curl, gfortran }:
+stdenv.mkDerivation rec {
+  name = "netcdf-fortran-${version}";
+  version = "4.4.3";
+
+  src = fetchurl {
+    url = "https://github.com/Unidata/netcdf-fortran/archive/v${version}.tar.gz";
+    sha256 = "4170fc018c9ee8222e317215c6a273542623185f5f6ee00d37bbb4e024e4e998";
+  };
+
+  buildInputs = [ netcdf hdf5 curl gfortran ];
+  doCheck = true;
+
+  meta = {
+    description = "Fortran API to manipulate netcdf files";
+    homepage = "http://www.unidata.ucar.edu/software/netcdf/";
+    license = stdenv.lib.licenses.free;
+    maintainers = stdenv.lib.maintainers.bzizou;
+  };
+}
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 01248e3e27a7..e6f76ce27ea7 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -34,12 +34,12 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${prefix}nghttp2-${version}";
-  version = "1.7.1";
+  version = "1.8.0";
 
   # Don't use fetchFromGitHub since this needs a bootstrap curl
   src = fetchurl {
     url = "http://http.debian.net/debian/pool/main/n/nghttp2/nghttp2_${version}.orig.tar.bz2";
-    sha256 = "0nbrww5gyjn4il33wz5b4sql5nifi12y2jbkmfbvxwlxlywm48kf";
+    sha256 = "10xz3s624w208pr9xgm4ammc8bc5mi17vy4357hjfd5vmmp5m8b0";
   };
 
   # Configure script searches for a symbol which does not exist in jemalloc on Darwin
diff --git a/pkgs/development/libraries/notify-sharp/default.nix b/pkgs/development/libraries/notify-sharp/default.nix
new file mode 100644
index 000000000000..c7e133d94b23
--- /dev/null
+++ b/pkgs/development/libraries/notify-sharp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+, mono, gtk-sharp-3_0, dbus-sharp-1_0, dbus-sharp-glib-1_0 }:
+
+stdenv.mkDerivation rec {
+  name = "notify-sharp-${version}";
+  version = "3.0.3";
+
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "notify-sharp";
+
+    rev = "${version}";
+    sha256 = "1vm7mnmxdwrgy4mr07lfva8sa6a32f2ah5x7w8yzcmahaks3sj5m";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig autoreconfHook
+  ];
+
+  buildInputs = [
+    mono gtk-sharp-3_0
+    dbus-sharp-1_0 dbus-sharp-glib-1_0
+  ];
+
+  dontStrip = true;
+
+  postPatch = ''
+    sed -i 's#^[ \t]*DOCDIR=.*$#DOCDIR=$out/lib/monodoc#' ./configure.ac
+  '';
+
+  meta = with stdenv.lib; {
+    description = "D-Bus for .NET";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 9a1b5e313452..726b5d7b29af 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.11"; in
+let version = "4.12"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "cb320a9eee7028275ac0fce7adc39dee36f14f02fd8432fce1b7e1aa5e3685c2";
+    sha256 = "1pk98bmc5xzbl62q5wf2d6mryf0v95z6rsmxz27nclwiaqg0mcg0";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch
index 3e51e2908873..632cc418425c 100644
--- a/pkgs/development/libraries/nss/85_security_load.patch
+++ b/pkgs/development/libraries/nss/85_security_load.patch
@@ -1,7 +1,8 @@
-diff -ru nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c nss-3.16/nss/cmd/shlibsign/shlibsign.c
---- nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c	2014-03-14 21:31:59.000000000 +0100
-+++ nss-3.16/nss/cmd/shlibsign/shlibsign.c	2014-04-22 14:50:31.340743655 +0200
-@@ -852,6 +852,8 @@
+diff --git a/nss/cmd/shlibsign/shlibsign.c b/nss/cmd/shlibsign/shlibsign.c
+index 63a4836..a128c1d 100644
+--- a/nss/cmd/shlibsign/shlibsign.c
++++ b/nss/cmd/shlibsign/shlibsign.c
+@@ -862,6 +862,8 @@ int main(int argc, char **argv)
      libname = PR_GetLibraryName(NULL, "softokn3");
      assert(libname != NULL);
      lib = PR_LoadLibrary(libname);
@@ -10,21 +11,22 @@ diff -ru nss-3.16-orig/nss/cmd/shlibsign/shlibsign.c nss-3.16/nss/cmd/shlibsign/
      assert(lib != NULL);
      PR_FreeLibraryName(libname);
  
-Only in nss-3.16/nss/cmd/shlibsign: shlibsign.c.orig
-diff -ru nss-3.16-orig/nss/coreconf/config.mk nss-3.16/nss/coreconf/config.mk
---- nss-3.16-orig/nss/coreconf/config.mk	2014-03-14 21:31:59.000000000 +0100
-+++ nss-3.16/nss/coreconf/config.mk	2014-04-22 14:50:51.302731097 +0200
-@@ -188,3 +188,6 @@
- 
- # Hide old, deprecated, TLS cipher suite names when building NSS
- DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES
+diff --git a/nss/coreconf/config.mk b/nss/coreconf/config.mk
+index 61d757b..b58a98b 100644
+--- a/nss/coreconf/config.mk
++++ b/nss/coreconf/config.mk
+@@ -205,3 +205,6 @@ $(error Setting NSS_ENABLE_TLS_1_3 and NSS_DISABLE_ECC isn't a good idea.)
+ endif
+ DEFINES += -DNSS_ENABLE_TLS_1_3
+ endif
 +
 +# Nix specific stuff.
 +DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\"
-diff -ru nss-3.16-orig/nss/lib/pk11wrap/pk11load.c nss-3.16/nss/lib/pk11wrap/pk11load.c
---- nss-3.16-orig/nss/lib/pk11wrap/pk11load.c	2014-03-14 21:31:59.000000000 +0100
-+++ nss-3.16/nss/lib/pk11wrap/pk11load.c	2014-04-22 14:50:22.164749330 +0200
-@@ -406,6 +406,13 @@
+diff --git a/nss/lib/pk11wrap/pk11load.c b/nss/lib/pk11wrap/pk11load.c
+index 5c5d2ca..026e528 100644
+--- a/nss/lib/pk11wrap/pk11load.c
++++ b/nss/lib/pk11wrap/pk11load.c
+@@ -429,6 +429,13 @@ secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule) {
  	 * unload the library if anything goes wrong from here on out...
  	 */
  	library = PR_LoadLibrary(mod->dllName);
@@ -38,10 +40,11 @@ diff -ru nss-3.16-orig/nss/lib/pk11wrap/pk11load.c nss-3.16/nss/lib/pk11wrap/pk1
  	mod->library = (void *)library;
  
  	if (library == NULL) {
-diff -ru nss-3.16-orig/nss/lib/util/secload.c nss-3.16/nss/lib/util/secload.c
---- nss-3.16-orig/nss/lib/util/secload.c	2014-03-14 21:31:59.000000000 +0100
-+++ nss-3.16/nss/lib/util/secload.c	2014-04-22 14:50:31.342743654 +0200
-@@ -69,9 +69,14 @@
+diff --git a/nss/lib/util/secload.c b/nss/lib/util/secload.c
+index eb8a9ec..f94f67d 100644
+--- a/nss/lib/util/secload.c
++++ b/nss/lib/util/secload.c
+@@ -69,9 +69,14 @@ loader_LoadLibInReferenceDir(const char *referencePath, const char *name)
  
      /* Remove the trailing filename from referencePath and add the new one */
      c = strrchr(referencePath, PR_GetDirectorySeparator());
@@ -57,7 +60,7 @@ diff -ru nss-3.16-orig/nss/lib/util/secload.c nss-3.16/nss/lib/util/secload.c
          if (fullName) {
              memcpy(fullName, referencePath, referencePathSize);
              strcpy(fullName + referencePathSize, name); 
-@@ -81,6 +86,11 @@
+@@ -81,6 +86,11 @@ loader_LoadLibInReferenceDir(const char *referencePath, const char *name)
  #endif
              libSpec.type = PR_LibSpec_Pathname;
              libSpec.value.pathname = fullName;
@@ -69,7 +72,7 @@ diff -ru nss-3.16-orig/nss/lib/util/secload.c nss-3.16/nss/lib/util/secload.c
              dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL
  #ifdef PR_LD_ALT_SEARCH_PATH
              /* allow library's dependencies to be found in the same directory
-@@ -88,6 +98,10 @@
+@@ -88,6 +98,10 @@ loader_LoadLibInReferenceDir(const char *referencePath, const char *name)
                                            | PR_LD_ALT_SEARCH_PATH 
  #endif
                                            );
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index a06d898d5572..fc5bffe6b740 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.22";
+  version = "3.23";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_22_RTM/src/${name}.tar.gz";
-    sha256 = "30ebd121c77e725a1383618eff79a6752d6e9f0f21882ad825ddab12e7227611";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_23_RTM/src/${name}.tar.gz";
+    sha256 = "1kqidv91icq96m9m8zx50n7px08km2l88458rkgyjwcn3kiq7cwl";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/ocl-icd/default.nix b/pkgs/development/libraries/ocl-icd/default.nix
new file mode 100644
index 000000000000..ac26ac7126fd
--- /dev/null
+++ b/pkgs/development/libraries/ocl-icd/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, ruby }:
+
+stdenv.mkDerivation rec {
+  name = "ocl-icd-2.2.9";
+
+  src = fetchurl {
+    url = "https://forge.imag.fr/frs/download.php/716/${name}.tar.gz";
+    sha256 = "1rgaixwnxmrq2aq4kcdvs0yx7i6krakarya9vqs7qwsv5hzc32hc";
+  };
+
+  buildInputs = [ ruby ];
+
+  meta = with stdenv.lib; {
+    description = "OpenCL ICD Loader";
+    homepage    = https://forge.imag.fr/projects/ocl-icd/;
+    license     = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index 51782449a252..89d694cc497c 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -8,11 +8,11 @@
 , nvidia_cg_toolkit }:
 
 stdenv.mkDerivation {
-  name = "ogre-1.9.0";
+  name = "ogre-1.9-hg-20160322";
 
   src = fetchurl {
-     url = "https://bitbucket.org/sinbad/ogre/get/v1-9-0.tar.gz";
-     sha256 = "0p8gyn293qn3iyiy1smfmjd9zpnjb8h2zgvff8778fwh0ylbmlpa";
+     url = "https://bitbucket.org/sinbad/ogre/get/v1-9.tar.gz";
+     sha256 = "0w3argjy1biaxwa3c80zxxgll67wjp8czd83p87awlcvwzdk5mz9";
   };
 
   cmakeFlags = [ "-DOGRE_INSTALL_SAMPLES=yes" ]
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index 03cfbc8fabdd..3c4cd8bb6c8d 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
   meta = {
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.urkud ];
+    broken = true; # doesn't build with GCC 5; fix in GitHub
   };
 }
diff --git a/pkgs/development/libraries/opencl-headers/default.nix b/pkgs/development/libraries/opencl-headers/default.nix
new file mode 100644
index 000000000000..9b931894f66f
--- /dev/null
+++ b/pkgs/development/libraries/opencl-headers/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "opencl-headers-2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "OpenCL-Headers";
+    rev = "c1770dcc6cf1daadec1905e7393f3691c1dde200";
+    sha256 = "0m9fkblqja0686i2jjqiszvq3df95gp01a2674xknlmkd6525rck";
+  };
+
+  installPhase = ''
+    mkdir -p $out/include/CL
+    cp * $out/include/CL
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Khronos OpenCL headers";
+    homepage = https://www.khronos.org/registry/cl/;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix
index 89176c10843e..7f9c3803896b 100644
--- a/pkgs/development/libraries/opencsg/default.nix
+++ b/pkgs/development/libraries/opencsg/default.nix
@@ -13,6 +13,10 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
+  preConfigure = ''
+    sed -i 's/^\(LIBS *=.*\)$/\1 -lX11/' example/Makefile
+  '';
+
   installPhase = ''
     mkdir -pv "$out/"{bin,share/doc/opencsg}
 
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 1862e633ad50..18dc2251013e 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gfortran, perl
+{stdenv, fetchurl, gfortran, perl, libibverbs
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
     sha256 = "14p4px9a3qzjc22lnl6braxrcrmd9rgmy7fh4qpanawn2pgfq6br";
   };
 
-  buildInputs = [ gfortran ];
+  buildInputs = [ gfortran libibverbs ];
 
   nativeBuildInputs = [ perl ];
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 5fa9556b3f1d..1e0f419c5f73 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -5,7 +5,7 @@ with stdenv.lib;
 
 let
 
-  opensslCrossSystem = stdenv.cross.openssl.system or 
+  opensslCrossSystem = stdenv.cross.openssl.system or
     (throw "openssl needs its platform name cross building");
 
   common = { version, sha256 }: stdenv.mkDerivation rec {
@@ -105,13 +105,13 @@ let
 in {
 
   openssl_1_0_1 = common {
-    version = "1.0.1r";
-    sha256 = "0iik7a3b0mrfrxzngdf7ywfscg9inbw77y0jp2ccw0gdap9xhjvq";
+    version = "1.0.1s";
+    sha256 = "e7e81d82f3cd538ab0cdba494006d44aab9dd96b7f6233ce9971fb7c7916d511";
   };
 
-  openssl_1_0_2 = lowPrio (common {
-    version = "1.0.2f";
-    sha256 = "932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c";
-  });
+  openssl_1_0_2 = common {
+    version = "1.0.2g";
+    sha256 = "b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33";
+  };
 
 }
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index 91ebc7cc6618..c9bf9a725030 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation {
-  name = "opensubdiv-3.0.3";
+  name = "opensubdiv-3.0.4";
 
   src = fetchFromGitHub {
     owner = "PixarAnimationStudios";
     repo = "OpenSubdiv";
-    rev = "v3_0_3";
-    sha256 = "1pd7xsz4lx5l2hdixfgqx9yijchw108wqkvxj78rbblkkawvqhmx";
+    rev = "v3_0_4";
+    sha256 = "14ylpzk4121gi3fl02dwmqjp5sbaqpkm4gd0lh6jijccdih0xsc0";
   };
 
   patches =
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 3905d69e8d72..c4456035cca2 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -2,6 +2,8 @@
 , libintlOrEmpty, gobjectIntrospection
 }:
 
+with stdenv.lib;
+
 let
   ver_maj = "1.38";
   ver_min = "1";
@@ -29,6 +31,8 @@ stdenv.mkDerivation rec {
   # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst
   # FAIL: testiter
 
+  configureFlags = optional stdenv.isDarwin "--without-x";
+
   meta = with stdenv.lib; {
     description = "A library for laying out and rendering of text, with an emphasis on internationalization";
 
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index f71c52e670bf..c13af349d43e 100644
--- a/pkgs/development/libraries/pangomm/default.nix
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm, libpng, cairo }:
+{ stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm }:
 
 let
-  ver_maj = "2.34";
-  ver_min = "0";
+  ver_maj = "2.38";
+  ver_min = "1";
 in
 stdenv.mkDerivation rec {
   name = "pangomm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pangomm/${ver_maj}/${name}.tar.xz";
-    sha256 = "0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf";
+    sha256 = "effb18505b36d81fc32989a39ead8b7858940d0533107336a30bc3eef096bc8b";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pango glibmm cairomm libpng cairo ];
+  propagatedBuildInputs = [ pango glibmm cairomm ];
+
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "C++ interface to the Pango text rendering library";
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index e32b8b344267..7dc6c32a8dbe 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -5,6 +5,7 @@ let
   name = "suitesparse-${version}";
 
   int_t = if openblas.blas64 then "int64_t" else "int32_t";
+  SHLIB_EXT = if stdenv.isDarwin then "dylib" else "so";
 in
 stdenv.mkDerivation {
   inherit name;
@@ -23,6 +24,10 @@ stdenv.mkDerivation {
         -e 's/METIS_PATH .*$/METIS_PATH =/' \
         -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
         -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
+  ''
+  + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/'
   '';
 
   makeFlags = [
@@ -33,7 +38,7 @@ stdenv.mkDerivation {
     "LAPACK="
   ];
 
-  NIX_CFLAGS = "-fPIC";
+  NIX_CFLAGS = "-fPIC" + stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
 
   postInstall = ''
     # Build and install shared library
@@ -42,10 +47,10 @@ stdenv.mkDerivation {
         for i in "$out"/lib/lib*.a; do
           ar -x $i
         done
-        gcc *.o --shared -o "$out/lib/libsuitesparse.so" -lopenblas
+        ''${CC} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse.${SHLIB_EXT}" -lopenblas
     )
     for i in umfpack cholmod amd camd colamd spqr; do
-      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
+      ln -s libsuitesparse.${SHLIB_EXT} "$out"/lib/lib$i.${SHLIB_EXT}
     done
 
     # Install documentation
diff --git a/pkgs/development/libraries/sdformat/3.nix b/pkgs/development/libraries/sdformat/3.nix
new file mode 100644
index 000000000000..116f248b3b4e
--- /dev/null
+++ b/pkgs/development/libraries/sdformat/3.nix
@@ -0,0 +1,7 @@
+{ stdenv, fetchurl, callPackage, ... } @ args:
+
+callPackage ./default.nix (args // rec {
+  version = "3.7.0";
+  srchash-sha256 = "07kn8bgvj9mwwinsp2cbmz11z7zw2lgnj61mi1gi1pjg7q9in98q";
+})
+
diff --git a/pkgs/development/libraries/sdformat/default.nix b/pkgs/development/libraries/sdformat/default.nix
new file mode 100644
index 000000000000..0245b47815e5
--- /dev/null
+++ b/pkgs/development/libraries/sdformat/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, cmake, boost, ruby_1_9, ignition, tinyxml
+  , name ? "sdformat-${version}"
+  , version ? "4.0.0" # versions known to work with this expression include 3.7.0
+  , srchash-sha256 ? "b0f94bb40b0d83e35ff250a7916fdfd6df5cdc1e60c47bc53dd2da5e2378163e"
+  , ...
+  }:
+
+let 
+  ruby = ruby_1_9;
+in
+stdenv.mkDerivation rec {
+  src = fetchurl { 
+      url = "http://osrf-distributions.s3.amazonaws.com/sdformat/releases/${name}.tar.bz2";
+      sha256 = srchash-sha256;
+  };
+
+  inherit name;
+
+  enableParallelBuilding = true;
+  buildInputs = [
+    cmake boost ruby ignition.math2 tinyxml
+  ];
+}
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index 83f64d1eb009..4e23a36939de 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, pkgconfig, freetype, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.4";
+  version = "1.3.6";
   name = "graphite2-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/silgraphite/graphite2/${name}.tgz";
-    sha256 = "00xhv1mp640fr3wmdzwn4yz0g56jd4r9fb7b02mc1g19h0bdbhsb";
+    url = "https://github.com/silnrsi/graphite/releases/download/"
+      + "${version}/graphite-${version}.tgz";
+    sha256 = "0xdg6bc02bl8yz39l5i2skczfg17q4lif0qqan0dhvk0mibpcpj7";
   };
 
   buildInputs = [ pkgconfig freetype cmake ];
diff --git a/pkgs/development/libraries/sparsehash/default.nix b/pkgs/development/libraries/sparsehash/default.nix
index 1f9bbcbd18da..15b84363e020 100644
--- a/pkgs/development/libraries/sparsehash/default.nix
+++ b/pkgs/development/libraries/sparsehash/default.nix
@@ -1,17 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation {
-  name = "sparsehash-2.0.2";
+stdenv.mkDerivation rec {
+  name = "sparsehash-2.0.3";
 
-  src = fetchurl {
-    url = http://sparsehash.googlecode.com/files/sparsehash-2.0.2.tar.gz;
-    sha256 = "0z5qa1sbp6xx5qpdvrdjh185k5kj53sgb6h2qabw01sn2nkkkmif";
+  src = fetchFromGitHub {
+    owner = "sparsehash";
+    repo = "sparsehash";
+    rev = name;
+    sha256 = "0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na";
   };
 
   meta = with stdenv.lib; {
-    homepage = "http://code.google.com/p/sparsehash/";
+    homepage = http://code.google.com/p/sparsehash/;
     description = "An extremely memory-efficient hash_map implementation";
     platforms = platforms.all;
     license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 1a6238192734..feb5e5d30407 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert interactive -> readline != null && ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.9.2";
+  name = "sqlite-3.11.1";
 
   src = fetchurl {
-    url = "http://sqlite.org/2015/sqlite-autoconf-3090200.tar.gz";
-    sha1 = "dae1ae5297fece9671ae0c434a7ecd0cda09c76a";
+    url = "http://sqlite.org/2016/sqlite-autoconf-3110100.tar.gz";
+    sha1 = "c4b4dcd735a4daf5a2e2bb90f374484c8d4dad29";
   };
 
   outputs = [ "dev" "out" "bin" ];
diff --git a/pkgs/development/libraries/taglib-sharp/default.nix b/pkgs/development/libraries/taglib-sharp/default.nix
new file mode 100644
index 000000000000..6da524c23390
--- /dev/null
+++ b/pkgs/development/libraries/taglib-sharp/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, mono }:
+
+stdenv.mkDerivation rec {
+  name = "taglib-sharp-${version}";
+  version = "2.1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "mono";
+    repo = "taglib-sharp";
+
+    rev = "taglib-sharp-${version}";
+    sha256 = "12pk4z6ag8w7kj6vzplrlasq5lwddxrww1w1ya5ivxrfki15h5cp";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook which ];
+  buildInputs = [ mono ];
+
+  dontStrip = true;
+
+  configureFlags = [ "--disable-docs" ];
+
+  meta = with stdenv.lib; {
+    description = "Library for reading and writing metadata in media files";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index 441d9385f736..e3e579eefdb6 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -8,6 +8,7 @@ stdenv.mkDerivation rec {
     url = "http://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
     sha256 = "1y51c6rxk5qvmab98c8rnmrlyk27hnl248casvbq3cd93sav8vj9";
   };
+
   patches = let
     mkUrl = hash: "http://cgit.freedesktop.org/telepathy/telepathy-qt/patch/?id=" + hash;
     in [
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = "-DDESIRED_QT_VERSION=${builtins.substring 0 1 qtbase.version}";
 
   # should be removable after the next update
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=cpp" "-Wno-error=unused-but-set-variable" ];
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
 
   preBuild = ''
     NIX_CFLAGS_COMPILE+=" `pkg-config --cflags dbus-glib-1`"
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index 4b77ced250b5..95eb0255bdcb 100644
--- a/pkgs/development/libraries/tevent/default.nix
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tevent-0.9.26";
+  name = "tevent-0.9.28";
 
   src = fetchurl {
     url = "mirror://samba/tevent/${name}.tar.gz";
-    sha256 = "1gbh6d2m49j1v2hkaiyrh8bj02i5wxd4hqayzk2g44yyivbi8b16";
+    sha256 = "0a9ml52jjnzz7qg9z750mavlvs1yibjwrzy4yl55dc95j0vm7n84";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/tinyxml-2/default.nix b/pkgs/development/libraries/tinyxml-2/default.nix
new file mode 100644
index 000000000000..29fa2739f24d
--- /dev/null
+++ b/pkgs/development/libraries/tinyxml-2/default.nix
@@ -0,0 +1,11 @@
+{ stdenv, fetchurl, cmake }:
+let version = "3.0.0";
+in stdenv.mkDerivation rec {
+  name = "tinyxml-2-${version}";
+  src = fetchurl {
+    url = "https://github.com/leethomason/tinyxml2/archive/${version}.tar.gz";
+    sha256 = "0ispg7ngkry8vhzzawbq42y8gkj53xjipkycw0rkhh487ras32hj";
+  };
+
+  nativeBuildInputs = [ cmake ];
+}
diff --git a/pkgs/development/libraries/udunits/default.nix b/pkgs/development/libraries/udunits/default.nix
index 608900c85ade..a48f4487dd5d 100644
--- a/pkgs/development/libraries/udunits/default.nix
+++ b/pkgs/development/libraries/udunits/default.nix
@@ -3,17 +3,19 @@
 }:
 
 stdenv.mkDerivation rec {
-    name = "udunits-2.1.24";
+    name = "udunits-2.2.20";
     src = fetchurl {
         url = "ftp://ftp.unidata.ucar.edu/pub/udunits/${name}.tar.gz";
-        sha256 = "1l0fdsl55374w7fjyd1wdx474f3p265b6rw1lq269cii61ca8prf";
+        sha256 = "15fiv66ni6fmyz96k138vrjd7cx6ndxrj6c71pah18n69c0h42pi";
     };
 
-    buildInputs = [
-        bison flex expat file
-    ];
+    buildInputs = [ bison flex expat file ];
 
-    patches = [ ./configure.patch ];
-
-    MAGIC_CMD="${file}/bin/file";
+    meta = with stdenv.lib; {
+      homepage = http://www.unidata.ucar.edu/software/udunits/;
+      description = "A C-based package for the programatic handling of units of physical quantities";
+      license = licenses.bsdOriginal;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ pSub ];
+    };
 }
diff --git a/pkgs/development/libraries/unibilium/default.nix b/pkgs/development/libraries/unibilium/default.nix
index 369e271191f1..63bd86ca991a 100644
--- a/pkgs/development/libraries/unibilium/default.nix
+++ b/pkgs/development/libraries/unibilium/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "unibilium-${version}";
 
-  version = "1.1.2";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "mauke";
     repo = "unibilium";
     rev = "v${version}";
-    sha256 = "143j7qrqjxxmdf3yzhn6av2qwiyjjk4cnskkgz6ir2scjfd5gvja";
+    sha256 = "1qsw19irg70l29j7qv403f32l4rrzn53w7881a6h874j9gisl51s";
   };
 
   makeFlags = [ "PREFIX=$(out)" ]
@@ -20,5 +20,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A very basic terminfo library";
     license = licenses.lgpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/libraries/v8/generic.nix b/pkgs/development/libraries/v8/generic.nix
index 51637fe6dbd0..349b35549b60 100644
--- a/pkgs/development/libraries/v8/generic.nix
+++ b/pkgs/development/libraries/v8/generic.nix
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which ];
   buildInputs = [ readline python icu ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow";
+
   buildFlags = [
     "LINK=g++"
     "-C out"
@@ -48,6 +50,10 @@ stdenv.mkDerivation rec {
     "BUILDTYPE=Release"
   ];
 
+  postPatch = stdenv.lib.optionalString (!stdenv.cc.isClang) ''
+    sed -i build/standalone.gyp -e 's,-Wno-format-pedantic,,g'
+  '';
+
   enableParallelBuilding = true;
 
   installPhase = ''
diff --git a/pkgs/development/libraries/vc/default.nix b/pkgs/development/libraries/vc/default.nix
index f73f35a23768..e61c3a47ff12 100644
--- a/pkgs/development/libraries/vc/default.nix
+++ b/pkgs/development/libraries/vc/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "Library for multiprecision complex arithmetic with exact rounding";
     homepage = https://github.com/VcDevel/Vc;
     license = licenses.bsd3;
-    platforms = platforms.all;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/vxl/default.nix b/pkgs/development/libraries/vxl/default.nix
index e181ade4d6c4..725a0bdfceaf 100644
--- a/pkgs/development/libraries/vxl/default.nix
+++ b/pkgs/development/libraries/vxl/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  patches = [ ./gcc5.patch ];
+
   meta = {
     description = "C++ Libraries for Computer Vision Research and Implementation";
     homepage = http://vxl.sourceforge.net/;
diff --git a/pkgs/development/libraries/vxl/gcc5.patch b/pkgs/development/libraries/vxl/gcc5.patch
new file mode 100644
index 000000000000..4660f9e8f483
--- /dev/null
+++ b/pkgs/development/libraries/vxl/gcc5.patch
@@ -0,0 +1,15 @@
+https://lists.fedoraproject.org/pipermail/scm-commits/Week-of-Mon-20150216/1511118.html
+
+--- vxl-git4e07960/vcl/vcl_compiler.h~	2012-11-02 12:08:21.000000000 +0100
++++ vxl-git4e07960/vcl/vcl_compiler.h	2015-02-15 13:50:46.376329878 +0100
+@@ -119,6 +119,10 @@
+ #  else

+ #   define VCL_GCC_40

+ #  endif

++# elif (__GNUC__== 5)

++// pretend GCC 5 to be GCC 4

++#  define VCL_GCC_4

++#  define VCL_GCC_41

+ # else

+ #  error "Dunno about this gcc"

+ # endif

diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix
index 607c706fdb59..cc7644f742d5 100644
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ b/pkgs/development/libraries/webkitgtk/2.4.nix
@@ -4,9 +4,15 @@
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg
 , gst-plugins-base
 , withGtk2 ? false
-, enableIntrospection ? true
+, enableIntrospection ? !stdenv.isDarwin
+, enableCredentialStorage ? !stdenv.isDarwin
+, readline, libedit
 }:
 
+assert stdenv.isDarwin -> !enableIntrospection;
+assert stdenv.isDarwin -> !enableCredentialStorage;
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
   version = "2.4.9";
@@ -16,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = "http://webkitgtk.org/";
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = [ maintainers.iyzsong ];
+    maintainers = [];
   };
 
   src = fetchurl {
@@ -29,16 +35,32 @@ stdenv.mkDerivation rec {
   prePatch = ''
     patchShebangs Tools/gtk
   '';
-  patches = [ ./webcore-svg-libxml-cflags.patch ];
+  patches = [
+    ./webcore-svg-libxml-cflags.patch
+  ] ++ optionals stdenv.isDarwin [
+    ./impure-icucore.patch
+    ./quartz-webcore.patch
+    ./libc++.patch
+    ./plugin-none.patch
+  ];
 
   configureFlags = with stdenv.lib; [
     "--disable-geolocation"
     (optionalString enableIntrospection "--enable-introspection")
-  ] ++ stdenv.lib.optional withGtk2 [
+  ] ++ optional withGtk2 [
     "--with-gtk=2.0"
+  ] ++ optionals (withGtk2 || stdenv.isDarwin) [
     "--disable-webkit2"
+  ] ++ optionals stdenv.isDarwin [
+    "--disable-x11-target"
+    "--enable-quartz-target"
+    "--disable-web-audio"
+  ] ++ optionals (!enableCredentialStorage) [
+    "--disable-credential-storage"
   ];
 
+  NIX_CFLAGS_COMPILE = "-DU_NOEXCEPT=";
+
   dontAddDisableDepTrack = true;
 
   nativeBuildInputs = [
@@ -47,10 +69,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 wayland libwebp enchant
-    libxml2 libsecret libxslt
+    gtk2 libwebp enchant
+    libxml2 libxslt
     gst-plugins-base sqlite xorg.libXt
-  ];
+  ] ++ optionals enableCredentialStorage [
+    libsecret
+  ] ++ (if stdenv.isDarwin then [
+    readline libedit
+  ] else [
+    wayland
+  ]);
 
   propagatedBuildInputs = [
     libsoup harfbuzz/*icu in *.la*/
diff --git a/pkgs/development/libraries/webkitgtk/adding-libintl.patch b/pkgs/development/libraries/webkitgtk/adding-libintl.patch
new file mode 100644
index 000000000000..b6e8b073c9d4
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/adding-libintl.patch
@@ -0,0 +1,10 @@
+--- webkitgtk-2.10.4-orig/Source/WebKit2/CMakeLists.txt	2015-11-11 02:42:51.000000000 -0500
++++ webkitgtk-2.10.4/Source/WebKit2/CMakeLists.txt	2016-01-31 18:27:49.000000000 -0500
+@@ -738,6 +738,7 @@
+ set(WebKit2_LIBRARIES
+     JavaScriptCore
+     WebCore
++    intl
+ )
+ 
+ set(PluginProcess_LIBRARIES
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index a80beb1d8475..cf22eb3aadde 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -2,11 +2,13 @@
 , pkgconfig, gettext, gobjectIntrospection, libnotify
 , gtk2, gtk3, wayland, libwebp, enchant
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
-, enableGeoLocation ? true, geoclue2, sqlite, xorg
-, gst-plugins-base
+, enableGeoLocation ? false, geoclue2, sqlite, xorg
+, enableCredentialStorage ? !stdenv.isDarwin
+, gst-plugins-base, readline, libedit
 }:
 
 assert enableGeoLocation -> geoclue2 != null;
+assert stdenv.isDarwin -> !enableCredentialStorage;
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     platforms = platforms.linux;
     hydraPlatforms = [];
-    maintainers = with maintainers; [ iyzsong koral ];
+    maintainers = with maintainers; [ koral ];
   };
 
   preConfigure = "patchShebangs Tools";
@@ -29,16 +31,37 @@ stdenv.mkDerivation rec {
     sha256 = "0mghsbfnmmf6nsf7cb3ah76s77aigkzf3k6kw96wgh6all6jdy6v";
   };
 
-  patches = [ ./finding-harfbuzz-icu.patch
+  patches = [
+    ./finding-harfbuzz-icu.patch
     (fetchpatch {
       name = "glibc-isnan.patch";
       url = "http://trac.webkit.org/changeset/194518/trunk/Source/JavaScriptCore"
         + "/runtime/Options.cpp?format=diff&new=194518";
       sha256 = "0pzdv1zmlym751n9d310cx3yp752yzsc49cysbvgnrib4dh68nbm";
     })
-  ];
+  ] ++ optional stdenv.isDarwin ./adding-libintl.patch;
 
-  cmakeFlags = [ "-DPORT=GTK" "-DUSE_LIBHYPHEN=0" ];
+  cmakeFlags = [
+    "-DPORT=GTK"
+    "-DUSE_LIBHYPHEN=OFF"
+  ] ++ optionals (!enableCredentialStorage) [
+    "-DENABLE_CREDENTIAL_STORAGE=OFF"
+  ] ++ optionals (!enableGeoLocation) [
+    "-DENABLE_GEOLOCATION=OFF"
+  ] ++ optionals stdenv.isDarwin [
+    "-DENABLE_WEBKIT=ON"
+    "-DENABLE_X11_TARGET=OFF"
+    "-DENABLE_QUARTZ_TARGET=ON"
+    "-DENABLE_TOOLS=ON"
+    "-DENABLE_MINIBROWSER=ON"
+    "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
+    "-DENABLE_VIDEO=OFF"
+    "-DENABLE_WEB_AUDIO=OFF"
+    "-DENABLE_OPENGL=OFF"
+    "-DENABLE_INTROSPECTION=OFF"
+    "-DUSE_LIBNOTIFY=OFF"
+    "-DCMAKE_SHARED_LINKER_FLAGS=-L/path/to/nonexistent/folder"
+  ];
 
   # XXX: WebKit2 missing include path for gst-plugins-base.
   # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894
@@ -50,10 +73,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 wayland libwebp enchant libnotify
-    libxml2 libsecret libxslt harfbuzz libpthreadstubs
+    gtk2 libwebp enchant libnotify
+    libxml2 libxslt harfbuzz libpthreadstubs
     gst-plugins-base xorg.libXt
-  ] ++ optional enableGeoLocation geoclue2;
+  ] ++ optionals enableCredentialStorage [
+    libsecret
+  ] ++ (if stdenv.isDarwin then [
+    readline libedit
+  ] else [
+    wayland
+  ]) ++ optional enableGeoLocation geoclue2;
 
   propagatedBuildInputs = [
     libsoup gtk3
diff --git a/pkgs/development/libraries/webkitgtk/impure-icucore.patch b/pkgs/development/libraries/webkitgtk/impure-icucore.patch
new file mode 100644
index 000000000000..24bf690d8b8f
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/impure-icucore.patch
@@ -0,0 +1,12 @@
+diff -ru webkitgtk-2.4.9-orig/configure webkitgtk-2.4.9/configure
+--- webkitgtk-2.4.9-orig/configure	2016-02-02 13:23:22.000000000 -0500
++++ webkitgtk-2.4.9/configure	2016-02-02 13:24:13.000000000 -0500
+@@ -17715,7 +17715,7 @@
+ case "$host" in
+     *-*-darwin*)
+         UNICODE_CFLAGS="-I$srcdir/Source/JavaScriptCore/icu -I$srcdir/Source/WebCore/icu"
+-        UNICODE_LIBS="-licucore"
++        UNICODE_LIBS="/usr/lib/libicucore.dylib"
+         ;;
+     *-*-mingw*)
+ 
diff --git a/pkgs/development/libraries/webkitgtk/libc++.patch b/pkgs/development/libraries/webkitgtk/libc++.patch
new file mode 100644
index 000000000000..5a9df0ddae98
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/libc++.patch
@@ -0,0 +1,20 @@
+--- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
++++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-02 22:10:23.000000000 -0500
+@@ -23321,7 +23321,7 @@
+ 	$(WINMM_LIBS) \
+ 	-lm \
+ 	-lpthread \
+-	-lstdc++
++	-lc++
+ 
+ Programs_minidom_LDFLAGS = \
+ 	-no-install
+@@ -23344,7 +23344,7 @@
+ 	$(WINMM_LIBS) \
+ 	-lm \
+ 	-lpthread \
+-	-lstdc++
++	-lc++
+ 
+ Programs_LLIntOffsetsExtractor_LDFLAGS = \
+ 	-no-install
diff --git a/pkgs/development/libraries/webkitgtk/plugin-none.patch b/pkgs/development/libraries/webkitgtk/plugin-none.patch
new file mode 100644
index 000000000000..5e2b36bf62dd
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/plugin-none.patch
@@ -0,0 +1,38 @@
+--- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
++++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-08 00:27:10.000000000 -0500
+@@ -4799,6 +4799,8 @@
+ 	Source/WebCore/plugins/PluginViewBase.h \
+ 	Source/WebCore/plugins/PluginView.cpp \
+ 	Source/WebCore/plugins/PluginView.h \
++	Source/WebCore/plugins/PluginViewNone.cpp \
++	Source/WebCore/plugins/PluginPackageNone.cpp \
+ 	Source/WebCore/plugins/npapi.h \
+ 	Source/WebCore/plugins/npfunctions.h \
+ 	Source/WebCore/plugins/npruntime.h \
+@@ -6375,6 +6377,8 @@
+ 	Source/WebCore/plugins/libWebCore_la-PluginPackage.lo \
+ 	Source/WebCore/plugins/libWebCore_la-PluginStream.lo \
+ 	Source/WebCore/plugins/libWebCore_la-PluginView.lo \
++	Source/WebCore/plugins/libWebCore_la-PluginViewNone.lo \
++	Source/WebCore/plugins/libWebCore_la-PluginPackageNone.lo \
+ 	Source/WebCore/rendering/libWebCore_la-AutoTableLayout.lo \
+ 	Source/WebCore/rendering/libWebCore_la-BidiRun.lo \
+ 	Source/WebCore/rendering/libWebCore_la-break_lines.lo \
+@@ -10796,6 +10800,8 @@
+ 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProcessConnectionManager.lo \
+ 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProxy.lo \
+ 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginView.lo \
++	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginViewNone.lo \
++	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginPackageNone.lo \
+ 	Source/WebKit2/WebProcess/ResourceCache/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-WebResourceCacheManager.lo \
+ 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaImpl.lo \
+ 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaMap.lo \
+@@ -19503,6 +19509,8 @@
+ 	Source/WebCore/plugins/PluginViewBase.h \
+ 	Source/WebCore/plugins/PluginView.cpp \
+ 	Source/WebCore/plugins/PluginView.h \
++	Source/WebCore/plugins/PluginViewNone.cpp \
++	Source/WebCore/plugins/PluginPackageNone.cpp \
+ 	Source/WebCore/plugins/npapi.h \
+ 	Source/WebCore/plugins/npfunctions.h \
+ 	Source/WebCore/plugins/npruntime.h \
diff --git a/pkgs/development/libraries/webkitgtk/quartz-webcore.patch b/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
new file mode 100644
index 000000000000..a7bf859d6c62
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
@@ -0,0 +1,22 @@
+--- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.cpp	2016-02-02 13:23:23.000000000 -0500
++++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.cpp	2016-02-02 18:28:07.000000000 -0500
+@@ -839,7 +839,7 @@
+ #if defined(XP_MACOSX)
+     , m_contextRef(0)
+ #endif
+-#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
++#if defined(X11) && ENABLE(NETSCAPE_PLUGIN_API)
+     , m_hasPendingGeometryChange(true)
+     , m_drawable(0)
+     , m_visual(0)
+--- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.h	2016-02-02 13:23:23.000000000 -0500
++++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.h	2016-02-02 18:26:37.000000000 -0500
+@@ -378,7 +378,7 @@
+         void setNPWindowIfNeeded();
+ #endif
+ 
+-#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
++#if PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
+         bool m_hasPendingGeometryChange;
+         Pixmap m_drawable;
+         Visual* m_visual;
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 31ac49a2ce4d..3e534a8b955d 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "wolfssl-${version}";
-  version = "3.8.0";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}";
-    sha256 = "0vc2120a9gfxg3rv018ch1g84ia2cpplcqbpy8v6vpfb79rn1nf5";
+    sha256 = "0j4la9936jcy2fam1x5wplbslqa4zjnrk4wyipkbwz9m8cxg0n6v";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix
index 90cc1d995a5a..e023665f0701 100644
--- a/pkgs/development/libraries/wxGTK-2.8/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.8/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
-, gstreamer, gst_plugins_base, GConf
+, gstreamer, gst_plugins_base, GConf, libX11, cairo
 , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
   };
 
-  buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf ]
+  buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf libX11 cairo ]
     ++ optional withMesa mesa;
 
   nativeBuildInputs = [ pkgconfig ];
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     + optionalString withMesa "${mesa.out}/lib ";
 
   # Work around a bug in configure.
-  NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1";
+  NIX_CFLAGS_COMPILE = [ "-DHAVE_X11_XLIB_H=1" "-lX11" "-lcairo" ];
 
   preConfigure = "
     substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
index 08a5b567d47c..c41dc12bd2f1 100644
--- a/pkgs/development/libraries/x265/default.nix
+++ b/pkgs/development/libraries/x265/default.nix
@@ -16,14 +16,14 @@ in
 
 stdenv.mkDerivation rec {
   name = "x265-${version}";
-  version = "1.7";
+  version = "1.9";
 
   src = fetchurl {
     urls = [
       "http://get.videolan.org/x265/x265_${version}.tar.gz"
       "https://github.com/videolan/x265/archive/${version}.tar.gz"
     ];
-    sha256 = "18w3whmbjlalvysny51kdq9b228iwg3rdav4kmifazksvrm4yacq";
+    sha256 = "1j0mbcf10aj6zi1nxql45f9817jd2ndcpd7x123sjmyr7q9m8iiy";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 3d92dcf3e12b..b4c0a51f6ddc 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   doCheck = true;
 
+  # otherwise libxmlsec1-gnutls.so won't find libgcrypt.so, after #909
+  NIX_LDFLAGS = [ "-lgcrypt" ];
+
   postFixup = ''
     wrapProgram "$out/bin/xmlsec1" --prefix LD_LIBRARY_PATH ":" "$out/lib"
   '';
diff --git a/pkgs/development/libraries/xylib/default.nix b/pkgs/development/libraries/xylib/default.nix
index fe9b6c5c3ca4..030e2f0857bf 100644
--- a/pkgs/development/libraries/xylib/default.nix
+++ b/pkgs/development/libraries/xylib/default.nix
@@ -1,23 +1,21 @@
 { stdenv, fetchurl, boost, zlib, bzip2 }:
 
-let
-  name    = "xylib";
-  version = "1.3";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
+stdenv.mkDerivation rec {
+  name = "xylib-${version}";
+  version = "1.4";
 
   src = fetchurl {
     url = "https://github.com/wojdyr/xylib/releases/download/v${version}/${name}-${version}.tar.bz2";
     sha256 = "09j426qjbg3damch1hfw16j992kn2hj8gs4lpvqgfqdw61kvqivh";
   };
 
-  buildInputs = [boost zlib bzip2 ];
+  buildInputs = [ boost zlib bzip2 ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods";
-    license = "LGPL";
+    license = licenses.lgpl21;
     homepage = http://xylib.sourceforge.net/;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
   };
 }