summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/alembic/default.nix2
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix7
-rw-r--r--pkgs/development/libraries/db/CVE-2017-10140-4.8-cwd-db_config.patch11
-rw-r--r--pkgs/development/libraries/db/CVE-2017-10140-cwd-db_config.patch11
-rw-r--r--pkgs/development/libraries/db/db-4.8.nix2
-rw-r--r--pkgs/development/libraries/db/db-5.3.nix2
-rw-r--r--pkgs/development/libraries/db/db-6.0.nix2
-rw-r--r--pkgs/development/libraries/db/db-6.2.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix3
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix8
-rw-r--r--pkgs/development/libraries/geoclue/default.nix2
-rw-r--r--pkgs/development/libraries/giblib/default.nix16
-rw-r--r--pkgs/development/libraries/imlib2/default.nix4
-rw-r--r--pkgs/development/libraries/lame/default.nix8
-rw-r--r--pkgs/development/libraries/lame/gcc-4.9.patch33
-rw-r--r--pkgs/development/libraries/libarchive/CVE-2017-14166.patch36
-rw-r--r--pkgs/development/libraries/libarchive/CVE-2017-14502.patch28
-rw-r--r--pkgs/development/libraries/libarchive/default.nix5
-rw-r--r--pkgs/development/libraries/libav/default.nix3
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix19
-rw-r--r--pkgs/development/libraries/libid3tag/id3tag.pc2
-rw-r--r--pkgs/development/libraries/libmcs/default.nix19
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix2
-rw-r--r--pkgs/development/libraries/libtbb/default.nix30
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/pcre/CVE-2017-7186.patch52
-rw-r--r--pkgs/development/libraries/pcre/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix8
-rw-r--r--pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/tbb/default.nix29
-rw-r--r--pkgs/development/libraries/theft/default.nix29
-rw-r--r--pkgs/development/libraries/webkitgtk/2.18.nix (renamed from pkgs/development/libraries/webkitgtk/2.16.nix)13
-rw-r--r--pkgs/development/libraries/websocket++/default.nix11
-rw-r--r--pkgs/development/libraries/wlroots/default.nix35
-rw-r--r--pkgs/development/libraries/wlroots/libdrm.patch9
-rw-r--r--pkgs/development/libraries/wlroots/no-werror.patch10
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix6
37 files changed, 276 insertions, 199 deletions
diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix
index 4ab09f5bb1d5..bd540cdd5005 100644
--- a/pkgs/development/libraries/alembic/default.nix
+++ b/pkgs/development/libraries/alembic/default.nix
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec
 
   buildInputs = [ unzip cmake openexr hdf5 ];
 
-  sourceRoot = "${name}-src";
-
   enableParallelBuilding = true;
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 5dbf134cf450..68398e93764c 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, openssl, openldap, kerberos, db, gettext, pam, fixDarwinDylibNames, autoreconfHook, enableLdap ? false }:
+{ lib, stdenv, fetchurl, openssl, openldap, kerberos, db, gettext,
+  pam, fixDarwinDylibNames, autoreconfHook, fetchpatch, enableLdap ? false }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -21,6 +22,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
+    (fetchpatch { # CVE-2013-4122
+      url = "http://sourceforge.net/projects/miscellaneouspa/files/glibc217/cyrus-sasl-2.1.26-glibc217-crypt.diff";
+      sha256 = "05l7dh1w9d5fvzg0pjwzqh0fy4ah8y5cv6v67s4ssbq8xwd4pkf2";
+    })
   ] ++ lib.optional stdenv.isFreeBSD (
       fetchurl {
         url = "http://www.linuxfromscratch.org/patches/blfs/svn/cyrus-sasl-2.1.26-fixes-3.patch";
diff --git a/pkgs/development/libraries/db/CVE-2017-10140-4.8-cwd-db_config.patch b/pkgs/development/libraries/db/CVE-2017-10140-4.8-cwd-db_config.patch
new file mode 100644
index 000000000000..ed916fcf4d1f
--- /dev/null
+++ b/pkgs/development/libraries/db/CVE-2017-10140-4.8-cwd-db_config.patch
@@ -0,0 +1,11 @@
+--- a/env/env_open.c.old	2017-06-26 10:32:11.011419981 +0200
++++ b/env/env_open.c	2017-06-26 10:32:46.893721233 +0200
+@@ -473,7 +473,7 @@
+ 	env->db_mode = mode == 0 ? DB_MODE_660 : mode;
+ 
+ 	/* Read the DB_CONFIG file. */
+-	if ((ret = __env_read_db_config(env)) != 0)
++	if (env->db_home != NULL && (ret = __env_read_db_config(env)) != 0)
+ 		return (ret);
+ 
+ 	/*
diff --git a/pkgs/development/libraries/db/CVE-2017-10140-cwd-db_config.patch b/pkgs/development/libraries/db/CVE-2017-10140-cwd-db_config.patch
new file mode 100644
index 000000000000..652e962bbe18
--- /dev/null
+++ b/pkgs/development/libraries/db/CVE-2017-10140-cwd-db_config.patch
@@ -0,0 +1,11 @@
+--- db-5.3.28/src/env/env_open.c.old	2017-06-26 10:32:11.011419981 +0200
++++ db-5.3.28/src/env/env_open.c	2017-06-26 10:32:46.893721233 +0200
+@@ -473,7 +473,7 @@
+ 	env->db_mode = mode == 0 ? DB_MODE_660 : mode;
+ 
+ 	/* Read the DB_CONFIG file. */
+-	if ((ret = __env_read_db_config(env)) != 0)
++	if (env->db_home != NULL && (ret = __env_read_db_config(env)) != 0)
+ 		return (ret);
+ 
+ 	/*
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix
index bce91e5a9401..76e30e921ba1 100644
--- a/pkgs/development/libraries/db/db-4.8.nix
+++ b/pkgs/development/libraries/db/db-4.8.nix
@@ -3,7 +3,7 @@
 import ./generic.nix (args // rec {
   version = "4.8.30";
   sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
-  extraPatches = [ ./clang-4.8.patch ];
+  extraPatches = [ ./clang-4.8.patch ./CVE-2017-10140-4.8-cwd-db_config.patch ];
 
   drvArgs.hardeningDisable = [ "format" ];
   drvArgs.doCheck = false;
diff --git a/pkgs/development/libraries/db/db-5.3.nix b/pkgs/development/libraries/db/db-5.3.nix
index 066eca4e63d8..7894e4c73262 100644
--- a/pkgs/development/libraries/db/db-5.3.nix
+++ b/pkgs/development/libraries/db/db-5.3.nix
@@ -3,5 +3,5 @@
 import ./generic.nix (args // rec {
   version = "5.3.28";
   sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
-  extraPatches = [ ./clang-5.3.patch ];
+  extraPatches = [ ./clang-5.3.patch ./CVE-2017-10140-cwd-db_config.patch ];
 })
diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix
index b7c5667b883e..bafca3bd52d2 100644
--- a/pkgs/development/libraries/db/db-6.0.nix
+++ b/pkgs/development/libraries/db/db-6.0.nix
@@ -4,5 +4,5 @@ import ./generic.nix (args // rec {
   version = "6.0.20";
   sha256 = "00r2aaglq625y8r9xd5vw2y070plp88f1mb2gbq3kqsl7128lsl0";
   license = stdenv.lib.licenses.agpl3;
-  extraPatches = [ ./clang-6.0.patch ];
+  extraPatches = [ ./clang-6.0.patch ./CVE-2017-10140-cwd-db_config.patch ];
 })
diff --git a/pkgs/development/libraries/db/db-6.2.nix b/pkgs/development/libraries/db/db-6.2.nix
index f897e3744af1..96f7668aa903 100644
--- a/pkgs/development/libraries/db/db-6.2.nix
+++ b/pkgs/development/libraries/db/db-6.2.nix
@@ -4,5 +4,5 @@ import ./generic.nix (args // rec {
   version = "6.2.23";
   sha256 = "1isxx4jfmnh913jzhp8hhfngbk6dsg46f4kjpvvc56maj64jqqa7";
   license = stdenv.lib.licenses.agpl3;
-  extraPatches = [ ./clang-6.0.patch ];
+  extraPatches = [ ./clang-6.0.patch ./CVE-2017-10140-cwd-db_config.patch ];
 })
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 11d365159f80..b50025aa108a 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -411,7 +411,8 @@ stdenv.mkDerivation rec {
     ++ optionals isLinux [ alsaLib libraw1394 libv4l ]
     ++ optionals nvenc [ nvidia-video-sdk ]
     ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
-                                   MediaToolbox VideoDecodeAcceleration ];
+                                   MediaToolbox VideoDecodeAcceleration
+                                   libiconv ];
 
   # Build qt-faststart executable
   buildPhase = optional qtFaststartProgram ''make tools/qt-faststart'';
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
index 64d61d64bb63..483ee39c2da1 100644
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ b/pkgs/development/libraries/geoclue/2.0.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [
     pkgconfig intltool wrapGAppsHook
   ];
@@ -21,6 +23,8 @@ stdenv.mkDerivation rec {
      dbus dbus_glib avahi
    ] ++ optionals (!stdenv.isDarwin) [ modemmanager ];
 
+  propagatedBuildInputs = [ dbus dbus_glib glib glib_networking ];
+
   preConfigure = ''
      substituteInPlace configure --replace "-Werror" ""
   '';
@@ -35,7 +39,9 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl";
 
-  propagatedBuildInputs = [ dbus dbus_glib glib glib_networking ];
+  postInstall = ''
+    sed -i $dev/lib/pkgconfig/libgeoclue-2.0.pc -e "s|includedir=.*|includedir=$dev/include|"
+  '';
 
   meta = with stdenv.lib; {
     description = "Geolocation framework and some data providers";
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index f75290005391..ff65ca97eb74 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "15j619kvmdgj2hpma92mkxbzjvgn8147a7500zl3bap9g8bkylqg";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libxml2 gnome2.GConf libxslt glib_networking ];
 
diff --git a/pkgs/development/libraries/giblib/default.nix b/pkgs/development/libraries/giblib/default.nix
index 17847695f973..b166a69043e8 100644
--- a/pkgs/development/libraries/giblib/default.nix
+++ b/pkgs/development/libraries/giblib/default.nix
@@ -8,9 +8,25 @@ stdenv.mkDerivation rec {
     sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp";
   };
 
+  outputs = [ "out" "dev" ];
+  setOutputFlags = false;
+
+  preConfigure = ''
+    configureFlagsArray+=(
+      --includedir=$dev/include
+    )
+  '';
+
   buildInputs = [ xlibsWrapper ];
   propagatedBuildInputs = [ imlib2 ];
 
+  postFixup = ''
+    moveToOutput bin/giblib-config "$dev"
+
+    # Doesn't contain useful stuff
+    rm -rf $out/share/doc
+  '';
+
   meta = {
     homepage = http://linuxbrit.co.uk/giblib/;
     description = "wrapper library for imlib2, and other stuff";
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 8d26cabc9b54..54c70197af4d 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig
-, freetype
+, freetype, libid3tag
 , x11Support ? true, xlibsWrapper ? null }:
 
 with stdenv.lib;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0wm2q2xlkbm71k7mw2jyzbxgzylrkcj5yh6nq58w5gybhp98qs9z";
   };
 
-  buildInputs = [ libjpeg libtiff giflib libpng bzip2 freetype ]
+  buildInputs = [ libjpeg libtiff giflib libpng bzip2 freetype libid3tag ]
     ++ optional x11Support xlibsWrapper;
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
index b324494faff7..8ad7cb95a5d7 100644
--- a/pkgs/development/libraries/lame/default.nix
+++ b/pkgs/development/libraries/lame/default.nix
@@ -23,15 +23,13 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "lame-${version}";
-  version = "3.99.5";
+  version = "3.100";
 
   src = fetchurl {
     url = "mirror://sourceforge/lame/${name}.tar.gz";
-    sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14";
+    sha256 = "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx";
   };
 
-  patches = [ ./gcc-4.9.patch ];
-
   outputs = [ "out" "lib" "doc" ]; # a small single header
   outputMan = "out";
 
@@ -61,7 +59,7 @@ stdenv.mkDerivation rec {
     description = "A high quality MPEG Audio Layer III (MP3) encoder";
     homepage    = http://lame.sourceforge.net;
     license     = licenses.lgpl2;
-    maintainers = with maintainers; [ codyopel ];
+    maintainers = with maintainers; [ codyopel fpletz ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/lame/gcc-4.9.patch b/pkgs/development/libraries/lame/gcc-4.9.patch
deleted file mode 100644
index 59f8e00e4a8e..000000000000
--- a/pkgs/development/libraries/lame/gcc-4.9.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-fix sse optimizations build on 32-bit with gcc 4.9
-http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=351af417bae0d09bd5a3753d1237f03adf591933
-
-xmm_quantize_sub.c: In function 'init_xrpow_core_sse':
-xmm_quantize_sub.c:65:18: warning: SSE vector return without SSE enabled changes the ABI [-W
-psabi]
-     const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
-                  ^
-In file included from xmm_quantize_sub.c:37:0:
-/usr/lib/gcc/i686-w64-mingw32/4.9.0/include/xmmintrin.h:933:1: error: inlining failed in call to always_inline '_mm_loadu_ps': target specific option mismatch
- _mm_loadu_ps (float const *__P)
- ^
-xmm_quantize_sub.c:65:18: error: called from here
-     const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]);
-                  ^
---- lame/libmp3lame/vector/xmm_quantize_sub.c.orig	2014-06-08 12:16:19.455468042 -0700
-+++ lame/libmp3lame/vector/xmm_quantize_sub.c	2014-06-08 12:16:09.592356980 -0700
-@@ -35,6 +35,7 @@
- #ifdef HAVE_XMMINTRIN_H
- 
- #include <xmmintrin.h>
-+#pragma GCC target("sse")
- 
- typedef union {
-     int32_t _i_32[4]; /* unions are initialized by its first member */
-@@ -124,6 +125,7 @@
- }
- 
- 
-+#pragma GCC target("sse2")
- void
- fht_SSE2(FLOAT * fz, int n)
- {
diff --git a/pkgs/development/libraries/libarchive/CVE-2017-14166.patch b/pkgs/development/libraries/libarchive/CVE-2017-14166.patch
new file mode 100644
index 000000000000..b729ae41e0ad
--- /dev/null
+++ b/pkgs/development/libraries/libarchive/CVE-2017-14166.patch
@@ -0,0 +1,36 @@
+From fa7438a0ff4033e4741c807394a9af6207940d71 Mon Sep 17 00:00:00 2001
+From: Joerg Sonnenberger <joerg@bec.de>
+Date: Tue, 5 Sep 2017 18:12:19 +0200
+Subject: [PATCH] Do something sensible for empty strings to make fuzzers
+ happy.
+
+---
+ libarchive/archive_read_support_format_xar.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/libarchive/archive_read_support_format_xar.c b/libarchive/archive_read_support_format_xar.c
+index 7a22beb9d..93eeacc5e 100644
+--- a/libarchive/archive_read_support_format_xar.c
++++ b/libarchive/archive_read_support_format_xar.c
+@@ -1040,6 +1040,9 @@ atol10(const char *p, size_t char_cnt)
+ 	uint64_t l;
+ 	int digit;
+ 
++	if (char_cnt == 0)
++		return (0);
++
+ 	l = 0;
+ 	digit = *p - '0';
+ 	while (digit >= 0 && digit < 10  && char_cnt-- > 0) {
+@@ -1054,7 +1057,10 @@ atol8(const char *p, size_t char_cnt)
+ {
+ 	int64_t l;
+ 	int digit;
+-        
++
++	if (char_cnt == 0)
++		return (0);
++
+ 	l = 0;
+ 	while (char_cnt-- > 0) {
+ 		if (*p >= '0' && *p <= '7')
diff --git a/pkgs/development/libraries/libarchive/CVE-2017-14502.patch b/pkgs/development/libraries/libarchive/CVE-2017-14502.patch
new file mode 100644
index 000000000000..dad8a93a8a81
--- /dev/null
+++ b/pkgs/development/libraries/libarchive/CVE-2017-14502.patch
@@ -0,0 +1,28 @@
+From 5562545b5562f6d12a4ef991fae158bf4ccf92b6 Mon Sep 17 00:00:00 2001
+From: Joerg Sonnenberger <joerg@bec.de>
+Date: Sat, 9 Sep 2017 17:47:32 +0200
+Subject: [PATCH] Avoid a read off-by-one error for UTF16 names in RAR
+ archives.
+
+Reported-By: OSS-Fuzz issue 573
+---
+ libarchive/archive_read_support_format_rar.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
+index cbb14c32d..751de6979 100644
+--- a/libarchive/archive_read_support_format_rar.c
++++ b/libarchive/archive_read_support_format_rar.c
+@@ -1496,7 +1496,11 @@ read_header(struct archive_read *a, struct archive_entry *entry,
+         return (ARCHIVE_FATAL);
+       }
+       filename[filename_size++] = '\0';
+-      filename[filename_size++] = '\0';
++      /*
++       * Do not increment filename_size here as the computations below
++       * add the space for the terminating NUL explicitly.
++       */
++      filename[filename_size] = '\0';
+ 
+       /* Decoded unicode form is UTF-16BE, so we have to update a string
+        * conversion object for it. */
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index fb1faf8d1b1b..e0242802fd34 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
     sha256 = "1km0mzfl6in7l5vz9kl09a88ajx562rw93ng9h2jqavrailvsbgd";
   };
 
+  patches = [
+    ./CVE-2017-14166.patch
+    ./CVE-2017-14502.patch
+  ];
+
   outputs = [ "out" "lib" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 90d7583673a3..e348fe0fae28 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -27,8 +27,9 @@ let inherit (stdenv.lib) optional optionals hasPrefix; in
 
 let
   result = {
+    # e.g. https://libav.org/releases/libav-11.11.tar.xz.sha1
     libav_0_8 = libavFun "0.8.20" "0c7a2417c3a01eb74072691bb93ce802ae1be08f";
-    libav_11  = libavFun "11.10"  "38db6721ca8423682e4d614c170eccc33ba32e00";
+    libav_11  = libavFun "11.11"  "d7444fa4f135bdd7347cc962ab4b5228796b0f23";
     libav_12  = libavFun "12.2"   "3784b15f88076ca0ab8fb6b0377e975b83a5c9f5";
   };
 
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index b03d7643f0f3..a153001a9600 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -1,24 +1,33 @@
 {stdenv, fetchurl, writeText, zlib, gperf}:
 
 stdenv.mkDerivation rec {
-  version = "0.15.1b";
-
   name = "libid3tag-${version}";
+  version = "0.15.1b";
 
   src = fetchurl {
     url = mirror://sourceforge/mad/libid3tag-0.15.1b.tar.gz;
     sha256 = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151";
   };
 
+  outputs = [ "out" "dev" ];
+  setOutputFlags = false;
+
   propagatedBuildInputs = [ zlib gperf ];
 
   patches = [ ./debian-patches.patch ];
 
+  preConfigure = ''
+    configureFlagsArray+=(
+      --includedir=$dev/include
+    )
+  '';
+
   postInstall = ''
-    mkdir -p $out/lib/pkgconfig
-    cp ${./id3tag.pc} $out/lib/pkgconfig/id3tag.pc
-    substituteInPlace $out/lib/pkgconfig/id3tag.pc \
+    mkdir -p $dev/lib/pkgconfig
+    cp ${./id3tag.pc} $dev/lib/pkgconfig/id3tag.pc
+    substituteInPlace $dev/lib/pkgconfig/id3tag.pc \
       --subst-var-by out $out \
+      --subst-var-by dev $dev \
       --subst-var-by version "${version}"
   '';
 
diff --git a/pkgs/development/libraries/libid3tag/id3tag.pc b/pkgs/development/libraries/libid3tag/id3tag.pc
index 854f1783cae5..e3df7b3f9df0 100644
--- a/pkgs/development/libraries/libid3tag/id3tag.pc
+++ b/pkgs/development/libraries/libid3tag/id3tag.pc
@@ -1,7 +1,7 @@
 prefix=@out@
 exec_prefix=${prefix}
 libdir=${exec_prefix}/lib
-includedir=${exec_prefix}/include
+includedir=@dev@/include
 
 Name: libid3tag
 Description: ID3 tag manipulation library
diff --git a/pkgs/development/libraries/libmcs/default.nix b/pkgs/development/libraries/libmcs/default.nix
deleted file mode 100644
index a457adfed80f..000000000000
--- a/pkgs/development/libraries/libmcs/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libmowgli }:
-
-stdenv.mkDerivation rec {
-  name = "libmcs-0.7.2";
-  
-  src = fetchurl {
-    url = "http://distfiles.atheme.org/${name}.tbz2";
-    sha256 = "1knmgxrg2kxdlin8qyf6351943ldg8myllwf860af58x1wncxc74";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libmowgli ];
-  
-  meta = {
-    description = "A library and set of userland tools which abstract the storage of configuration settings away from userland applications";
-    homepage = http://www.atheme.org/projects/mcs.shtml;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 516005b874fc..7fa53fe162b2 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     (fetchurl {
-      name = "CVE-2017-9310.patch";
+      name = "CVE-2017-10790.patch";
       url = "https://git.savannah.gnu.org/gitweb/?p=libtasn1.git;a=patch;h=d8d805e1f2e6799bb2dff4871a8598dc83088a39";
       sha256 = "1v5w0dazp9qc2v7pc8b6g7s4dz5ak10hzrn35hx66q76yzrrzp7i";
     })
diff --git a/pkgs/development/libraries/libtbb/default.nix b/pkgs/development/libraries/libtbb/default.nix
deleted file mode 100644
index 1422f6c5ceb9..000000000000
--- a/pkgs/development/libraries/libtbb/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, tree }: 
-
-stdenv.mkDerivation rec {
-  name = "libtbb-${version}";
-  version = "2018_U1";
-
-  src = fetchFromGitHub {
-    owner = "01org";
-    repo = "tbb";
-    rev = "${version}";
-    sha256 = "1lygz07va6hsv2vlx9zwz5d2n81rxsdhmh0pqxgj8n1bvb1rp0qw";
-  };
-
-  buildInputs = [ tree ];
-
-  installPhase = ''
-    mkdir -p "$out"/usr/include "$out"/lib
-    install -m755 build/linux_*/*.so* "$out"/lib/
-    cp -a include/tbb "$out"/usr/include/
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = "https://www.threadingbuildingblocks.org/";
-    description = "High level abstract threading library";
-    platforms = platforms.unix;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ dizfer ];
-  };
-}
-
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 0fde0192726b..fe34a8bb88fa 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -66,7 +66,7 @@ let
 in
 
 let
-  version = "17.2.2";
+  version = "17.2.4";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -81,7 +81,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "10jplvxg7rlbp7569w08z0igwlsjjfb7q3n07zgfr8d5sr224lng";
+    sha256 = "0l75q9l4g15y66rqk2swqvj18qj60hpimv0f97jk44bfrpz0i92v";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/pcre/CVE-2017-7186.patch b/pkgs/development/libraries/pcre/CVE-2017-7186.patch
deleted file mode 100644
index e9e1997e47c9..000000000000
--- a/pkgs/development/libraries/pcre/CVE-2017-7186.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/pcre_internal.h	2016/05/21 13:34:44	1649
-+++ b/pcre_internal.h	2017/02/24 17:30:30	1688
-@@ -2772,6 +2772,9 @@
- extern const pcre_uint16 PRIV(ucd_stage2)[];
- extern const pcre_uint32 PRIV(ucp_gentype)[];
- extern const pcre_uint32 PRIV(ucp_gbtable)[];
-+#ifdef COMPILE_PCRE32
-+extern const ucd_record  PRIV(dummy_ucd_record)[];
-+#endif
- #ifdef SUPPORT_JIT
- extern const int         PRIV(ucp_typerange)[];
- #endif
-@@ -2780,9 +2783,15 @@
- /* UCD access macros */
- 
- #define UCD_BLOCK_SIZE 128
--#define GET_UCD(ch) (PRIV(ucd_records) + \
-+#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \
-         PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \
-         UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE])
-+        
-+#ifdef COMPILE_PCRE32
-+#define GET_UCD(ch) ((ch > 0x10ffff)? PRIV(dummy_ucd_record) : REAL_GET_UCD(ch))
-+#else
-+#define GET_UCD(ch) REAL_GET_UCD(ch)
-+#endif 
- 
- #define UCD_CHARTYPE(ch)    GET_UCD(ch)->chartype
- #define UCD_SCRIPT(ch)      GET_UCD(ch)->script
---- a/pcre_ucd.c	2014/06/19 07:51:39	1490
-+++ b/pcre_ucd.c	2017/02/24 17:30:30	1688
-@@ -38,6 +38,20 @@
- const pcre_uint32 PRIV(ucd_caseless_sets)[] = {0};
- #else
- 
-+/* If the 32-bit library is run in non-32-bit mode, character values
-+greater than 0x10ffff may be encountered. For these we set up a
-+special record. */
-+
-+#ifdef COMPILE_PCRE32
-+const ucd_record PRIV(dummy_ucd_record)[] = {{
-+  ucp_Common,    /* script */
-+  ucp_Cn,        /* type unassigned */
-+  ucp_gbOther,   /* grapheme break property */
-+  0,             /* case set */
-+  0,             /* other case */
-+  }};
-+#endif
-+
- /* When recompiling tables with a new Unicode version, please check the
- types in this structure definition from pcre_internal.h (the actual
- field names will be different):
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index d19410f735f9..e6055151301c 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -9,7 +9,7 @@ with stdenv.lib;
 assert elem variant [ null "cpp" "pcre16" "pcre32" ];
 
 let
-  version = "8.40";
+  version = "8.41";
   pname = if (variant == null) then "pcre"
     else  if (variant == "cpp") then "pcre-cpp"
     else  variant;
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${version}.tar.bz2";
-    sha256 = "1x7lpjn7jhk0n3sdvggxrlrhab8kkfjwl7qix0ypw9nlx8lpmqh0";
+    sha256 = "0c5m469p5pd7jip621ipq6hbgh7128lzh7xndllfgh77ban7wb76";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
@@ -31,8 +31,6 @@ in stdenv.mkDerivation rec {
   ]
     ++ optional (variant != null) "--enable-${variant}";
 
-  patches = [ ./CVE-2017-7186.patch ];
-
   buildInputs = optional (hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads;
 
   doCheck = !(with hostPlatform; isCygwin || isFreeBSD) && hostPlatform == buildPlatform;
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index db66d8545883..574899d3a89c 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -30,16 +30,16 @@ in
   };
 
   cudnn_cudatoolkit8 = generic rec {
-    version = "7.0";
+    version = "7.0.3";
     cudatoolkit = cudatoolkit8;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
-    sha256 = "19yjdslrslwv5ic4vgpzb0fa0mqbgi6a66b7gc66vdc9n9589398";
+    sha256 = "0gzwadxcyirr2zgiikdapnm860x3gcfwfxh5xn3s47zaa03x4kg4";
   };
 
   cudnn_cudatoolkit9 = generic rec {
-    version = "7.0";
+    version = "7.0.3";
     cudatoolkit = cudatoolkit9;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
-    sha256 = "1ld5x819vya6p2ppmr7i3lz9ac2y81kssgbzgd0lsign7r2qjapc";
+    sha256 = "1ycy413cq9y9yxj20djqv05aarn3qzcy2md3dvvjpvhc269kwn09";
   };
 }
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 6dc09ddd39f8..0625183fb7de 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.20.0";
+  name = "sqlite-3.21.0";
 
   src = fetchurl {
-    url = "http://sqlite.org/2017/sqlite-autoconf-3200000.tar.gz";
-    sha256 = "1876dapm1xx5aqd2d8l7ymmkd2z9rybh99rp5f5rd4zz57vcc51q";
+    url = "http://sqlite.org/2017/sqlite-autoconf-3210000.tar.gz";
+    sha256 = "1qxvzdjwzw6k0kqjfabj86rnq87xdbwbca7laxxdhnh0fmkm3pfp";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix
index a8a0d5dc2b3f..13b1970866e7 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/development/libraries/tbb/default.nix
@@ -1,15 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, compiler ? if stdenv.cc.isClang then "clang" else null, stdver ? null }:
 
-stdenv.mkDerivation {
-  name = "tbb-4.4-u2";
+with stdenv.lib; stdenv.mkDerivation rec {
+  name = "tbb-${version}";
+  version = "2018_U1";
 
-  src = fetchurl {
-    url = "https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20151115oss_src.tgz";
-    sha256 = "1fvprkjdxj7529hr1qkzkxkk18mx6zllrpiwglq4k3y1hpyc9m9x";
+  src = fetchFromGitHub {
+    owner = "01org";
+    repo = "tbb";
+    rev = version;
+    sha256 = "1lygz07va6hsv2vlx9zwz5d2n81rxsdhmh0pqxgj8n1bvb1rp0qw";
   };
 
-  checkTarget = "test";
-  doCheck = false;
+  makeFlags = concatStringsSep " " (
+    optional (compiler != null) "compiler=${compiler}" ++
+    optional (stdver != null) "stdver=${stdver}"
+  );
 
   installPhase = ''
     mkdir -p $out/{lib,share/doc}
@@ -23,8 +28,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Intel Thread Building Blocks C++ Library";
-    homepage = http://threadingbuildingblocks.org/;
-    license = stdenv.lib.licenses.lgpl3Plus;
+    homepage = "http://threadingbuildingblocks.org/";
+    license = licenses.asl20;
     longDescription = ''
       Intel Threading Building Blocks offers a rich and complete approach to
       expressing parallelism in a C++ program. It is a library that helps you
@@ -33,7 +38,7 @@ stdenv.mkDerivation {
       represents a higher-level, task-based parallelism that abstracts platform
       details and threading mechanisms for scalability and performance.
     '';
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-    maintainers = with stdenv.lib.maintainers; [ peti thoughtpolice ];
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ peti thoughtpolice dizfer ];
   };
 }
diff --git a/pkgs/development/libraries/theft/default.nix b/pkgs/development/libraries/theft/default.nix
new file mode 100644
index 000000000000..a0110c5f22b2
--- /dev/null
+++ b/pkgs/development/libraries/theft/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.3";
+  name = "theft-${version}";
+
+  src = fetchFromGitHub {
+    owner = "silentbicycle";
+    repo = "theft";
+    rev = "v${version}";
+    sha256 = "1ibh8np12lafnrsrvjbbzlyq45zq654939x0y22vdnc6s8dpbhw4";
+  };
+
+  preConfigure = "patchShebangs ./scripts/mk_bits_lut";
+
+  doCheck = true;
+  checkTarget = "test";
+  
+  installFlags = [ "PREFIX=$(out)" ];
+  postInstall = "install -m644 vendor/greatest.h $out/include/";
+  
+  meta = {
+    description = "A C library for property-based testing";
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "http://github.com/silentbicycle/theft/";
+    license = stdenv.lib.licenses.isc;
+    maintainers = [ stdenv.lib.maintainers.kquick ];
+  };
+}
diff --git a/pkgs/development/libraries/webkitgtk/2.16.nix b/pkgs/development/libraries/webkitgtk/2.18.nix
index d69993534146..e1b520eb10b1 100644
--- a/pkgs/development/libraries/webkitgtk/2.16.nix
+++ b/pkgs/development/libraries/webkitgtk/2.18.nix
@@ -4,7 +4,7 @@
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11_kit
 , libidn, libedit, readline, mesa, libintlOrEmpty
 , enableGeoLocation ? true, geoclue2, sqlite
-, gst-plugins-base
+, gst-plugins-base, gst-plugins-bad
 }:
 
 assert enableGeoLocation -> geoclue2 != null;
@@ -12,7 +12,7 @@ assert enableGeoLocation -> geoclue2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.16.6";
+  version = "2.18.1";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "08abxbhi2n1pfby9f2c20z8mpmbvbs2z7vf0p5ckq4jkz46na8zw";
+    sha256 = "15fp7szmkpannx7avsynf0nv3y343qwq0fvq3rz2m2mw5wq7pnww";
   };
 
   # see if we can clean this up....
@@ -77,10 +77,7 @@ stdenv.mkDerivation rec {
   "-DENABLE_GTKDOC=OFF"
   ];
 
-  # XXX: WebKit2 missing include path for gst-plugins-base.
-  # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894
-  NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0"
-                     + (optionalString stdenv.isDarwin " -lintl");
+  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl";
 
   nativeBuildInputs = [
     cmake perl python2 ruby bison gperf
@@ -90,7 +87,7 @@ stdenv.mkDerivation rec {
   buildInputs = libintlOrEmpty ++ [
     gtk2 libwebp enchant libnotify gnutls pcre nettle libidn
     libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11_kit
-    sqlite gst-plugins-base libxkbcommon epoxy at_spi2_core
+    sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at_spi2_core
   ] ++ optional enableGeoLocation geoclue2
     ++ (with xlibs; [ libXdmcp libXt libXtst ])
     ++ optionals stdenv.isDarwin [ libedit readline mesa ]
diff --git a/pkgs/development/libraries/websocket++/default.nix b/pkgs/development/libraries/websocket++/default.nix
index 2672d6efbec1..fbfc460db96d 100644
--- a/pkgs/development/libraries/websocket++/default.nix
+++ b/pkgs/development/libraries/websocket++/default.nix
@@ -2,21 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "websocket++-${version}";
-  version = "0.4.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "zaphoyd";
     repo = "websocketpp";
     rev = version;
-    sha256 = "1n6j0dh3qpis0f7crd49a2nhxd5459h0blch408z3kwlasx2g0i5";
+    sha256 = "1i64sps52kvy8yffysjbmmbb109pi28kqai0qdxxz1dcj3xfckqd";
   };
 
   buildInputs = [ cmake ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.zaphoyd.com/websocketpp/;
     description = "C++/Boost Asio based websocket client/server library";
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ andir ];
   };
 }
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
new file mode 100644
index 000000000000..79bd8bb96659
--- /dev/null
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig
+, wayland, mesa_noglu, wayland-protocols, libinput, libxkbcommon, pixman
+, xcbutilwm, libX11, libcap
+}:
+
+let pname = "wlroots";
+    version = "unstable-2017-10-31";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "swaywm";
+    repo = "wlroots";
+    rev = "7200d643363e988edf6777c38e7f8fcd451a2c50";
+    sha256 = "179raymkni1xzaph32zdhg7nfin0xfzrlnbnxkcr266k9y8k66ac";
+  };
+
+  # TODO: Temporary workaround for compilation errors
+  patches = [ ./libdrm.patch ./no-werror.patch ];
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+
+  buildInputs = [
+    wayland mesa_noglu wayland-protocols libinput libxkbcommon pixman
+    xcbutilwm libX11 libcap
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A modular Wayland compositor library";
+    inherit (src.meta) homepage;
+    license     = licenses.mit;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/pkgs/development/libraries/wlroots/libdrm.patch b/pkgs/development/libraries/wlroots/libdrm.patch
new file mode 100644
index 000000000000..2b9d85382764
--- /dev/null
+++ b/pkgs/development/libraries/wlroots/libdrm.patch
@@ -0,0 +1,9 @@
+--- a/backend/meson.build	2017-10-31 22:08:01.112927610 +0100
++++ b/backend/meson.build	2017-10-31 22:09:28.155264343 +0100
+@@ -43,5 +43,5 @@
+ 	'wlr_backend',
+ 	backend_files,
+ 	include_directories: wlr_inc,
+-	dependencies: [wayland_server, egl, gbm, libinput, systemd, elogind, wlr_render, wlr_protos],
++	dependencies: [wayland_server, egl, gbm, libinput, systemd, elogind, wlr_render, wlr_protos, drm],
+ )
diff --git a/pkgs/development/libraries/wlroots/no-werror.patch b/pkgs/development/libraries/wlroots/no-werror.patch
new file mode 100644
index 000000000000..78c374d9dbb8
--- /dev/null
+++ b/pkgs/development/libraries/wlroots/no-werror.patch
@@ -0,0 +1,10 @@
+--- a/meson.build	2017-10-31 22:08:01.132927689 +0100
++++ b/meson.build	2017-10-31 22:20:58.215784350 +0100
+@@ -5,7 +5,6 @@
+ 	default_options: [
+ 		'c_std=c11',
+ 		'warning_level=2',
+-		'werror=true',
+ 	],
+ )
+ 
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 35300ed9419a..2375de4b1bfa 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -3,13 +3,13 @@
 , withMesa ? true, mesa_glu ? null, mesa_noglu ? null
 , compat24 ? false, compat26 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk216x ? null
+, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk218x ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
 
 assert withMesa -> mesa_glu != null && mesa_noglu != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk216x) != null;
+assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk218x) != null;
 
 with stdenv.lib;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa mesa_glu
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk216x)
+    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk218x)
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];