about summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/SDL_ttf/default.nix2
-rw-r--r--pkgs/development/libraries/atkmm/default.nix2
-rw-r--r--pkgs/development/libraries/cairomm/default.nix2
-rw-r--r--pkgs/development/libraries/cppzmq/default.nix8
-rw-r--r--pkgs/development/libraries/db/clang-4.8.patch138
-rw-r--r--pkgs/development/libraries/db/clang-5.3.patch4
-rw-r--r--pkgs/development/libraries/db/clang-6.0.patch136
-rw-r--r--pkgs/development/libraries/db/cygwin-4.4.patch21
-rw-r--r--pkgs/development/libraries/db/cygwin-4.5.patch22
-rw-r--r--pkgs/development/libraries/db/db-4.8.nix7
-rw-r--r--pkgs/development/libraries/db/db-5.3.nix5
-rw-r--r--pkgs/development/libraries/db/db-6.0.nix2
-rw-r--r--pkgs/development/libraries/db/generic.nix10
-rw-r--r--pkgs/development/libraries/db/register-race-fix.patch47
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix4
-rw-r--r--pkgs/development/libraries/folly/default.nix6
-rw-r--r--pkgs/development/libraries/freeglut/default.nix14
-rw-r--r--pkgs/development/libraries/giblib/default.nix9
-rw-r--r--pkgs/development/libraries/git2/0.23.nix27
-rw-r--r--pkgs/development/libraries/git2/default.nix4
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix15
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix8
-rw-r--r--pkgs/development/libraries/gtkmm/2.x.nix2
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix2
-rw-r--r--pkgs/development/libraries/icu/default.nix3
-rw-r--r--pkgs/development/libraries/imlib2/default.nix24
-rw-r--r--pkgs/development/libraries/jasper/default.nix7
-rw-r--r--pkgs/development/libraries/java/shared-objects/default.nix14
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix9
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kde-env.nix31
-rw-r--r--pkgs/development/libraries/kde-frameworks/kde-wrapper.nix43
-rw-r--r--pkgs/development/libraries/ldns/default.nix6
-rw-r--r--pkgs/development/libraries/libLAS/default.nix6
-rw-r--r--pkgs/development/libraries/libaacs/default.nix13
-rw-r--r--pkgs/development/libraries/libarchive/default.nix4
-rw-r--r--pkgs/development/libraries/libbdplus/default.nix14
-rw-r--r--pkgs/development/libraries/libbluray/default.nix7
-rw-r--r--pkgs/development/libraries/libburn/default.nix6
-rw-r--r--pkgs/development/libraries/libdevil/default.nix14
-rw-r--r--pkgs/development/libraries/libdivecomputer/default.nix21
-rw-r--r--pkgs/development/libraries/libdrm/default.nix9
-rw-r--r--pkgs/development/libraries/libevent/default.nix3
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix6
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libisofs/default.nix6
-rw-r--r--pkgs/development/libraries/libktorrent/5.nix29
-rw-r--r--pkgs/development/libraries/libktorrent/default.nix2
-rw-r--r--pkgs/development/libraries/libmarble-ssrf/default.nix33
-rw-r--r--pkgs/development/libraries/libpng/default.nix6
-rw-r--r--pkgs/development/libraries/libproxy/default.nix27
-rw-r--r--pkgs/development/libraries/libpsl/default.nix4
-rw-r--r--pkgs/development/libraries/libtiff/default.nix50
-rw-r--r--pkgs/development/libraries/libvdpau-va-gl/default.nix6
-rw-r--r--pkgs/development/libraries/libxls/default.nix2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix16
-rw-r--r--pkgs/development/libraries/libxmlxx/v3.nix4
-rw-r--r--pkgs/development/libraries/libxslt/default.nix22
-rw-r--r--pkgs/development/libraries/mapnik/default.nix26
-rw-r--r--pkgs/development/libraries/menu-cache/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix23
-rw-r--r--pkgs/development/libraries/mesa/dlopen-absolute-paths.diff22
-rw-r--r--pkgs/development/libraries/netcdf-fortran/default.nix10
-rw-r--r--pkgs/development/libraries/nss/85_security_load.patch52
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix2
-rw-r--r--pkgs/development/libraries/opendkim/default.nix6
-rw-r--r--pkgs/development/libraries/pangomm/default.nix2
-rw-r--r--pkgs/development/libraries/polkit/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.0.0-beta-2.nix43
-rw-r--r--pkgs/development/libraries/protobuf/3.0.nix43
-rw-r--r--pkgs/development/libraries/protobuf/3.1.nix6
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix47
-rw-r--r--pkgs/development/libraries/qpdf/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/fetch.sh4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.6/srcs.nix278
-rw-r--r--pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix7
-rw-r--r--pkgs/development/libraries/slang/default.nix4
-rw-r--r--pkgs/development/libraries/vc/0.7.nix2
-rw-r--r--pkgs/development/libraries/vc/default.nix4
-rw-r--r--pkgs/development/libraries/vcg/default.nix2
-rw-r--r--pkgs/development/libraries/xapian/bindings/default.nix88
-rw-r--r--pkgs/development/libraries/xlslib/default.nix4
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix4
99 files changed, 968 insertions, 778 deletions
diff --git a/pkgs/development/libraries/SDL_ttf/default.nix b/pkgs/development/libraries/SDL_ttf/default.nix
index 1f290bf7044f..4875d9ab5a1a 100644
--- a/pkgs/development/libraries/SDL_ttf/default.nix
+++ b/pkgs/development/libraries/SDL_ttf/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "SDL TrueType library";
     license = licenses.zlib;
     platforms = platforms.all;
-    homepage = https://www.libsdl.org/projects/SDL_ttf/release-1.2.html;
+    homepage = "https://www.libsdl.org/projects/SDL_ttf/release-1.2.html";
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix
index a10d730d06e4..e1cfb488be88 100644
--- a/pkgs/development/libraries/atkmm/default.nix
+++ b/pkgs/development/libraries/atkmm/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd";
   };
 
+  outputs = [ "out" "dev" ];
+
   propagatedBuildInputs = [ atk glibmm ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index fbf3cd57e3b9..017516f6b490 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ cairo libsigcxx ];
   buildInputs = [ fontconfig freetype ]
diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix
index 9da83ca913e7..b1860872df36 100644
--- a/pkgs/development/libraries/cppzmq/default.nix
+++ b/pkgs/development/libraries/cppzmq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cppzmq-${version}";
-  version = "2016-07-18";
+  version = "2016-11-16";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "cppzmq";
-    rev = "92d2af6def80a01b76d5e73f073c439ad00ab757";
-    sha256 = "0lnwh314hh5ifad2sa2nz1g1ld1jc4vplm7clyvx304sjjvbvl27";
+    rev = "8b52a6ffacce27bac9b81c852b81539a77b0a6e5";
+    sha256 = "12accjyjzfw1wqzbj1qn6q99bj5ba05flsvbanyzflr3b4971s4p";
   };
 
   installPhase = ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/zeromq/cppzmq;
+    homepage = "https://github.com/zeromq/cppzmq";
     license = licenses.bsd2;
     description = "C++ binding for 0MQ";
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/db/clang-4.8.patch b/pkgs/development/libraries/db/clang-4.8.patch
index c53160a82970..bbb778914977 100644
--- a/pkgs/development/libraries/db/clang-4.8.patch
+++ b/pkgs/development/libraries/db/clang-4.8.patch
@@ -1,13 +1,22 @@
 diff --git a/dbinc/atomic.h b/dbinc/atomic.h
-index 0034dcc..fa7ba93 100644
+index 0034dcc..160c8ea 100644
 --- a/dbinc/atomic.h
 +++ b/dbinc/atomic.h
+@@ -70,7 +70,7 @@ typedef struct {
+  * These have no memory barriers; the caller must include them when necessary.
+  */
+ #define	atomic_read(p)		((p)->value)
+-#define	atomic_init(p, val)	((p)->value = (val))
++#define	atomic_init_db(p, val)	((p)->value = (val))
+ 
+ #ifdef HAVE_ATOMIC_SUPPORT
+ 
 @@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
  #define	atomic_inc(env, p)	__atomic_inc(p)
  #define	atomic_dec(env, p)	__atomic_dec(p)
  #define	atomic_compare_exchange(env, p, o, n)	\
 -	__atomic_compare_exchange((p), (o), (n))
-+	__db_atomic_compare_exchange((p), (o), (n))
++	__atomic_compare_exchange_int((p), (o), (n))
  static inline int __atomic_inc(db_atomic_t *p)
  {
  	int	temp;
@@ -16,7 +25,130 @@ index 0034dcc..fa7ba93 100644
   * which configure could be changed to use.
   */
 -static inline int __atomic_compare_exchange(
-+static inline int __db_atomic_compare_exchange(
++static inline int __atomic_compare_exchange_int(
  	db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
  {
  	atomic_value_t was;
+@@ -206,7 +206,7 @@ static inline int __atomic_compare_exchange(
+ #define	atomic_dec(env, p)	(--(p)->value)
+ #define	atomic_compare_exchange(env, p, oldval, newval)		\
+ 	(DB_ASSERT(env, atomic_read(p) == (oldval)),		\
+-	atomic_init(p, (newval)), 1)
++	atomic_init_db(p, (newval)), 1)
+ #else
+ #define atomic_inc(env, p)	__atomic_inc(env, p)
+ #define atomic_dec(env, p)	__atomic_dec(env, p)
+diff --git a/dbinc/db.in b/dbinc/db.in
+index 9fc6712..7428e0a 100644
+--- a/dbinc/db.in
++++ b/dbinc/db.in
+@@ -2413,7 +2413,7 @@ typedef struct {
+ #define	fetch(a)	__db_dbm_fetch@DB_VERSION_UNIQUE_NAME@(a)
+ #define	firstkey	__db_dbm_firstkey@DB_VERSION_UNIQUE_NAME@
+ #define	nextkey(a)	__db_dbm_nextkey@DB_VERSION_UNIQUE_NAME@(a)
+-#define	store(a, b)	__db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
++#define	store_db(a, b)	__db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
+ 
+ /*******************************************************
+  * Hsearch historic interface.
+diff --git a/mp/mp_fget.c b/mp/mp_fget.c
+index 5fdee5a..0b75f57 100644
+--- a/mp/mp_fget.c
++++ b/mp/mp_fget.c
+@@ -617,7 +617,7 @@ alloc:		/* Allocate a new buffer header and data space. */
+ 
+ 		/* Initialize enough so we can call __memp_bhfree. */
+ 		alloc_bhp->flags = 0;
+-		atomic_init(&alloc_bhp->ref, 1);
++		atomic_init_db(&alloc_bhp->ref, 1);
+ #ifdef DIAGNOSTIC
+ 		if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
+ 			__db_errx(env,
+@@ -911,7 +911,7 @@ alloc:		/* Allocate a new buffer header and data space. */
+ 			MVCC_MPROTECT(bhp->buf, mfp->stat.st_pagesize,
+ 			    PROT_READ);
+ 
+-		atomic_init(&alloc_bhp->ref, 1);
++		atomic_init_db(&alloc_bhp->ref, 1);
+ 		MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+ 		alloc_bhp->priority = bhp->priority;
+ 		alloc_bhp->pgno = bhp->pgno;
+diff --git a/mp/mp_mvcc.c b/mp/mp_mvcc.c
+index 34467d2..f05aa0c 100644
+--- a/mp/mp_mvcc.c
++++ b/mp/mp_mvcc.c
+@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
+ #else
+ 	memcpy(frozen_bhp, bhp, SSZA(BH, buf));
+ #endif
+-	atomic_init(&frozen_bhp->ref, 0);
++	atomic_init_db(&frozen_bhp->ref, 0);
+ 	if (mutex != MUTEX_INVALID)
+ 		frozen_bhp->mtx_buf = mutex;
+ 	else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
+@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
+ #endif
+ 		alloc_bhp->mtx_buf = mutex;
+ 		MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+-		atomic_init(&alloc_bhp->ref, 1);
++		atomic_init_db(&alloc_bhp->ref, 1);
+ 		F_CLR(alloc_bhp, BH_FROZEN);
+ 	}
+ 
+diff --git a/mp/mp_region.c b/mp/mp_region.c
+index e6cece9..ddbe906 100644
+--- a/mp/mp_region.c
++++ b/mp/mp_region.c
+@@ -224,7 +224,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
+ 			     MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
+ 				return (ret);
+ 			SH_TAILQ_INIT(&htab[i].hash_bucket);
+-			atomic_init(&htab[i].hash_page_dirty, 0);
++			atomic_init_db(&htab[i].hash_page_dirty, 0);
+ 		}
+ 
+ 		/*
+@@ -269,7 +269,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
+ 		hp->mtx_hash = (mtx_base == MUTEX_INVALID) ? MUTEX_INVALID :
+ 		    mtx_base + i;
+ 		SH_TAILQ_INIT(&hp->hash_bucket);
+-		atomic_init(&hp->hash_page_dirty, 0);
++		atomic_init_db(&hp->hash_page_dirty, 0);
+ #ifdef HAVE_STATISTICS
+ 		hp->hash_io_wait = 0;
+ 		hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
+diff --git a/mutex/mut_method.c b/mutex/mut_method.c
+index 2588763..5c6d516 100644
+--- a/mutex/mut_method.c
++++ b/mutex/mut_method.c
+@@ -426,7 +426,7 @@ atomic_compare_exchange(env, v, oldval, newval)
+ 	MUTEX_LOCK(env, mtx);
+ 	ret = atomic_read(v) == oldval;
+ 	if (ret)
+-		atomic_init(v, newval);
++		atomic_init_db(v, newval);
+ 	MUTEX_UNLOCK(env, mtx);
+ 
+ 	return (ret);
+diff --git a/mutex/mut_tas.c b/mutex/mut_tas.c
+index f3922e0..e40fcdf 100644
+--- a/mutex/mut_tas.c
++++ b/mutex/mut_tas.c
+@@ -46,7 +46,7 @@ __db_tas_mutex_init(env, mutex, flags)
+ 
+ #ifdef HAVE_SHARED_LATCHES
+ 	if (F_ISSET(mutexp, DB_MUTEX_SHARED))
+-		atomic_init(&mutexp->sharecount, 0);
++		atomic_init_db(&mutexp->sharecount, 0);
+ 	else
+ #endif
+ 	if (MUTEX_INIT(&mutexp->tas)) {
+@@ -486,7 +486,7 @@ __db_tas_mutex_unlock(env, mutex)
+ 			F_CLR(mutexp, DB_MUTEX_LOCKED);
+ 			/* Flush flag update before zeroing count */
+ 			MEMBAR_EXIT();
+-			atomic_init(&mutexp->sharecount, 0);
++			atomic_init_db(&mutexp->sharecount, 0);
+ 		} else {
+ 			DB_ASSERT(env, sharecount > 0);
+ 			MEMBAR_EXIT();
diff --git a/pkgs/development/libraries/db/clang-5.3.patch b/pkgs/development/libraries/db/clang-5.3.patch
index 0a0993da13e1..1cfb13ca8e68 100644
--- a/pkgs/development/libraries/db/clang-5.3.patch
+++ b/pkgs/development/libraries/db/clang-5.3.patch
@@ -16,7 +16,7 @@ index 6a858f7..9f338dc 100644
  #define	atomic_dec(env, p)	__atomic_dec(p)
  #define	atomic_compare_exchange(env, p, o, n)	\
 -	__atomic_compare_exchange((p), (o), (n))
-+	__atomic_compare_exchange_db((p), (o), (n))
++	__atomic_compare_exchange_int((p), (o), (n))
  static inline int __atomic_inc(db_atomic_t *p)
  {
  	int	temp;
@@ -25,7 +25,7 @@ index 6a858f7..9f338dc 100644
   * which configure could be changed to use.
   */
 -static inline int __atomic_compare_exchange(
-+static inline int __atomic_compare_exchange_db(
++static inline int __atomic_compare_exchange_int(
  	db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
  {
  	atomic_value_t was;
diff --git a/pkgs/development/libraries/db/clang-6.0.patch b/pkgs/development/libraries/db/clang-6.0.patch
new file mode 100644
index 000000000000..5c1e8f506c4e
--- /dev/null
+++ b/pkgs/development/libraries/db/clang-6.0.patch
@@ -0,0 +1,136 @@
+diff --git a/src/dbinc/atomic.h b/src/dbinc/atomic.h
+index e4420aa..4799b5f 100644
+--- a/src/dbinc/atomic.h
++++ b/src/dbinc/atomic.h
+@@ -70,7 +70,7 @@ typedef struct {
+  * These have no memory barriers; the caller must include them when necessary.
+  */
+ #define	atomic_read(p)		((p)->value)
+-#define	atomic_init(p, val)	((p)->value = (val))
++#define	atomic_init_db(p, val)	((p)->value = (val))
+ 
+ #ifdef HAVE_ATOMIC_SUPPORT
+ 
+@@ -225,7 +225,7 @@ static inline int __atomic_compare_exchange_int(
+ #define	atomic_dec(env, p)	(--(p)->value)
+ #define	atomic_compare_exchange(env, p, oldval, newval)		\
+ 	(DB_ASSERT(env, atomic_read(p) == (oldval)),		\
+-	atomic_init(p, (newval)), 1)
++	atomic_init_db(p, (newval)), 1)
+ #else
+ #define	atomic_inc(env, p)	__atomic_inc_int(env, p)
+ #define	atomic_dec(env, p)	__atomic_dec_int(env, p)
+diff --git a/src/dbinc/db.in b/src/dbinc/db.in
+index 3c2ad9b..3e46f02 100644
+--- a/src/dbinc/db.in
++++ b/src/dbinc/db.in
+@@ -2999,7 +2999,7 @@ typedef struct {
+ #define	fetch(a)	__db_dbm_fetch@DB_VERSION_UNIQUE_NAME@(a)
+ #define	firstkey	__db_dbm_firstkey@DB_VERSION_UNIQUE_NAME@
+ #define	nextkey(a)	__db_dbm_nextkey@DB_VERSION_UNIQUE_NAME@(a)
+-#define	store(a, b)	__db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
++#define	store_db(a, b)	__db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
+ 
+ /*******************************************************
+  * Hsearch historic interface.
+diff --git a/src/mp/mp_fget.c b/src/mp/mp_fget.c
+index 59fe9fe..fa4ced7 100644
+--- a/src/mp/mp_fget.c
++++ b/src/mp/mp_fget.c
+@@ -654,7 +654,7 @@ alloc:		/* Allocate a new buffer header and data space. */
+ 
+ 		/* Initialize enough so we can call __memp_bhfree. */
+ 		alloc_bhp->flags = 0;
+-		atomic_init(&alloc_bhp->ref, 1);
++		atomic_init_db(&alloc_bhp->ref, 1);
+ #ifdef DIAGNOSTIC
+ 		if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
+ 			__db_errx(env, DB_STR("3025",
+@@ -969,7 +969,7 @@ alloc:		/* Allocate a new buffer header and data space. */
+ 			MVCC_MPROTECT(bhp->buf, mfp->pagesize,
+ 			    PROT_READ);
+ 
+-		atomic_init(&alloc_bhp->ref, 1);
++		atomic_init_db(&alloc_bhp->ref, 1);
+ 		MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+ 		alloc_bhp->priority = bhp->priority;
+ 		alloc_bhp->pgno = bhp->pgno;
+diff --git a/src/mp/mp_mvcc.c b/src/mp/mp_mvcc.c
+index 83c4d72..0a47202 100644
+--- a/src/mp/mp_mvcc.c
++++ b/src/mp/mp_mvcc.c
+@@ -281,7 +281,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
+ #else
+ 	memcpy(frozen_bhp, bhp, SSZA(BH, buf));
+ #endif
+-	atomic_init(&frozen_bhp->ref, 0);
++	atomic_init_db(&frozen_bhp->ref, 0);
+ 	if (mutex != MUTEX_INVALID)
+ 		frozen_bhp->mtx_buf = mutex;
+ 	else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
+@@ -440,7 +440,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
+ #endif
+ 		alloc_bhp->mtx_buf = mutex;
+ 		MUTEX_LOCK(env, alloc_bhp->mtx_buf);
+-		atomic_init(&alloc_bhp->ref, 1);
++		atomic_init_db(&alloc_bhp->ref, 1);
+ 		F_CLR(alloc_bhp, BH_FROZEN);
+ 	}
+ 
+diff --git a/src/mp/mp_region.c b/src/mp/mp_region.c
+index 4d95e4f..e97459c 100644
+--- a/src/mp/mp_region.c
++++ b/src/mp/mp_region.c
+@@ -278,7 +278,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
+ 			     MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
+ 				return (ret);
+ 			SH_TAILQ_INIT(&htab[i].hash_bucket);
+-			atomic_init(&htab[i].hash_page_dirty, 0);
++			atomic_init_db(&htab[i].hash_page_dirty, 0);
+ 		}
+ 
+ 		mtx_base = mtx_prev = MUTEX_INVALID;
+@@ -332,7 +332,7 @@ no_prealloc:
+ 		    DB_MUTEX_SHARED, &hp->mtx_hash)) != 0)
+ 			return (ret);
+ 		SH_TAILQ_INIT(&hp->hash_bucket);
+-		atomic_init(&hp->hash_page_dirty, 0);
++		atomic_init_db(&hp->hash_page_dirty, 0);
+ #ifdef HAVE_STATISTICS
+ 		hp->hash_io_wait = 0;
+ 		hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
+diff --git a/src/mutex/mut_method.c b/src/mutex/mut_method.c
+index 72b34de..a9f9868 100644
+--- a/src/mutex/mut_method.c
++++ b/src/mutex/mut_method.c
+@@ -501,7 +501,7 @@ __atomic_compare_exchange_int(env, v, oldval, newval)
+ 	MUTEX_LOCK(env, mtx);
+ 	ret = atomic_read(v) == oldval;
+ 	if (ret)
+-		atomic_init(v, newval);
++		atomic_init_db(v, newval);
+ 	MUTEX_UNLOCK(env, mtx);
+ 
+ 	return (ret);
+diff --git a/src/mutex/mut_tas.c b/src/mutex/mut_tas.c
+index 7899c4b..d9420fa 100644
+--- a/src/mutex/mut_tas.c
++++ b/src/mutex/mut_tas.c
+@@ -47,7 +47,7 @@ __db_tas_mutex_init(env, mutex, flags)
+ 
+ #ifdef HAVE_SHARED_LATCHES
+ 	if (F_ISSET(mutexp, DB_MUTEX_SHARED))
+-		atomic_init(&mutexp->sharecount, 0);
++		atomic_init_db(&mutexp->sharecount, 0);
+ 	else
+ #endif
+ 	if (MUTEX_INIT(&mutexp->tas)) {
+@@ -643,7 +643,7 @@ was_not_locked:
+ 			F_CLR(mutexp, DB_MUTEX_LOCKED);
+ 			/* Flush flag update before zeroing count */
+ 			MEMBAR_EXIT();
+-			atomic_init(&mutexp->sharecount, 0);
++			atomic_init_db(&mutexp->sharecount, 0);
+ 		} else {
+ 			DB_ASSERT(env, sharecount > 0);
+ 			MEMBAR_EXIT();
diff --git a/pkgs/development/libraries/db/cygwin-4.4.patch b/pkgs/development/libraries/db/cygwin-4.4.patch
deleted file mode 100644
index 3f9d658b5dac..000000000000
--- a/pkgs/development/libraries/db/cygwin-4.4.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rc db-4.4.20.NC-old/os/os_flock.c db-4.4.20.NC/os/os_flock.c
-*** db-4.4.20.NC-old/os/os_flock.c	Mon Jun 20 16:59:01 2005
---- db-4.4.20.NC/os/os_flock.c	Wed Jun  7 17:01:49 2006
-***************
-*** 36,41 ****
---- 36,50 ----
-  
-  	DB_ASSERT(F_ISSET(fhp, DB_FH_OPENED) && fhp->fd != -1);
-  
-+ #ifdef __CYGWIN__
-+ 	/*
-+ 	 * Windows file locking interferes with read/write operations, so we
-+ 	 * map the ranges to an area past the end of the file.
-+ 	 */
-+ 	DB_ASSERT(offset < (off_t) 1 << 62);
-+ 	offset += (off_t) 1 << 62;
-+ #endif
-+ 
-  #ifdef HAVE_FCNTL
-  	fl.l_start = offset;
-  	fl.l_len = 1;
diff --git a/pkgs/development/libraries/db/cygwin-4.5.patch b/pkgs/development/libraries/db/cygwin-4.5.patch
deleted file mode 100644
index 3f0ee78a7085..000000000000
--- a/pkgs/development/libraries/db/cygwin-4.5.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -rc db-4.5.20-orig/os/os_flock.c db-4.5.20/os/os_flock.c
-*** db-4.5.20-orig/os/os_flock.c	2006-10-13 12:36:12.000000000 +0200
---- db-4.5.20/os/os_flock.c	2006-10-13 12:40:11.000000000 +0200
-***************
-*** 30,35 ****
---- 30,44 ----
-  
-  	DB_ASSERT(dbenv, F_ISSET(fhp, DB_FH_OPENED) && fhp->fd != -1);
-  
-+ #ifdef __CYGWIN__
-+ 	/*
-+ 	 * Windows file locking interferes with read/write operations, so we
-+ 	 * map the ranges to an area past the end of the file.
-+ 	 */
-+ 	DB_ASSERT(dbenv, offset < (off_t) 1 << 62);
-+ 	offset += (off_t) 1 << 62;
-+ #endif
-+ 
-  	fl.l_start = offset;
-  	fl.l_len = 1;
-  	fl.l_type = acquire ? F_WRLCK : F_UNLCK;
-Only in db-4.5.20/os: os_flock.c~
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix
index 40869a865ae5..bce91e5a9401 100644
--- a/pkgs/development/libraries/db/db-4.8.nix
+++ b/pkgs/development/libraries/db/db-4.8.nix
@@ -2,8 +2,9 @@
 
 import ./generic.nix (args // rec {
   version = "4.8.30";
-  extraPatches = [ ./clang-4.8.patch ];
   sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
-  branch = "4.8";
-  drvArgs = { hardeningDisable = [ "format" ]; };
+  extraPatches = [ ./clang-4.8.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 91adfa24b58d..d1d3c953fc9f 100644
--- a/pkgs/development/libraries/db/db-5.3.nix
+++ b/pkgs/development/libraries/db/db-5.3.nix
@@ -3,9 +3,6 @@
 import ./generic.nix (args // rec {
   version = "5.3.28";
   sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
-  branch = "5.3";
-  # https://community.oracle.com/thread/3952592
-  # this patch renames some sybols that conflict with libc++-3.8
-  # symbols: atomic_compare_exchange, atomic_init, store
+  license = stdenv.lib.licenses.agpl3;
   extraPatches = [ ./clang-5.3.patch ];
 })
diff --git a/pkgs/development/libraries/db/db-6.0.nix b/pkgs/development/libraries/db/db-6.0.nix
index 716cad9ab074..b7c5667b883e 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;
-  branch = "6.0";
+  extraPatches = [ ./clang-6.0.patch ];
 })
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index fdc828effdfb..a6f9c676bba0 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -4,9 +4,8 @@
 
 # Options from inherited versions
 , version, sha256
-, extraPatches ? [ ]
+, patchSrc ? "src", extraPatches ? [ ]
 , license ? stdenv.lib.licenses.sleepycat
-, branch ? null
 , drvArgs ? {}
 }:
 
@@ -36,11 +35,16 @@ stdenv.mkDerivation (rec {
     rm -rf $out/docs
   '';
 
+  doCheck = true;
+
+  checkPhase = ''
+    make examples_c examples_cxx
+  '';
+
   meta = with stdenv.lib; {
     homepage = "http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/index.html";
     description = "Berkeley DB";
     license = license;
     platforms = platforms.unix;
-    branch = branch;
   };
 } // drvArgs)
diff --git a/pkgs/development/libraries/db/register-race-fix.patch b/pkgs/development/libraries/db/register-race-fix.patch
deleted file mode 100644
index bb05c966e5bd..000000000000
--- a/pkgs/development/libraries/db/register-race-fix.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -rc db-4.5.20-orig/env/env_register.c db-4.5.20/env/env_register.c
-*** db-4.5.20-orig/env/env_register.c	2006-09-09 16:29:04.000000000 +0200
---- db-4.5.20/env/env_register.c	2007-05-16 21:13:27.000000000 +0200
-***************
-*** 255,260 ****
---- 255,262 ----
-  			buf[nr - 1] = '\0';
-  		}
-  
-+                 //sleep(3);
-+ 
-  		pos = (off_t)lcnt * PID_LEN;
-  		if (REGISTRY_LOCK(dbenv, pos, 1) == 0) {
-  			if ((ret = REGISTRY_UNLOCK(dbenv, pos)) != 0)
-***************
-*** 361,366 ****
---- 363,392 ----
-  	if (recovery_failed)
-  		goto err;
-  
-+         //sleep(5);
-+ 
-+         /*
-+          * Acquire an exclusive lock to prevent a race like this:
-+          *
-+          * 1) Process X is about to exit and process Y is just
-+          *    starting.
-+          * 2) Process Y reads X's slot.
-+          * 3) Process X clears its slot.
-+          * 4) Process Y sees that X's slot isn't cleared yet (since it
-+          *    just read the old value).
-+          * 5) Process X closes the registry, releases the lock on its
-+          *    slot.
-+          * 6) Process Y tries to acquire X's slot and succeeds, so it
-+          *    concludes that X died and recovery is needed.
-+          *
-+          * A more efficient solution to this problem would be to let
-+          * __envreg_add acquire the lock on a slot first, and *then*
-+          * read the slot (instead of the other way around).  Then we
-+          * wouldn't need the exclusive lock here.
-+          */
-+ 	if ((ret = REGISTRY_EXCL_LOCK(dbenv, 0)) != 0)
-+ 		goto err;
-+ 
-  	/*
-  	 * Why isn't an exclusive lock necessary to discard a DB_ENV handle?
-  	 *
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
index 049a799c44fa..c6f7684ecf39 100644
--- a/pkgs/development/libraries/double-conversion/default.nix
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.1";
   name = "double-conversion-${version}";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "google";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Binary-decimal and decimal-binary routines for IEEE doubles";
-    homepage = https://github.com/google/double-conversion;
+    homepage = "https://github.com/google/double-conversion";
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index af8b1cb87373..1e070ca25995 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "folly-${version}";
-  version = "2016.08.08.00";
+  version = "2016.11.21.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "0f9xdi8w2mbn6gxjfvpzh8i22ca8p11a2ss6qkw31yhdgd3s9087";
+    sha256 = "1f7j73avj00mmzz8wyh9rl1k9i0cvk77d0nf9c80vzr2zfk9f31x";
   };
 
   nativeBuildInputs = [ autoreconfHook python pkgconfig ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An open-source C++ library developed and used at Facebook";
-    homepage = https://github.com/facebook/folly;
+    homepage = "https://github.com/facebook/folly";
     license = licenses.asl20;
     # 32bit is not supported: https://github.com/facebook/folly/issues/103
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix
index 4135c451eebc..6737e059b212 100644
--- a/pkgs/development/libraries/freeglut/default.nix
+++ b/pkgs/development/libraries/freeglut/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, xlibsWrapper, cmake }:
+{ stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa_noglu, mesa_glu, xlibsWrapper, cmake }:
 
 let version = "3.0.0";
 in stdenv.mkDerivation {
@@ -9,16 +9,20 @@ in stdenv.mkDerivation {
     sha256 = "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra";
   };
 
-  buildInputs = [ libXi libXrandr libXxf86vm mesa xlibsWrapper cmake ];
+  outputs = [ "out" "dev" ];
+
+  buildInputs = [ libXi libXrandr libXxf86vm mesa_noglu mesa_glu xlibsWrapper cmake ];
 
   cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [
-                 "-DOPENGL_INCLUDE_DIR=${mesa}/include"
-                 "-DOPENGL_gl_LIBRARY:FILEPATH=${mesa}/lib/libGL.dylib"
-                 "-DOPENGL_glu_LIBRARY:FILEPATH=${mesa}/lib/libGLU.dylib"
+                 "-DOPENGL_INCLUDE_DIR=${mesa_noglu}/include"
+                 "-DOPENGL_gl_LIBRARY:FILEPATH=${mesa_noglu}/lib/libGL.dylib"
+                 "-DOPENGL_glu_LIBRARY:FILEPATH=${mesa_glu}/lib/libGLU.dylib"
                  "-DFREEGLUT_BUILD_DEMOS:BOOL=OFF"
                  "-DFREEGLUT_BUILD_STATIC:BOOL=OFF"
                ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Create and manage windows containing OpenGL contexts";
     longDescription = ''
diff --git a/pkgs/development/libraries/giblib/default.nix b/pkgs/development/libraries/giblib/default.nix
index 9a73b82f8884..17847695f973 100644
--- a/pkgs/development/libraries/giblib/default.nix
+++ b/pkgs/development/libraries/giblib/default.nix
@@ -2,16 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "giblib-1.2.4";
-  
+
   src = fetchurl {
     url = "http://linuxbrit.co.uk/downloads/${name}.tar.gz";
     sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp";
   };
-  
-  buildInputs = [xlibsWrapper imlib2];
+
+  buildInputs = [ xlibsWrapper ];
+  propagatedBuildInputs = [ imlib2 ];
 
   meta = {
     homepage = http://linuxbrit.co.uk/giblib/;
+    description = "wrapper library for imlib2, and other stuff";
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/git2/0.23.nix b/pkgs/development/libraries/git2/0.23.nix
new file mode 100644
index 000000000000..3cf429ab1d73
--- /dev/null
+++ b/pkgs/development/libraries/git2/0.23.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv }:
+
+stdenv.mkDerivation (rec {
+  version = "0.23.2";
+  name = "libgit2-${version}";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "https://github.com/libgit2/libgit2/tarball/v${version}";
+    sha256 = "1d3901bmgvdnmzrx21afi1d0llsqmca3ckj942p0i2wpdpr1kbcp";
+  };
+
+  cmakeFlags = "-DTHREADSAFE=ON";
+
+  nativeBuildInputs = [ cmake python pkgconfig ];
+  buildInputs = [ zlib libssh2 openssl http-parser ];
+
+  meta = {
+    description = "the Git linkable library";
+    homepage = http://libgit2.github.com/;
+    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/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index c4487dca5977..2bd500b9efbc 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, curl, http-parser, libiconv }:
 
 stdenv.mkDerivation (rec {
-  version = "0.24.2";
+  version = "0.24.3";
   name = "libgit2-${version}";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    sha256 = "0avijw83vfx64cn23vx2j1h14zmkx8silgjnq6q2qw2z3sh73hs1";
+    sha256 = "01jdp0i0nxhx8w2gjd75mwfy1d4z2c5xzz7q5jfypa6pkdi86dmh";
   };
 
   # TODO: `cargo` (rust's package manager) surfaced a serious bug in
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
index 3b015532ca8b..feb769229c02 100644
--- a/pkgs/development/libraries/glfw/3.x.nix
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.2";
+  version = "3.2.1";
   name = "glfw-${version}";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = "${version}";
-    sha256 = "0knqf40jij2z1mia091xqyky5r11r4qyh7b8172blrmgm9q23sl9";
+    sha256 = "0gq6ad38b3azk0w2yy298yz2vmg2jmf9g0ydidqbmiswpk25ills";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index a91acdbb0086..4e18e4d16b2c 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -14,7 +14,7 @@ let
   inherit (stdenv.lib) optional optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.8.2";
+  name = "gst-plugins-bad-1.10.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "d7995317530c8773ec088f94d9320909d41da61996b801ebacce9a56af493f97";
+    sha256 = "07cjra4fclrk6lpdm5hrsgp79aqpklx3v3l9scain091zvchwghk";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 00aa893bd33e..319f7c75a750 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.8.2";
+  name = "gst-plugins-base-1.10.1";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "9d7109c8fb0a5dec8edb17b0053c59a46aba7ddf48dc48ea822ebbbd4339d38d";
+    sha256 = "1jbnr6vbklzli493xdd8y5sflm32r90lifpacxw9vbvs9hlyxkv6";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index da6a8c7a74a4..55da05c4c971 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.8.2";
+  name = "gstreamer-1.10.1";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "9dbebe079c2ab2004ef7f2649fa317cabea1feb4fb5605c24d40744b90918341";
+    sha256 = "1npnpyrw8603ivi5g3ziglvh3hq2shypid2vjcmki6g6w2bgk3gn";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 5f60b9c03a31..06776de9340c 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.8.2";
+  name = "gstreamer-editing-services-1.10.1";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "a1d57ff9461407cca1f6e7a9f31a5bdb73f73f33c488a3e3318b27e10a4332ae";
+    sha256 = "048dxpbzmidbl1sb902nx8rkg8m0z69f3dn7vfhs1ai68x2hzip9";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index a44bdbcd08c4..ba6f79c138ab 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -10,7 +10,7 @@ let
   inherit (stdenv.lib) optionals optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.8.2";
+  name = "gst-plugins-good-1.10.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "8d7549118a3b7a009ece6bb38a05b66709c551d32d2adfd89eded4d1d7a23944";
+    sha256 = "1hkcap9l2603266gyi6jgvx7frbvfmb7xhfhjizbczy1wykjwr57";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
index 176e19000e91..a1e28efbff46 100644
--- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1 }:
 
 let
-  ver_maj = "1.4";
-  ver_min = "3";
+  ver_maj = "1.8";
+  ver_min = "0";
 in
 stdenv.mkDerivation rec {
   name = "gstreamermm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/${name}.tar.xz";
-    sha256 = "0bj6and9b26d32bq90l8nx5wqh2ikkh8dm7qwxyxfdvmrzhixhgi";
+    sha256 = "0i4sk6ns4dyi4szk45bkm4kvl57l52lgm15p2wg2rhx2gr2w3qry";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 788aacf03ec6..7ae10f50c4d6 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -9,7 +9,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.8.2";
+  name = "gst-libav-1.10.1";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "b5f3c7a27b39b5f5c2f0bfd546b0c655020faf6b38d27b64b346c43e5ebf687a";
+    sha256 = "1ivjbh5g0l5ykfpc16kq5x2jz8d4ignyha14jpiz3pz6w26qpci7";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index 9d6fa94cf3ae..78127e3ce98a 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -6,14 +6,14 @@
 let
   inherit (pythonPackages) python pygobject3;
 in stdenv.mkDerivation rec {
-  name = "gst-python-1.8.2";
+  name = "gst-python-1.10.1";
 
   src = fetchurl {
     urls = [
       "${meta.homepage}/src/gst-python/${name}.tar.xz"
       "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "15sdfa6lq5pswvi09vk51cs30yf8wr2rlm9myhb4q0c2jhiial2g";
+    sha256 = "04xhh0z0c0s6aq7kvmfs4r6yl1pjnqz0krp05pbjy62ayx5b61ak";
   };
 
   patches = [ ./different-path-with-pygobject.patch ];
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index ab6e1f9f4f17..df5b682a2371 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.8.2";
+  name = "gst-plugins-ugly-1.10.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "9c5b33a2a98fc1d6d6c99a1b536b1fb2de45f53cc8bf8ab85a8b8141fed1a8ac";
+    sha256 = "1hl385fys7hfx5ffipavvhciq6hwm731rs4d6r9fn7h9qagxbv55";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 9972468f1b7f..f18b9fc214dc 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -1,24 +1,25 @@
 { stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva, wayland
 , libdrm, udev, xorg, mesa, yasm, gstreamer, gst-plugins-bad, nasm
-, libvpx
+, libvpx, python
 }:
 
 stdenv.mkDerivation rec {
   name = "gst-vaapi-${version}";
-  version = "0.7.0";
+  version = "1.10.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/software/vaapi/releases/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.bz2";
-    sha256 = "14jal2g5mf8r59w8420ixl3kg50vcmy56446ncwd0xrizd6yms5b";
+    url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
+    sha256 = "0d6sw5j7x3ah7zlcipy7w3fwag0fqxyfgc8q4phnazgk16kcmblr";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = with stdenv.lib; [ pkgconfig bzip2 ];
+  nativeBuildInputs = [ pkgconfig bzip2 ];
 
   buildInputs = [
     gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
-    xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM xorg.libICE mesa nasm libvpx
+    xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
+    xorg.libICE mesa nasm libvpx python
   ];
 
   preConfigure = "
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-builtin-libvpx --with-gstreamer-api=1.0";
 
   meta = {
-    homepage = "http://www.freedesktop.org";
+    homepage = "http://gstreamer.freedesktop.org";
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ tstrobel ];
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index 2de3955ab06a..2f5ba2372ce7 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
-, python, gobjectIntrospection
+, python, gobjectIntrospection, json_glib
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-validate-1.8.2";
+  name = "gst-validate-1.10.1";
 
   meta = {
     description = "Integration testing infrastructure for the GStreamer framework";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
-    sha256 = "33c5b585c5ca1659fe6c09fdf02e45d8132c0d386b405bf527b14ab481a0bafe";
+    sha256 = "0x9z0kizi44swsrx8mdc6xlmn9dksdfifchp5h6liibp7qd6gbh7";
   };
 
   outputs = [ "out" "dev" ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    python
+    python json_glib
   ];
 
   propagatedBuildInputs = [ gstreamer gst-plugins-base ];
diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix
index 119e3f77f670..1ec2a7cd6f0d 100644
--- a/pkgs/development/libraries/gtkmm/2.x.nix
+++ b/pkgs/development/libraries/gtkmm/2.x.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [pkgconfig];
 
   propagatedBuildInputs = [ glibmm gtk2 atkmm cairomm pangomm ];
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 8b2383f33cce..49055f6b4a95 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ epoxy ];
 
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index a7bf4af99fb3..ba8fe038ffac 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -16,9 +16,6 @@ stdenv.mkDerivation ({
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
-  makeFlags = stdenv.lib.optionalString stdenv.isDarwin
-    "CXXFLAGS=-headerpad_max_install_names";
-
   # FIXME: This fixes dylib references in the dylibs themselves, but
   # not in the programs in $out/bin.
   buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 85e9979ebb07..a6ad33d842c9 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, xlibsWrapper, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig }:
+{ stdenv, fetchurl, libjpeg, libtiff, giflib, libpng, bzip2, pkgconfig
+, freetype
+, x11Support ? true, xlibsWrapper ? null }:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "imlib2-1.4.9";
@@ -8,7 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "08809xxk2555yj6glixzw9a0x3x8cx55imd89kj3r0h152bn8a3x";
   };
 
-  buildInputs = [ xlibsWrapper libjpeg libtiff giflib libpng bzip2 ];
+  buildInputs = [ libjpeg libtiff giflib libpng bzip2 freetype ]
+    ++ optional x11Support xlibsWrapper;
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -21,7 +26,14 @@ stdenv.mkDerivation rec {
 
   # Do not build amd64 assembly code on Darwin, because it fails to compile
   # with unknow directive errors
-  configureFlags = if stdenv.isDarwin then [ "--enable-amd64=no" ] else null;
+  configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
+    ++ optional (!x11Support) "--without-x";
+
+  outputs = [ "out" "bin" "dev" ];
+
+  postInstall = ''
+    moveToOutput bin/imlib2-config "$dev"
+  '';
 
   meta = {
     description = "Image manipulation library";
@@ -34,8 +46,8 @@ stdenv.mkDerivation rec {
       easily, without sacrificing speed.
     '';
 
-    license = stdenv.lib.licenses.free;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ spwhitt ];
+    license = licenses.free;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ spwhitt ];
   };
 }
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 895d72dd7a0a..9568d9bbb3bc 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, fetchpatch, libjpeg, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "jasper-1.900.21";
+  name = "jasper-1.900.28";
 
   src = fetchurl {
+    # You can find this code on Github at https://github.com/mdadams/jasper
+    # however note at https://www.ece.uvic.ca/~frodo/jasper/#download
+    # not all tagged releases are for distribution.
     url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.tar.gz";
-    sha256 = "1cypmlzq5vmbacsn8n3ls9p7g64scv3fzx88qf8c270dz10s5j79";
+    sha256 = "0nsiblsfpfa0dahsk6hw9cd18fp9c8sk1z5hdp19m33c0bf92ip9";
   };
 
   # newer reconf to recognize a multiout flag
diff --git a/pkgs/development/libraries/java/shared-objects/default.nix b/pkgs/development/libraries/java/shared-objects/default.nix
deleted file mode 100644
index 9453aa0635c7..000000000000
--- a/pkgs/development/libraries/java/shared-objects/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, jdk}:
-
-stdenv.mkDerivation {
-  name = "shared-objects-1.4";
-  src = fetchurl {
-    url = http://www.cwi.nl/projects/MetaEnv/shared-objects/shared-objects-1.4.tar.gz;
-    md5 = "c1f2c58bd1a07be32da8a6b89354a11f";
-  };
-  buildInputs = [stdenv jdk];
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index a332487d4edf..84638bc01ea6 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "jemalloc-4.1.1";
+  name = "jemalloc-${version}";
+  version = "4.3.1";
 
   src = fetchurl {
-    url = "http://www.canonware.com/download/jemalloc/${name}.tar.bz2";
-    sha256 = "1bmdr51wxiir595k2r6z9a7rcgm42kkgnr586xir7vdcndr3pwf8";
+    url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
+    sha256 = "12r71i8nm3vwz21fc16rwbb0pwcg5s05n1qg3rwl2s85v0x1ifzp";
   };
 
   # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
 
   meta = with stdenv.lib; {
-    homepage = http://www.canonware.com/jemalloc/index.html;
+    homepage = http://jemalloc.net;
     description = "General purpose malloc(3) implementation";
     longDescription = ''
       malloc(3)-compatible memory allocator that emphasizes fragmentation
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 4b214c37a698..397d59f8b246 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -56,20 +56,15 @@ let
         } // (args.meta or {});
       });
 
-    kdeEnv = import ./kde-env.nix {
-      inherit (pkgs) stdenv lib;
-      inherit (pkgs.xorg) lndir;
-    };
-
     kdeWrapper = import ./kde-wrapper.nix {
       inherit (pkgs) stdenv lib makeWrapper;
-      inherit kdeEnv;
     };
 
     attica = callPackage ./attica.nix {};
     baloo = callPackage ./baloo.nix {};
     bluez-qt = callPackage ./bluez-qt.nix {};
     breeze-icons = callPackage ./breeze-icons.nix {};
+    # FIXME: this collides with the "ecm" package.
     ecm =
       let drv = { cmake, ecmNoHooks, pkgconfig, qtbase, qttools }:
             makeSetupHook
diff --git a/pkgs/development/libraries/kde-frameworks/kde-env.nix b/pkgs/development/libraries/kde-frameworks/kde-env.nix
deleted file mode 100644
index 5ddf89a0129f..000000000000
--- a/pkgs/development/libraries/kde-frameworks/kde-env.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, lib, lndir }:
-
-drv: pkgs:
-
-stdenv.mkDerivation {
-  name = "kde-env-${drv.name}";
-  nativeBuildInputs = [ lndir ];
-  envPkgs = builtins.map lib.getBin ([drv] ++ pkgs);
-  unpackPhase = "true";
-  configurePhase = "runHook preConfigure; runHook postConfigure";
-  buildPhase = "true";
-  installPhase = ''
-    runHook preInstall
-
-    propagated=""
-    for i in $envPkgs; do
-        findInputs $i propagated propagated-user-env-packages
-    done
-
-    for tgt in bin etc/xdg lib/libexec lib/qt5 share; do
-        mkdir -p "$out/$tgt"
-        for p in $propagated; do
-            if [ -d "$p/$tgt" ]; then
-                lndir -silent "$p/$tgt" "$out/$tgt" >/dev/null 2>&1
-            fi
-        done
-    done
-
-    runHook postInstall
-  '';
-}
diff --git a/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix b/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix
index 153ca31fd625..3591e20d11fb 100644
--- a/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix
+++ b/pkgs/development/libraries/kde-frameworks/kde-wrapper.nix
@@ -1,17 +1,14 @@
-{ stdenv, lib, makeWrapper, kdeEnv }:
+{ stdenv, lib, makeWrapper }:
 
 drv:
 
 { targets, paths ? [] }:
 
-let
-  env = kdeEnv drv paths;
-in
 stdenv.mkDerivation {
-  inherit (drv) name;
+  inherit (drv) name meta;
 
-  drv = lib.getBin drv;
-  inherit env targets;
+  paths = builtins.map lib.getBin ([drv] ++ paths);
+  inherit drv targets;
   passthru = { unwrapped = drv; };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -21,16 +18,36 @@ stdenv.mkDerivation {
   buildPhase = "true";
 
   installPhase = ''
+    propagated=
+    for p in $drv $paths; do
+        findInputs $p propagated propagated-user-env-packages
+    done
+
+    wrap_PATH="$out/bin"
+    wrap_XDG_DATA_DIRS=
+    wrap_XDG_CONFIG_DIRS=
+    wrap_QML_IMPORT_PATH=
+    wrap_QML2_IMPORT_PATH=
+    wrap_QT_PLUGIN_PATH=
+    for p in $propagated; do
+        addToSearchPath wrap_PATH "$p/bin"
+        addToSearchPath wrap_XDG_DATA_DIRS "$p/share"
+        addToSearchPath wrap_XDG_CONFIG_DIRS "$p/etc/xdg"
+        addToSearchPath wrap_QML_IMPORT_PATH "$p/lib/qt5/imports"
+        addToSearchPath wrap_QML2_IMPORT_PATH "$p/lib/qt5/qml"
+        addToSearchPath wrap_QT_PLUGIN_PATH "$p/lib/qt5/plugins"
+    done
+
     for t in $targets; do
         if [ -a "$drv/$t" ]; then
             makeWrapper "$drv/$t" "$out/$t" \
                 --argv0 '"$0"' \
-                --suffix PATH : "$out/bin:$env/bin" \
-                --prefix XDG_CONFIG_DIRS : "$env/etc/xdg" \
-                --prefix XDG_DATA_DIRS : "$env/share" \
-                --set QML_IMPORT_PATH "$env/lib/qt5/imports" \
-                --set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
-                --set QT_PLUGIN_PATH "$env/lib/qt5/plugins"
+                --suffix PATH : "$wrap_PATH" \
+                --prefix XDG_CONFIG_DIRS : "$wrap_XDG_CONFIG_DIRS" \
+                --prefix XDG_DATA_DIRS : "$wrap_XDG_DATA_DIRS" \
+                --set QML_IMPORT_PATH "$wrap_QML_IMPORT_PATH" \
+                --set QML2_IMPORT_PATH "$wrap_QML2_IMPORT_PATH" \
+                --set QT_PLUGIN_PATH "$wrap_QT_PLUGIN_PATH"
         else
             echo "no such file or directory: $drv/$t"
             exit 1
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index c279d698e129..883625e551a7 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1kf8pkwhcssvgzhh6ha1pjjiziwvwmfaali7kaafh6118mcy124b";
   };
 
+  outputs = [ "out" "dev" ];
+
   patches = [ ./perl-5.22-compat.patch ];
 
   postPatch = ''
@@ -19,6 +21,10 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-ssl=${openssl.dev}" "--with-drill" ];
 
+  postInstall = ''
+    moveToOutput "bin/ldns-config" "$dev"
+  '';
+
   meta = with stdenv.lib; {
     description = "Library with the aim of simplifying DNS programming in C";
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
index c67b3701ec91..20531adcd1c7 100644
--- a/pkgs/development/libraries/libLAS/default.nix
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip }:
 
 stdenv.mkDerivation rec {
-  name = "libLAS-1.8.0";
+  name = "libLAS-1.8.1";
 
   src = fetchurl {
 
     url = "http://download.osgeo.org/liblas/${name}.tar.bz2";
-    md5 = "599881281d45db4ce9adb2d75458391e";
+    sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
-  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip];
+  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip ];
 
 
   meta = {
diff --git a/pkgs/development/libraries/libaacs/default.nix b/pkgs/development/libraries/libaacs/default.nix
index 229eca5e5972..fc27f3a2c6b5 100644
--- a/pkgs/development/libraries/libaacs/default.nix
+++ b/pkgs/development/libraries/libaacs/default.nix
@@ -7,15 +7,12 @@
 # http://vlc-bluray.whoknowsmy.name/
 # https://wiki.archlinux.org/index.php/BluRay
 
-let baseName = "libaacs";
-    version  = "0.8.1";
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+stdenv.mkDerivation rec {
+  name = "libaacs-${version}";
+  version  = "0.8.1";
 
   src = fetchurl {
-    url = "http://get.videolan.org/${baseName}/${version}/${baseName}-${version}.tar.bz2";
+    url = "http://get.videolan.org/libaacs/${version}/${name}.tar.bz2";
     sha256 = "1s5v075hnbs57995r6lljm79wgrip3gnyf55a0y7bja75jh49hwm";
   };
 
@@ -24,7 +21,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ yacc flex ];
 
   meta = with stdenv.lib; {
-    homepage = https://www.videolan.org/developers/libaacs.html;
+    homepage = "https://www.videolan.org/developers/libaacs.html";
     description = "Library to access AACS protected Blu-Ray disks";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index b2b007765820..3ee35e5bf576 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -10,11 +10,11 @@ assert xarSupport -> libxml2 != null;
 
 stdenv.mkDerivation rec {
   name = "libarchive-${version}";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchurl {
     url = "${meta.homepage}/downloads/${name}.tar.gz";
-    sha256 = "1lngng84k1kkljl74q0cdqc3s82vn2kimfm02dgm4d6m7x71mvkj";
+    sha256 = "03q6y428rg723c9fj1vidzjw46w1vf8z0h95lkvz1l9jw571j739";
   };
 
   outputs = [ "out" "lib" "dev" ];
diff --git a/pkgs/development/libraries/libbdplus/default.nix b/pkgs/development/libraries/libbdplus/default.nix
index 1f47e5f8dcd4..4531546f33fd 100644
--- a/pkgs/development/libraries/libbdplus/default.nix
+++ b/pkgs/development/libraries/libbdplus/default.nix
@@ -7,16 +7,12 @@
 # http://vlc-bluray.whoknowsmy.name/
 # https://wiki.archlinux.org/index.php/BluRay
 
-
-let baseName = "libbdplus";
-    version  = "0.1.2";
-in
-
-stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+stdenv.mkDerivation rec {
+  name = "libbdplus-${version}";
+  version  = "0.1.2";
 
   src = fetchurl {
-    url = "http://get.videolan.org/${baseName}/${version}/${baseName}-${version}.tar.bz2";
+    url = "http://get.videolan.org/libbdplus/${version}/${name}.tar.bz2";
     sha256 = "02n87lysqn4kg2qk7d1ffrp96c44zkdlxdj0n16hbgrlrpiwlcd6";
   };
 
@@ -25,7 +21,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ ];
 
   meta = with stdenv.lib; {
-    homepage = http://www.videolan.org/developers/libbdplus.html;
+    homepage = "http://www.videolan.org/developers/libbdplus.html";
     description = "Library to access BD+ protected Blu-Ray disks";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 729fc27a0d37..c5bf7fd7f982 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -18,12 +18,11 @@ assert withFonts -> freetype != null;
 # https://wiki.archlinux.org/index.php/BluRay
 
 stdenv.mkDerivation rec {
-  baseName = "libbluray";
+  name = "libbluray-${version}";
   version  = "0.9.2";
-  name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = "http://get.videolan.org/${baseName}/${version}/${name}.tar.bz2";
+    url = "http://get.videolan.org/libbluray/${version}/${name}.tar.bz2";
     sha256 = "1sp71j4agcsg17g6b85cqz78pn5vknl5pl39rvr6mkib5ps99jgg";
   };
 
@@ -55,7 +54,7 @@ stdenv.mkDerivation rec {
   patches = stdenv.lib.optional withJava ./BDJ-JARFILE-path.patch;
 
   meta = with stdenv.lib; {
-    homepage = http://www.videolan.org/developers/libbluray.html;
+    homepage = "http://www.videolan.org/developers/libbluray.html";
     description = "Library to access Blu-Ray disks for video playback";
     license = licenses.lgpl21;
     maintainers = [ maintainers.abbradar ];
diff --git a/pkgs/development/libraries/libburn/default.nix b/pkgs/development/libraries/libburn/default.nix
index cedc376972b6..5738245a0bd1 100644
--- a/pkgs/development/libraries/libburn/default.nix
+++ b/pkgs/development/libraries/libburn/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "libburn-${version}";
-  version = "1.4.4";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${name}.tar.gz";
-    sha256 = "053x1sj6r5pj5396g007v6l0s7942cy2mh5fd3caqx0jdw6h9xqv";
+    sha256 = "0wbh49s3az3sfpai09z1zdgynq7wnwrk31v5589033274nmzldlx";
   };
 
   meta = with stdenv.lib; {
-    homepage = http://libburnia-project.org/;
+    homepage = "http://libburnia-project.org/";
     description = "A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbradar vrthra ];
diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix
index 3b63ba98f572..68bd72f3e0f5 100644
--- a/pkgs/development/libraries/libdevil/default.nix
+++ b/pkgs/development/libraries/libdevil/default.nix
@@ -1,12 +1,10 @@
-{ stdenv, fetchurl, libjpeg, libpng, libmng, lcms1, libtiff, openexr, mesa
-, libX11, pkgconfig
-
-, OpenGL
+{ stdenv, fetchurl, libjpeg, libpng, libmng, lcms1, libtiff, openexr, mesa_noglu
+, libX11, pkgconfig, OpenGL
 }:
 
 stdenv.mkDerivation rec {
 
-  name ="libdevil-${version}";
+  name = "libdevil-${version}";
   version = "1.7.8";
 
   src = fetchurl {
@@ -14,7 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "1zd850nn7nvkkhasrv7kn17kzgslr5ry933v6db62s4lr0zzlbv8";
   };
 
-  buildInputs = [ libjpeg libpng libmng lcms1 libtiff openexr mesa libX11 ]
+  outputs = [ "out" "dev" ];
+
+  buildInputs = [ libjpeg libpng libmng lcms1 libtiff openexr mesa_noglu libX11 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ OpenGL ];
   nativeBuildInputs = [ pkgconfig ];
 
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
       ./il_endian.h.patch
     ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://openil.sourceforge.net/;
     description = "An image library which can can load, save, convert, manipulate, filter and display a wide variety of image formats";
diff --git a/pkgs/development/libraries/libdivecomputer/default.nix b/pkgs/development/libraries/libdivecomputer/default.nix
new file mode 100644
index 000000000000..23ab36fe09f0
--- /dev/null
+++ b/pkgs/development/libraries/libdivecomputer/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libdivecomputer-${version}";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "http://www.libdivecomputer.org/releases/${name}.tar.gz";
+    sha256 = "11n2qpqg4b2h7mqifp9qm5gm1aqwy7wj1j4j5ha0wdjf55zzy30y";
+  };
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.libdivecomputer.org;
+    description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
+    maintainers = [ maintainers.mguentner ];
+    license = licenses.lgpl21;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index f2174470becf..a0923a15d4ad 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev, valgrind }:
+{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.71";
+  name = "libdrm-2.4.73";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "c66287ddeee5f46ea8f8880b94b80acb3bbc33ba6321d17767eef145046df9b8";
+    sha256 = "0kayvwqqrjm45y6dk9q2b4gmjdasci0y28jzv4bq05py8a9d7gwn";
   };
 
   outputs = [ "out" "dev" ];
@@ -13,7 +13,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libpthreadstubs libpciaccess ];
     # libdrm as of 2.4.70 does not actually do anything with udev.
-    #++ stdenv.lib.optional stdenv.isLinux udev;
 
   patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
 
@@ -21,7 +20,6 @@ stdenv.mkDerivation rec {
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
   configureFlags = [ "--enable-freedreno" "--disable-valgrind" ]
-    ++ stdenv.lib.optional stdenv.isLinux "--enable-udev"
     ++ stdenv.lib.optional stdenv.isDarwin "-C";
 
   crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
@@ -30,7 +28,6 @@ stdenv.mkDerivation rec {
     homepage = http://dri.freedesktop.org/libdrm/;
     description = "Library for accessing the kernel's Direct Rendering Manager";
     license = "bsd";
-    maintainers = [ stdenv.lib.maintainers.urkud ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index 364ff28f9a62..17aeb1d4377f 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, openssl, findutils }:
+{ stdenv, fetchurl, openssl, findutils }:
 
 let version = "2.0.22"; in
 stdenv.mkDerivation {
@@ -12,7 +12,6 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
-  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isCygwin findutils;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 2158f26f2859..61fb8f2ffd86 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/filezilla/libfilezilla/${version}/${name}.tar.bz2";
-    sha256 = "1lyxlras357p17vbwfhwny69izjx74xncaxpyk1n4d2jbsvjspfr";
+    url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
+    sha256 = "0pq143f2j0g6ghl9vk1d3xw4ws2cddc8li8lm69v7lv8inz1dvhb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index a3b011629141..f0257ed8a44b 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -17,11 +17,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "0708259k2qpdyi8z8n74d2pprjdvivmqkskjkq7s7ypchn9mb5js";
+    sha256 = "d4f63933b0967bd691735af5e3919e2d29c2121d4e05867cc4e10ff3ae8e2dd8";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libisofs/default.nix b/pkgs/development/libraries/libisofs/default.nix
index 85e32cc1af1f..8885092d0e7d 100644
--- a/pkgs/development/libraries/libisofs/default.nix
+++ b/pkgs/development/libraries/libisofs/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "libisofs-${version}";
-  version = "1.4.4";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${name}.tar.gz";
-    sha256 = "1zdx56k847c80ds5yf40hh0a26lkqrc0v11r589dqlm6xvzg0614";
+    sha256 = "02m5g6lbmmkh2xc5xzq5zaf3ma6v31gls66aj886b3cq9qw0paql";
   };
 
   buildInputs = [ attr zlib ];
   propagatedBuildInputs = [ acl ];
 
   meta = with stdenv.lib; {
-    homepage = http://libburnia-project.org/;
+    homepage = "http://libburnia-project.org/";
     description = "A library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbradar vrthra ];
diff --git a/pkgs/development/libraries/libktorrent/5.nix b/pkgs/development/libraries/libktorrent/5.nix
new file mode 100644
index 000000000000..e5406d3a2a58
--- /dev/null
+++ b/pkgs/development/libraries/libktorrent/5.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, ecm
+, karchive, kcrash, ki18n, kio, solid
+, boost, gmp, qca-qt5, libgcrypt
+}:
+
+stdenv.mkDerivation rec {
+  name = "libktorrent-2.0.1";
+
+  src = fetchurl {
+    url = http://download.kde.org/stable/ktorrent/5.0/libktorrent-2.0.1.tar.xz;
+    sha256 = "0hiz4wm8jkymp24r6f1g8svj3pw9qspbjajf512m3j8s3bhrw3f7";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake ecm ];
+  buildInputs = [ karchive kcrash ki18n kio solid qca-qt5 libgcrypt ];
+
+  propagatedBuildInputs = [ gmp boost ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A BitTorrent library used by KTorrent";
+    homepage = https://www.kde.org/applications/internet/ktorrent/;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix
index db07775d45ed..9e7fb0a0b3d5 100644
--- a/pkgs/development/libraries/libktorrent/default.nix
+++ b/pkgs/development/libraries/libktorrent/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "A BiTtorrent library used by KTorrent";
+    description = "A BitTorrent library used by KTorrent";
     homepage = http://ktorrent.pwsp.net;
     inherit (kdelibs.meta) platforms;
   };
diff --git a/pkgs/development/libraries/libmarble-ssrf/default.nix b/pkgs/development/libraries/libmarble-ssrf/default.nix
new file mode 100644
index 000000000000..1d6c54134393
--- /dev/null
+++ b/pkgs/development/libraries/libmarble-ssrf/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, doxygen, pkgconfig, cmake, qtbase, qtscript, qtquick1 }:
+
+stdenv.mkDerivation rec {
+  name = "libmarble-ssrf-${version}";
+  version = "2016-11-09";
+
+  src = fetchgit {
+    sha256 = "1dm2hdk6y36ls7pxbzkqmyc46hdy2cd5f6pkxa6nfrbhvk5f31zd";
+    url = "git://git.subsurface-divelog.org/marble";
+    rev = "4325da93b7516abb6f93a1417adc10593dacd794";
+  };
+
+  buildInputs = [ qtbase qtscript qtquick1 ];
+  nativeBuildInputs = [ doxygen pkgconfig cmake ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    cmakeFlags="$cmakeFlags -DCMAKE_BUILD_TYPE=Release \
+                            -DQTONLY=TRUE -DQT5BUILD=ON \
+                            -DBUILD_MARBLE_TESTS=NO \
+                            -DWITH_DESIGNER_PLUGIN=NO \
+                            -DBUILD_MARBLE_APPS=NO"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Qt library for a slippy map with patches from the Subsurface project";
+    homepage = "http://subsurface-divelog.org";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.mguentner ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index ea6e1e50035d..a20bc7e5f3c5 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 let
-  version = "1.6.23";
-  sha256 = "1wb2j8sba6g2h4vmv4pwsp93q74qw4gyqqs4b7vfjmpcv9xix4kd";
+  version = "1.6.26";
+  sha256 = "1ybkgcqqsd4iiiyv60pxjfi1csszb50bd2cxxsy3sv4q4sil6rr6";
   patch_src = fetchurl {
     url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
-    sha256 = "1lvsn1kmarzpn269zgykjfmxq16zrdhpd1a75nzgclx97436x408";
+    sha256 = "0b6p2k4afvhk1svargpllcvhxb4g3p857wkqk85cks0yv42ckph1";
   };
   whenPatched = stdenv.lib.optionalString apngSupport;
 
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 4c9733c6a5e5..97929d29b377 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, cmake, zlib, glib }:
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake
+, dbus, networkmanager, spidermonkey_1_8_5 }:
 
 stdenv.mkDerivation rec {
-  name = "libproxy-0.4.11";
-  src = fetchurl {
-    url = "http://libproxy.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0jw6454gxjykmbnbh544axi8hzz9gmm4jz1y5gw1hdqnakg36gyw";
+  name = "libproxy-${version}";
+  version = "0.4.13";
+
+  src = fetchFromGitHub {
+    owner = "libproxy";
+    repo = "libproxy";
+    rev = version;
+    sha256 = "0yg4wr44ync6x3p107ic00m1l04xqhni9jn1vzvkw3nfjd0k6f92";
   };
 
   outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
 
   nativeBuildInputs = [ pkgconfig cmake ];
-  propagatedBuildInputs = [ zlib ]
-    # now some optional deps, but many more are possible
-    ++ [ glib ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  buildInputs = [ dbus networkmanager spidermonkey_1_8_5 ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+    homepage = "http://libproxy.github.io/libproxy/";
+    description = "A library that provides automatic proxy configuration management";
   };
 }
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index e4cb2e61eeb0..be77b383cd92 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -11,14 +11,14 @@ let
     owner = "publicsuffix";
   };
 
-  libVersion = "0.14.0";
+  libVersion = "0.15.0";
 
 in stdenv.mkDerivation rec {
   name = "libpsl-${version}";
   version = "${libVersion}-list-${listVersion}";
 
   src = fetchFromGitHub {
-    sha256 = "1nqawm41rxaxddrqnwhxw1cgcpf74q6jw756sh0x8zbsjc73mbfq";
+    sha256 = "1n8vg8pslpgin84ygb0s0nqfljml32l5bv5fyc8ysnpbdsj6gxkb";
     rev = "libpsl-${libVersion}";
     repo = "libpsl";
     owner = "rockdaboot";
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 394e6c2c170f..49fddd06c171 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,15 +1,14 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, zlib, libjpeg, xz }:
 
 let
-  version = "4.0.6";
-  debversion = "3";
+  version = "4.0.7";
 in
 stdenv.mkDerivation rec {
   name = "libtiff-${version}";
 
   src = fetchurl {
     url = "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
-    sha256 = "136nf1rj9dp5jgv1p7z4dk0xy3wki1w0vfjbk82f645m0w4samsd";
+    sha256 = "06ghqhr4db1ssq0acyyz49gr8k41gzw6pqb6mbn5r7jqp77s4hwz";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
@@ -20,54 +19,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = let p = "https://sources.debian.net/data/main/t/tiff/${version}-${debversion}/debian/patches"; in [
-    (fetchurl {
-      url = "${p}/01-CVE-2015-8665_and_CVE-2015-8683.patch";
-      sha256 = "0qiiqpbbsf01b59x01z38cg14pmg1ggcsqm9n1gsld6rr5wm3ryz";
-    })
-    (fetchurl {
-      url = "${p}/02-fix_potential_out-of-bound_writes_in_decode_functions.patch";
-      sha256 = "1ph057w302i2s94rhdw6ksyvpsmg1nlanvc0251x01s23gkdbakv";
-    })
-    (fetchurl {
-      url = "${p}/03-fix_potential_out-of-bound_write_in_NeXTDecode.patch";
-      sha256 = "1nhjg2gdvyzi4wa2g7nwmzm7nssz9dpdfkwms1rp8i1034qdlgc6";
-    })
-    (fetchurl {
-      url = "${p}/04-CVE-2016-5314_CVE-2016-5316_CVE-2016-5320_CVE-2016-5875.patch";
-      sha256 = "0n47yk9wcvc9j72yvm5bhpaqq0yfz8jnq9zxbnzx5id9gdxmrkn3";
-    })
-    (fetchurl {
-      url = "${p}/05-CVE-2016-6223.patch";
-      sha256 = "0r80hil9k6scdjppgyljhm0s2z6c8cm259f0ic0xvxidfaim6g2r";
-    })
-    (fetchurl {
-      url = "${p}/06-CVE-2016-5321.patch";
-      sha256 = "1aacymlqv6cam8i4nbma9v05r3v3xjpagns7q0ii268h0mhzq6qg";
-    })
-    (fetchurl {
-      url = "${p}/07-CVE-2016-5323.patch";
-      sha256 = "1xr5hy2fxa71j3fcc1l998pxyblv207ygzyhibwb1lia5zjgblch";
-    })
-    (fetchurl {
-      url = "${p}/08-CVE-2016-3623_CVE-2016-3624.patch";
-      sha256 = "1xnvwjvgyxi387h1sdiyp4360a3176jmipb7ghm8vwiz7cisdn9z";
-    })
-    (fetchurl {
-      url = "${p}/09-CVE-2016-5652.patch";
-      sha256 = "1yqfq32gzh21ab2jfqkq13gaz0nin0492l06adzsyhr5brvdhnx8";
-    })
-    (fetchurl {
-      url = "${p}/10-CVE-2016-3658.patch";
-      sha256 = "01kb8rfk30fgjf1hy0m088yhjfld1yyh4bk3gkg8jx3dl9bd076d";
-    })
-  ];
-
   doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Library and utilities for working with the TIFF image file format";
-    homepage = http://www.remotesensing.org/libtiff/;
+    homepage = http://download.osgeo.org/libtiff;
     license = licenses.libtiff;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libvdpau-va-gl/default.nix b/pkgs/development/libraries/libvdpau-va-gl/default.nix
index 8065df5c5b52..ae2492beba6b 100644
--- a/pkgs/development/libraries/libvdpau-va-gl/default.nix
+++ b/pkgs/development/libraries/libvdpau-va-gl/default.nix
@@ -3,20 +3,20 @@
 
 stdenv.mkDerivation rec {
   name = "libvdpau-va-gl-${version}";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "i-rinat";
     repo = "libvdpau-va-gl";
     rev = "v${version}";
-    sha256 = "1y511jxs0df1fqzjcvb6zln7nbmchv1g6z3lw0z9nsf64ziycj8k";
+    sha256 = "0asndybfv8xb0fx73sjjw5kydqrahqkm6n04lh589pbf18s5qlld";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ libX11 libpthreadstubs libXau libXdmcp libXext libvdpau glib libva ffmpeg mesa_glu ];
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/i-rinat/libvdpau-va-gl;
+    homepage = "https://github.com/i-rinat/libvdpau-va-gl";
     description = "VDPAU driver with OpenGL/VAAPI backend";
     license = licenses.lgpl3;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index 0d7115144449..96e2ca872850 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Extract Cell Data From Excel xls files";
-    homepage = http://sourceforge.net/projects/libxls/;
+    homepage = "http://sourceforge.net/projects/libxls/";
     license = licenses.bsd2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 4831f150f45b..80354b10f3b9 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, zlib, xz, python2, findXMLCatalogs, libiconv, fetchpatch
-, supportPython ? (! stdenv ? cross) }:
+, pythonSupport ? (! stdenv ? cross) }:
 
 let
   python = python2;
@@ -28,10 +28,10 @@ in stdenv.mkDerivation rec {
   };
 
   outputs = [ "bin" "dev" "out" "doc" ]
-    ++ lib.optional supportPython "py";
-  propagatedBuildOutputs = "out bin" + lib.optionalString supportPython " py";
+    ++ lib.optional pythonSupport "py";
+  propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
 
-  buildInputs = lib.optional supportPython python
+  buildInputs = lib.optional pythonSupport python
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ zlib findXMLCatalogs ];
 
-  configureFlags = lib.optional supportPython "--with-python=${python}"
+  configureFlags = lib.optional pythonSupport "--with-python=${python}"
     ++ [ "--exec_prefix=$dev" ];
 
   enableParallelBuilding = true;
@@ -55,9 +55,9 @@ in stdenv.mkDerivation rec {
     propagatedBuildInputs =  [ findXMLCatalogs libiconv ];
   };
 
-  preInstall = lib.optionalString supportPython
+  preInstall = lib.optionalString pythonSupport
     ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
-  installFlags = lib.optionalString supportPython
+  installFlags = lib.optionalString pythonSupport
     ''pythondir="$(py)/lib/${python.libPrefix}/site-packages"'';
 
   postFixup = ''
@@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
     moveToOutput share/man/man1 "$bin"
   '';
 
-  passthru = { inherit version; pythonSupport = supportPython; };
+  passthru = { inherit version; pythonSupport = pythonSupport; };
 
   meta = {
     homepage = http://xmlsoft.org/;
diff --git a/pkgs/development/libraries/libxmlxx/v3.nix b/pkgs/development/libraries/libxmlxx/v3.nix
index e9b08609f23c..646fdfbac4f3 100644
--- a/pkgs/development/libraries/libxmlxx/v3.nix
+++ b/pkgs/development/libraries/libxmlxx/v3.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "libxml++-${maj_ver}.${min_ver}";
   maj_ver = "3.0";
-  min_ver = "0";
+  min_ver = "1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libxml++/${maj_ver}/${name}.tar.xz";
-    sha256 = "0lkrajbdys5f6w6qwfijih3hnbk4c6809qx2mmxkb7bj2w269wrg";
+    sha256 = "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r";
   };
 
   nativeBuildInputs = [ pkgconfig perl ];
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 2afbfc2fe997..df0543194791 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,4 +1,9 @@
-{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs }:
+{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs
+, pythonSupport ? true, python2
+}:
+
+assert pythonSupport -> python2 != null;
+assert pythonSupport -> libxml2.pythonSupport;
 
 stdenv.mkDerivation rec {
   name = "libxslt-1.1.29";
@@ -10,26 +15,33 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optional stdenv.isSunOS ./patch-ah.patch;
 
-  outputs = [ "bin" "dev" "out" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ] ++ stdenv.lib.optional pythonSupport "py";
 
-  buildInputs = [ libxml2 ];
+  buildInputs = [ libxml2.dev ] ++ stdenv.lib.optionals pythonSupport [ libxml2.py python2 ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
 
   configureFlags = [
-    "--without-python"
     "--without-crypto"
     "--without-debug"
     "--without-mem-debug"
     "--without-debugger"
-  ];
+  ] ++ stdenv.lib.optional pythonSupport "--with-python=${python2}";
 
   postFixup = ''
     moveToOutput bin/xslt-config "$dev"
     moveToOutput lib/xsltConf.sh "$dev"
     moveToOutput share/man/man1 "$bin"
+  '' + stdenv.lib.optionalString pythonSupport ''
+    mkdir -p $py/nix-support
+    echo ${libxml2.py} >> $py/nix-support/propagated-native-build-inputs
+    moveToOutput lib/python2.7 "$py"
   '';
 
+  passthru = {
+    inherit pythonSupport;
+  };
+
   meta = with stdenv.lib; {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index 1df9cf0492dc..e5845fee3041 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -24,7 +24,31 @@ stdenv.mkDerivation rec {
     ];
 
   configurePhase = ''
-    scons configure PREFIX="$out"
+    scons configure PREFIX="$out" BOOST_INCLUDES="${boost.dev}/include" \
+                                  BOOST_LIBS="${boost.out}/lib" \
+                                  CAIRO_INCLUDES="${cairo.dev}/include" \
+                                  CAIRO_LIBS="${cairo.out}/lib" \
+                                  FREETYPE_INCLUDES="${freetype.dev}/include" \
+                                  FREETYPE_LIBS="${freetype.out}/lib" \
+                                  GDAL_CONFIG="${gdal}/bin/gdal-config" \
+                                  HB_INCLUDES="${harfbuzz.dev}/include" \
+                                  HB_LIBS="${harfbuzz.out}/lib" \
+                                  ICU_INCLUDES="${icu.dev}/include" \
+                                  ICU_LIBS="${icu.out}/lib" \
+                                  JPEG_INCLUDES="${libjpeg.dev}/include" \
+                                  JPEG_LIBS="${libjpeg.out}/lib" \
+                                  PNG_INCLUDES="${libpng.dev}/include" \
+                                  PNG_LIBS="${libpng.out}/lib" \
+                                  PROJ_INCLUDES="${proj}/include" \
+                                  PROJ_LIBS="${proj}/lib" \
+                                  SQLITE_INCLUDES="${sqlite.dev}/include" \
+                                  SQLITE_LIBS="${sqlite.out}/lib" \
+                                  TIFF_INCLUDES="${libtiff.dev}/include" \
+                                  TIFF_LIBS="${libtiff.out}/lib" \
+                                  WEBP_INCLUDES="${libwebp}/include" \
+                                  WEBP_LIBS="${libwebp}/lib" \
+                                  XML2_INCLUDES="${libxml2.dev}/include" \
+                                  XML2_LIBS="${libxml2.out}/lib"
   '';
 
   buildPhase = false;
diff --git a/pkgs/development/libraries/menu-cache/default.nix b/pkgs/development/libraries/menu-cache/default.nix
index b6d187e7a0ed..9b2fd805c319 100644
--- a/pkgs/development/libraries/menu-cache/default.nix
+++ b/pkgs/development/libraries/menu-cache/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, glib, pkgconfig, libfm-extra }:
 
-let name = "menu-cache-1.0.1";
+let name = "menu-cache-1.0.2";
 in
 stdenv.mkDerivation {
   inherit name;
   src = fetchurl {
     url = "mirror://sourceforge/lxde/${name}.tar.xz";
-    sha256 = "0ngxvwfj9drabqi3lyzgpi0d0za6431sy2ijb010filrj54jdiqa";
+    sha256 = "1m8j40npykfcfqs43kc0fmksal2jfmfi8lnb3mq3xy1lvvrfv0vg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 5ff884fd3c1d..2b31405980b0 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch
 , pkgconfig, intltool, autoreconfHook, substituteAll
-, file, expat, libdrm, xorg, wayland, systemd, openssl
+, file, expat, libdrm, xorg, wayland, openssl
 , llvmPackages, libffi, libomxil-bellagio, libva
 , libelf, libvdpau, python2
 , grsecEnabled ? false
@@ -26,7 +26,7 @@ if ! lists.elem stdenv.system platforms.mesaPlatforms then
 else
 
 let
-  version = "12.0.3";
+  version = "13.0.1";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -40,7 +40,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 = "1dc86dd9b51272eee1fad3df65e18cda2e556ef1bc0b6e07cd750b9757f493b1";
+    sha256 = "0cd7axwihwsay0i9fvcw14cldbxyvf8b8rd5sh53plvppyr2z5ki";
   };
 
   prePatch = "patchShebangs .";
@@ -51,11 +51,7 @@ stdenv.mkDerivation {
   patches = [
     ./glx_ro_text_segm.patch # fix for grsecurity/PaX
     ./symlink-drivers.patch
-  ] ++ optional stdenv.isLinux
-      (substituteAll {
-        src = ./dlopen-absolute-paths.diff;
-        libudev = systemd.lib;
-      });
+  ];
 
   postPatch = ''
     substituteInPlace src/egl/main/egldriver.c \
@@ -116,7 +112,7 @@ stdenv.mkDerivation {
     libffi wayland libvdpau libelf libXvMC
     libomxil-bellagio libva libpthreadstubs openssl/*or another sha1 provider*/
     (python2.withPackages (ps: [ ps.Mako ]))
-  ] ++ optional stdenv.isLinux systemd;
+  ];
 
 
   enableParallelBuilding = true;
@@ -136,12 +132,17 @@ stdenv.mkDerivation {
       $out/lib/vdpau         \
       $out/lib/bellagio      \
       $out/lib/libxatracker* \
-      $out/lib/libvulkan_* \
+      $out/lib/libvulkan_*
 
     # move share/vulkan/icd.d/
     mv $out/share/ $drivers/
+    # Update search path used by Vulkan (it's pointing to $out but
+    # drivers are in $drivers)
+    for js in $drivers/share/vulkan/icd.d/*.json; do
+      substituteInPlace "$js" --replace "$out" "$drivers"
+    done
 
-    mv $out/lib/dri/* $drivers/lib/dri
+    mv $out/lib/dri/* $drivers/lib/dri # */
     rmdir "$out/lib/dri"
 
     # move libOSMesa to $osmesa, as it's relatively big
diff --git a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff b/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff
deleted file mode 100644
index 9a5226572239..000000000000
--- a/pkgs/development/libraries/mesa/dlopen-absolute-paths.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/loader.c b/loader.c
-index 4fdf3c2..69ea22d 100644
---- a/src/loader/loader.c
-+++ b/src/loader/loader.c
-@@ -112,7 +112,7 @@ static void *udev_handle = NULL;
- static void *
- udev_dlopen_handle(void)
- {
--   char name[80];
-+   char name[256];
-    unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY;
-    int version;
- 
-@@ -126,7 +126,7 @@ udev_dlopen_handle(void)
-    /* First try opening an already linked libudev, then try loading one */
-    do {
-       for (version = 1; version >= 0; version--) {
--         snprintf(name, sizeof(name), "libudev.so.%d", version);
-+         snprintf(name, sizeof(name), "@libudev@/lib/libudev.so.%d", version);
-          udev_handle = dlopen(name, flags);
-          if (udev_handle)
-             return udev_handle;
diff --git a/pkgs/development/libraries/netcdf-fortran/default.nix b/pkgs/development/libraries/netcdf-fortran/default.nix
index 53b2b6358649..35f675a305af 100644
--- a/pkgs/development/libraries/netcdf-fortran/default.nix
+++ b/pkgs/development/libraries/netcdf-fortran/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ netcdf hdf5 curl gfortran ];
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     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;
-    platforms = stdenv.lib.platforms.unix;
+    homepage = http://www.unidata.ucar.edu/software/netcdf/;
+    license = licenses.free;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/nss/85_security_load.patch b/pkgs/development/libraries/nss/85_security_load.patch
index 632cc418425c..9e4be3bf282e 100644
--- a/pkgs/development/libraries/nss/85_security_load.patch
+++ b/pkgs/development/libraries/nss/85_security_load.patch
@@ -1,8 +1,7 @@
-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)
+diff -ru -x '*~' nss-3.27.1-orig/nss/cmd/shlibsign/shlibsign.c nss-3.27.1/nss/cmd/shlibsign/shlibsign.c
+--- nss-3.27.1-orig/nss/cmd/shlibsign/shlibsign.c	2016-10-03 16:55:58.000000000 +0200
++++ nss-3.27.1/nss/cmd/shlibsign/shlibsign.c	2016-11-15 16:28:07.308117900 +0100
+@@ -871,6 +871,8 @@
      libname = PR_GetLibraryName(NULL, "softokn3");
      assert(libname != NULL);
      lib = PR_LoadLibrary(libname);
@@ -11,22 +10,20 @@ index 63a4836..a128c1d 100644
      assert(lib != NULL);
      PR_FreeLibraryName(libname);
  
-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
+diff -ru -x '*~' nss-3.27.1-orig/nss/coreconf/config.mk nss-3.27.1/nss/coreconf/config.mk
+--- nss-3.27.1-orig/nss/coreconf/config.mk	2016-10-03 16:55:58.000000000 +0200
++++ nss-3.27.1/nss/coreconf/config.mk	2016-11-15 16:28:07.308117900 +0100
+@@ -217,3 +217,6 @@
+ ifdef NSS_NO_PKCS11_BYPASS
+ DEFINES += -DNO_PKCS11_BYPASS
  endif
 +
 +# Nix specific stuff.
 +DEFINES += -DNIX_NSS_LIBDIR=\"$(out)/lib/\"
-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) {
+diff -ru -x '*~' nss-3.27.1-orig/nss/lib/pk11wrap/pk11load.c nss-3.27.1/nss/lib/pk11wrap/pk11load.c
+--- nss-3.27.1-orig/nss/lib/pk11wrap/pk11load.c	2016-10-03 16:55:58.000000000 +0200
++++ nss-3.27.1/nss/lib/pk11wrap/pk11load.c	2016-11-15 16:28:07.308117900 +0100
+@@ -429,6 +429,13 @@
  	 * unload the library if anything goes wrong from here on out...
  	 */
  	library = PR_LoadLibrary(mod->dllName);
@@ -40,11 +37,10 @@ index 5c5d2ca..026e528 100644
  	mod->library = (void *)library;
  
  	if (library == NULL) {
-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)
+diff -ru -x '*~' nss-3.27.1-orig/nss/lib/util/secload.c nss-3.27.1/nss/lib/util/secload.c
+--- nss-3.27.1-orig/nss/lib/util/secload.c	2016-10-03 16:55:58.000000000 +0200
++++ nss-3.27.1/nss/lib/util/secload.c	2016-11-15 16:29:50.482259746 +0100
+@@ -70,9 +70,14 @@
  
      /* Remove the trailing filename from referencePath and add the new one */
      c = strrchr(referencePath, PR_GetDirectorySeparator());
@@ -55,12 +51,12 @@ index eb8a9ec..f94f67d 100644
 +    }
      if (c) {
          size_t referencePathSize = 1 + c - referencePath;
--        fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 1);
+-        fullName = (char*)PORT_Alloc(strlen(name) + referencePathSize + 1);
 +        fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 5);
          if (fullName) {
              memcpy(fullName, referencePath, referencePathSize);
-             strcpy(fullName + referencePathSize, name); 
-@@ -81,6 +86,11 @@ loader_LoadLibInReferenceDir(const char *referencePath, const char *name)
+             strcpy(fullName + referencePathSize, name);
+@@ -82,6 +87,11 @@
  #endif
              libSpec.type = PR_LibSpec_Pathname;
              libSpec.value.pathname = fullName;
@@ -71,9 +67,9 @@ index eb8a9ec..f94f67d 100644
 +            strcpy(fullName + referencePathSize, name);
              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 @@ loader_LoadLibInReferenceDir(const char *referencePath, const char *name)
-                                           | PR_LD_ALT_SEARCH_PATH 
+                                                        /* allow library's dependencies to be found in the same directory
+@@ -89,6 +99,10 @@
+                                                        | PR_LD_ALT_SEARCH_PATH
  #endif
                                            );
 +            if (! dlh) {
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 841795383805..ff8b0fec0a12 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.26";
+  version = "3.27.1";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_26_RTM/src/${name}.tar.gz";
-    sha256 = "0r65s5q8kk0vr48s0zr8xi610k7h072lgkkpp4z6jlxr19bkly4i";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_27_1_RTM/src/${name}.tar.gz";
+    sha256 = "fd3637a1930cd838239a89633a7ed9a18859ae9b599043f3a18f726dc4ec2a6b";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index aa2a1660d6fa..0c69e21c8dc4 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -95,7 +95,7 @@ stdenv.mkDerivation rec {
     (opencvFlag "CUDA" enableCuda)
     (opencvFlag "CUBLAS" enableCuda)
   ] ++ lib.optionals enableContrib [ "-DOPENCV_EXTRA_MODULES_PATH=${contribSrc}/modules" ]
-  ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ];
+    ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/opendkim/default.nix b/pkgs/development/libraries/opendkim/default.nix
index 7f4b5ba2e328..f412346456c6 100644
--- a/pkgs/development/libraries/opendkim/default.nix
+++ b/pkgs/development/libraries/opendkim/default.nix
@@ -2,7 +2,9 @@
 , perl, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "opendkim-2.10.3";
+  name = "opendkim-${version}";
+  version = "2.10.3";
+
   src = fetchurl {
     url = "mirror://sourceforge/opendkim/files/${name}.tar.gz";
     sha256 = "06v8bqhh604sz9rh5bvw278issrwjgc4h1wx2pz9a84lpxbvm823";
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "C library for producing DKIM-aware applications and an open source milter for providing DKIM service";
-    homepage = http://www.opendkim.org/;
+    homepage = "http://www.opendkim.org/";
     maintainers = with maintainers; [ abbradar ];
     license = licenses.bsd3;
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index 6850c13b44e9..b99498f2013e 100644
--- a/pkgs/development/libraries/pangomm/default.nix
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "9762ee2a2d5781be6797448d4dd2383ce14907159b30bc12bf6b08e7227be3af";
   };
 
+  outputs = [ "out" "dev" ];
+
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ pango glibmm cairomm ];
 
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index ab1943b85909..ff67ff8a1bbf 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey
+{ stdenv, fetchurl, pkgconfig, glib, expat, pam, intltool, spidermonkey_17
 , gobjectIntrospection, libxslt, docbook_xsl, docbook_xml_dtd_412
 , useSystemd ? stdenv.isLinux, systemd }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ]; # small man pages in $bin
 
   buildInputs =
-    [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ]
+    [ pkgconfig glib expat pam intltool spidermonkey_17 gobjectIntrospection ]
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ] # man pages
     ++ stdenv.lib.optional useSystemd systemd;
 
diff --git a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
index a06d4cef968a..26b829669b8e 100644
--- a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
+++ b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
@@ -1,43 +1,6 @@
-{ stdenv, fetchFromGitHub , autoreconfHook, zlib, gmock }:
-
-stdenv.mkDerivation rec {
-  name = "protobuf-${version}";
+{ callPackage, ... }:
 
+callPackage ./generic-v3.nix {
   version = "3.0.0-beta-2";
-  # make sure you test also -A pythonPackages.protobuf
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "protobuf";
-    rev = "v${version}";
-    sha256 = "0cbr1glgma5vakabsjwcs41pcnn8yphhn037l0zd121zb9gdaqc1";
-  };
-
-  postPatch = ''
-    rm -rf gmock
-    cp -r ${gmock.source} gmock
-    chmod -R a+w gmock
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    substituteInPlace src/google/protobuf/testing/googletest.cc \
-      --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
-  '';
-
-  buildInputs = [ autoreconfHook zlib ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  meta = {
-    description = "Google's data interchange format";
-    longDescription =
-      ''Protocol Buffers are a way of encoding structured data in an efficient
-        yet extensible format. Google uses Protocol Buffers for almost all of
-        its internal RPC protocols and file formats.
-      '';
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.unix;
-    homepage = https://developers.google.com/protocol-buffers/;
-  };
-
-  passthru.version = version;
+  sha256 = "0cbr1glgma5vakabsjwcs41pcnn8yphhn037l0zd121zb9gdaqc1";
 }
diff --git a/pkgs/development/libraries/protobuf/3.0.nix b/pkgs/development/libraries/protobuf/3.0.nix
index 16a39daf7907..f80acf462b85 100644
--- a/pkgs/development/libraries/protobuf/3.0.nix
+++ b/pkgs/development/libraries/protobuf/3.0.nix
@@ -1,43 +1,6 @@
-{ stdenv, fetchFromGitHub , autoreconfHook, zlib, gmock }:
-
-stdenv.mkDerivation rec {
-  name = "protobuf-${version}";
+{ callPackage, ... }:
 
+callPackage ./generic-v3.nix {
   version = "3.0.0";
-  # make sure you test also -A pythonPackages.protobuf
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "protobuf";
-    rev = "v${version}";
-    sha256 = "05qkcl96lkdama848m7q3nzzzdckjc158iiyvgmln0zi232xx7g7";
-  };
-
-  postPatch = ''
-    rm -rf gmock
-    cp -r ${gmock.source} gmock
-    chmod -R a+w gmock
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    substituteInPlace src/google/protobuf/testing/googletest.cc \
-      --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
-  '';
-
-  buildInputs = [ autoreconfHook zlib ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  meta = {
-    description = "Google's data interchange format";
-    longDescription =
-      ''Protocol Buffers are a way of encoding structured data in an efficient
-        yet extensible format. Google uses Protocol Buffers for almost all of
-        its internal RPC protocols and file formats.
-      '';
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.unix;
-    homepage = https://developers.google.com/protocol-buffers/;
-  };
-
-  passthru.version = version;
+  sha256 = "05qkcl96lkdama848m7q3nzzzdckjc158iiyvgmln0zi232xx7g7";
 }
diff --git a/pkgs/development/libraries/protobuf/3.1.nix b/pkgs/development/libraries/protobuf/3.1.nix
new file mode 100644
index 000000000000..91ef87512c84
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.1.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.1.0";
+  sha256 = "0qlvpsmqgh9nw0k4zrxlxf75pafi3p0ahz99v6761b903y8qyv4i";
+}
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
new file mode 100644
index 000000000000..5a3738564d7a
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook, zlib, gmock
+, version, sha256
+, ...
+}:
+
+stdenv.mkDerivation rec {
+  name = "protobuf-${version}";
+
+  # make sure you test also -A pythonPackages.protobuf
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "protobuf";
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  postPatch = ''
+    rm -rf gmock
+    cp -r ${gmock.source} gmock
+    chmod -R a+w gmock
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/google/protobuf/testing/googletest.cc \
+      --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
+  '';
+
+  buildInputs = [ autoreconfHook zlib ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  meta = {
+    description = "Google's data interchange format";
+    longDescription =
+      ''Protocol Buffers are a way of encoding structured data in an efficient
+        yet extensible format. Google uses Protocol Buffers for almost all of
+        its internal RPC protocols and file formats.
+      '';
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    homepage = https://developers.google.com/protocol-buffers/;
+  };
+
+  passthru.version = version;
+}
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 8f886421d55b..5aa1d0350fc7 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://qpdf.sourceforge.net/; 
+    homepage = "http://qpdf.sourceforge.net/";
     description = "A C++ library and set of programs that inspect and manipulate the structure of PDF files";
     license = licenses.artistic2;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index 0e40a7ac96d2..8b4e924a7339 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -106,7 +106,7 @@ let
         qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects
         qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript
         qtsensors qtserialport qtsvg qttools qttranslations qtwayland
-        qtwebsockets qtx11extras qtxmlpatterns
+        qtwebchannel qtwebengine qtwebsockets qtx11extras qtxmlpatterns
       ];
 
       makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
diff --git a/pkgs/development/libraries/qt-5/5.6/fetch.sh b/pkgs/development/libraries/qt-5/5.6/fetch.sh
index b5b76d3e6740..3aa539cda033 100644
--- a/pkgs/development/libraries/qt-5/5.6/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.6/fetch.sh
@@ -1,3 +1,3 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.6/5.6.1-1/submodules/ \
-            http://download.qt.io/community_releases/5.6/5.6.1/ \
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/ \
+            http://download.qt.io/community_releases/5.6/5.6.2/ \
             -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
index bb245548d5b9..cb63f0b50f53 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
@@ -115,7 +115,6 @@ stdenv.mkDerivation {
     -widgets
     -opengl desktop
     -qml-debug
-    -nis
     -iconv
     -icu
     -pch
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
index dba3611683e3..e5d7d0d4372c 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
@@ -30,7 +30,12 @@ qtSubmodule {
       --replace /bin/echo ${coreutils}/bin/echo
     substituteInPlace ./src/3rdparty/chromium/v8/build/standalone.gypi \
       --replace /bin/echo ${coreutils}/bin/echo
-      
+
+    # hardcode paths for which default path resolution does not work in nix
+    sed -i -e 's,\(static QString potentialResourcesPath =\).*,\1 QLatin1String("'$out'/resources");,' src/core/web_engine_library_info.cpp
+    sed -i -e 's,\(static QString processPath\),\1 = QLatin1String("'$out'/libexec/QtWebEngineProcess"),' src/core/web_engine_library_info.cpp
+    sed -i -e 's,\(static QString potentialLocalesPath =\).*,\1 QLatin1String("'$out'/translations/qtwebengine_locales");,' src/core/web_engine_library_info.cpp
+
     configureFlags+="\
         -plugindir $out/lib/qt5/plugins \
         -importdir $out/lib/qt5/imports \
diff --git a/pkgs/development/libraries/qt-5/5.6/srcs.nix b/pkgs/development/libraries/qt-5/5.6/srcs.nix
index c6deca1150dc..3f6c3ae66997 100644
--- a/pkgs/development/libraries/qt-5/5.6/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.6/srcs.nix
@@ -1,269 +1,261 @@
-# DO NOT EDIT! This file is generated automatically by manifest.sh
+# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
 { fetchurl, mirror }:
 
 {
-  qtwebkit = {
-    version = "5.6.1";
-    src = fetchurl {
-      url = "${mirror}/community_releases/5.6/5.6.1/qtwebkit-opensource-src-5.6.1.tar.xz";
-      sha256 = "1akjqvjavl0vn8a8hnmvqc26mf4ljvwjdm07x6dmmdnjzajvzkzm";
-      name = "qtwebkit-opensource-src-5.6.1.tar.xz";
-    };
-  };
   qt3d = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qt3d-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1nxpcjsarcp40m4y18kyy9a5md56wnafll03j8c6q19rba9bcwbf";
-      name = "qt3d-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qt3d-opensource-src-5.6.2.tar.xz";
+      sha256 = "0hg91j3brsbh75why6j0527z5myk1r9s7q9z45q6qp0gdvdqc5x2";
+      name = "qt3d-opensource-src-5.6.2.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtactiveqt-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "00bj9c0x3ax34gpibaap3wpchkv4wapsydiz01fb0xzs1fy94nbf";
-      name = "qtactiveqt-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtactiveqt-opensource-src-5.6.2.tar.xz";
+      sha256 = "1a3mai3d0l2a8gyjkjng1r7y9y27yppxc5rdzxsgc4kq58rflghw";
+      name = "qtactiveqt-opensource-src-5.6.2.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtandroidextras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0xhm4053y9hqnz5y3y4rwycniq0mb1al1rds3jx636211y039xhk";
-      name = "qtandroidextras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtandroidextras-opensource-src-5.6.2.tar.xz";
+      sha256 = "164mkmzswqwjzhs9cwdq361yb60bx6is37740jglrjxgss1phmhr";
+      name = "qtandroidextras-opensource-src-5.6.2.tar.xz";
     };
   };
   qtbase = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtbase-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij";
-      name = "qtbase-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtbase-opensource-src-5.6.2.tar.xz";
+      sha256 = "11z73qgzbyj1cwjdkng94cz46wam8frsw0bs705gx0nrqn9swvig";
+      name = "qtbase-opensource-src-5.6.2.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "13127xws6xfkkk1x617bgdzl96l66nd0v82dibdnxnpfa702rl44";
-      name = "qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtcanvas3d-opensource-src-5.6.2.tar.xz";
+      sha256 = "1bd01ag2p1445ffckyyi3sxi4vssflp95kmbrj99dy83dc04sn6p";
+      name = "qtcanvas3d-opensource-src-5.6.2.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtconnectivity-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi";
-      name = "qtconnectivity-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtconnectivity-opensource-src-5.6.2.tar.xz";
+      sha256 = "1ygdmd7fh2fhhyv58zxl1lglr85iajs9gv6c0pv64gbhw0ijjrqv";
+      name = "qtconnectivity-opensource-src-5.6.2.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw";
-      name = "qtdeclarative-opensource-src-5.6.1-1.tar.xz";
-    };
-  };
-  qtdeclarative-render2d = {
-    version = "5.6.1-1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0kqmb3792rg9fx12m64x87ahcrh0g9krg77mv0ssx3g4gvsgcibc";
-      name = "qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtdeclarative-opensource-src-5.6.2.tar.xz";
+      sha256 = "1nh989jp2gdp5bxa62n3g1whs2pzrl44sh4ca6x9icrnpj3ak1h0";
+      name = "qtdeclarative-opensource-src-5.6.2.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdoc-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1yf3g3h72ndrp88h8g21mzgqdz2ixwkvpav03i3jnrgy2pf7nssp";
-      name = "qtdoc-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtdoc-opensource-src-5.6.2.tar.xz";
+      sha256 = "0s78c5bpj4lcx63x2y5a6scxv6sszvs4dlj4qy86jkwmm7m1wsgn";
+      name = "qtdoc-opensource-src-5.6.2.tar.xz";
     };
   };
   qtenginio = {
-    version = "1.6.1";
+    version = "1.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtenginio-opensource-src-1.6.1.tar.xz";
-      sha256 = "17hsrhzy9zdvpbzja45aac6jr7jzzjl206vma96b9w73rbgxa50f";
-      name = "qtenginio-opensource-src-1.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtenginio-opensource-src-1.6.2.tar.xz";
+      sha256 = "1hywpl1x9lbpqqjdw5wwwhx0gg0j7y260iqaz47anxaa466w7zwh";
+      name = "qtenginio-opensource-src-1.6.2.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b";
-      name = "qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtgraphicaleffects-opensource-src-5.6.2.tar.xz";
+      sha256 = "0pp71gqfgbl5ra15jp8kr4p3sl9gs7cv4x6vjv9i5a3j5jn0z7qy";
+      name = "qtgraphicaleffects-opensource-src-5.6.2.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtimageformats-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc";
-      name = "qtimageformats-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtimageformats-opensource-src-5.6.2.tar.xz";
+      sha256 = "1r27s5dy9c016ia5xgpbs7nfvmmrnd051dmsrv5r7hyscaz57cag";
+      name = "qtimageformats-opensource-src-5.6.2.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtlocation-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69";
-      name = "qtlocation-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtlocation-opensource-src-5.6.2.tar.xz";
+      sha256 = "0fnj51f6fll1z1xsfp3g73al70hsg993gh1k7aa0y8nhdqh9b2bs";
+      name = "qtlocation-opensource-src-5.6.2.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmacextras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "07j26d5g7av4c6alggg5hssqpvdh555zmn1cpr8xrhx1hpbdnaas";
-      name = "qtmacextras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtmacextras-opensource-src-5.6.2.tar.xz";
+      sha256 = "05chq7dqgvlfzpqf1y9inxp0kx6hfzwbc5kswpp6gsnsyfln6ll5";
+      name = "qtmacextras-opensource-src-5.6.2.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmultimedia-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f";
-      name = "qtmultimedia-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtmultimedia-opensource-src-5.6.2.tar.xz";
+      sha256 = "1bwcpc1s6yjvgpqbn22k4mdfjy9lhs89bbzwlgj5psy0qskp16nb";
+      name = "qtmultimedia-opensource-src-5.6.2.tar.xz";
     };
   };
-  qtquickcontrols2 = {
-    version = "5.6.1-1";
+  qtquickcontrols = {
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtquickcontrols2-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0wfa2xcqsvx3zihd5nb9f9qhq0xn14c03sw1qdymzfsryqwmk4ac";
-      name = "qtquickcontrols2-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols-opensource-src-5.6.2.tar.xz";
+      sha256 = "0b0h8svlzvq23kcmam7ng697bzcq4x3haymmn7gj40p15clz5l2y";
+      name = "qtquickcontrols-opensource-src-5.6.2.tar.xz";
     };
   };
-  qtquickcontrols = {
-    version = "5.6.1-1";
+  qtquickcontrols2 = {
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtquickcontrols-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0cjzf844r7wi32ssc9vbw1a2m9hnr8c0i1p7yyljy962ifplf401";
-      name = "qtquickcontrols-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols2-opensource-src-5.6.2.tar.xz";
+      sha256 = "1hgydll95by0rvfpv3sprxq0hkdrpacynaaq2jzaw0a7m881gp09";
+      name = "qtquickcontrols2-opensource-src-5.6.2.tar.xz";
     };
   };
   qtscript = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtscript-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx";
-      name = "qtscript-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtscript-opensource-src-5.6.2.tar.xz";
+      sha256 = "03hi2j64l0mgs8p0w1jaz53zsa4lfpbgskydaxxiiqnaf6rgcvp0";
+      name = "qtscript-opensource-src-5.6.2.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsensors-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r";
-      name = "qtsensors-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtsensors-opensource-src-5.6.2.tar.xz";
+      sha256 = "09rl0njijl3cgh6l3pfij2rhnsg10axkl37llkbz1wmlma0r1057";
+      name = "qtsensors-opensource-src-5.6.2.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialbus-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0li4g70s5vfb517ag0d6405ymsknvvny1c8x66w7qs8a8mnk1jq5";
-      name = "qtserialbus-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtserialbus-opensource-src-5.6.2.tar.xz";
+      sha256 = "09pqr9f6kl3wq4858vksbzxnrrnqxblivmayjf126lwi2q4n14mk";
+      name = "qtserialbus-opensource-src-5.6.2.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialport-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52";
-      name = "qtserialport-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtserialport-opensource-src-5.6.2.tar.xz";
+      sha256 = "0xpkjkn6w0g3p7hmm12b2c96f7q98rmk2dcn321x4arcmldjhxmg";
+      name = "qtserialport-opensource-src-5.6.2.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsvg-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw";
-      name = "qtsvg-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtsvg-opensource-src-5.6.2.tar.xz";
+      sha256 = "0kmwr3fphs7ddgxmqzy53f8p2hbp1gfmjdaig5vswc8vcszn38zp";
+      name = "qtsvg-opensource-src-5.6.2.tar.xz";
     };
   };
   qttools = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttools-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip";
-      name = "qttools-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz";
+      sha256 = "1dz1i5wwhgb9li095mnmc33mwpbd8nf7sdrc2x3pl9c6hwqv8ayv";
+      name = "qttools-opensource-src-5.6.2.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttranslations-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "03sdzci4pgq6lmxwn25v8x0z5x8g7zgpq2as56dqgj7vp6cvhn8m";
-      name = "qttranslations-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qttranslations-opensource-src-5.6.2.tar.xz";
+      sha256 = "08d4xyk7njkdbd3m48dzmvdm8ma3s4x8h4jm1ip20wqngi23nybx";
+      name = "qttranslations-opensource-src-5.6.2.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwayland-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4";
-      name = "qtwayland-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwayland-opensource-src-5.6.2.tar.xz";
+      sha256 = "11kciqnqfyzjfnx1m666g35v98jdazsg083h9fv2g5kiyjck2p03";
+      name = "qtwayland-opensource-src-5.6.2.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebchannel-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7";
-      name = "qtwebchannel-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebchannel-opensource-src-5.6.2.tar.xz";
+      sha256 = "0lhskzqcijz9x6h8p80ff5dd6ni7zqm23nzljdqbggaibzpzs3kh";
+      name = "qtwebchannel-opensource-src-5.6.2.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.6.1-1";
+    version = "5.6.2";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebengine-opensource-src-5.6.2.tar.xz";
+      sha256 = "0h4pyc7r2fx8qsiw3663jd1hg1fid5yv7wil06njpcm8w541c2ig";
+      name = "qtwebengine-opensource-src-5.6.2.tar.xz";
+    };
+  };
+  qtwebkit = {
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebengine-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0k708a34zwkj6hwx3vv5kdvnv3lfgb0iad44zaim5gdpgcir03n8";
-      name = "qtwebengine-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/community_releases/5.6/5.6.2/qtwebkit-opensource-src-5.6.2.tar.xz";
+      sha256 = "0rirszy092pmdvy4vzqkk4p9wwxv8qx4zkp84rxkd5ah3j5np2jj";
+      name = "qtwebkit-opensource-src-5.6.2.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebsockets-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil";
-      name = "qtwebsockets-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebsockets-opensource-src-5.6.2.tar.xz";
+      sha256 = "0ddsnnp3sn423ryqqa1060cqlbdcp7ncj3zhabifaswfzyxx9n9w";
+      name = "qtwebsockets-opensource-src-5.6.2.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebview-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "19954snfw073flxn0qk5ayxyzk5x6hwhpg4kn4nrl1zygsw3y49l";
-      name = "qtwebview-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebview-opensource-src-5.6.2.tar.xz";
+      sha256 = "1mjix4w71x1w86ykcdhsl7gg7xv9dn2pw6yiaxrp6pxvvk73cyjs";
+      name = "qtwebview-opensource-src-5.6.2.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwinextras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "03zkwqrix2nfqkwfn8lsrpgahzx1hv6p1qbvhkqymzakkzjjncgg";
-      name = "qtwinextras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwinextras-opensource-src-5.6.2.tar.xz";
+      sha256 = "1s375b1bf8cqs73mg8chwvj0npr01hpyrwv75srqnxkp61avi1gr";
+      name = "qtwinextras-opensource-src-5.6.2.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtx11extras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y";
-      name = "qtx11extras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtx11extras-opensource-src-5.6.2.tar.xz";
+      sha256 = "1v8cnhas3rynqz7b8wryry2qhblrnmnd3v39gdki1hzfz8fdxzvi";
+      name = "qtx11extras-opensource-src-5.6.2.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.6.1-1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1";
-      name = "qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtxmlpatterns-opensource-src-5.6.2.tar.xz";
+      sha256 = "1k428wj8iffm6rrbvwbw0hksr99xqsxww8iahbk8r38qpzpg6vbw";
+      name = "qtxmlpatterns-opensource-src-5.6.2.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix b/pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix
new file mode 100644
index 000000000000..0820897b81db
--- /dev/null
+++ b/pkgs/development/libraries/science/math/cudnn/8.0-5.1/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, requireFile
+, cudatoolkit
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  version = "5.1";
+  cudatoolkit_version = "8.0";
+
+  name = "cudatoolkit-${cudatoolkit_version}-cudnn-${version}";
+
+  src = fetchurl {
+    url = "http://developer.download.nvidia.com/compute/redist/cudnn/v5.1/cudnn-8.0-linux-x64-v5.1.tgz";
+    sha256 = "a87cb2df2e5e7cc0a05e266734e679ee1a2fadad6f06af82a76ed81a23b102c8";
+  };
+
+  installPhase = ''
+    function fixRunPath {
+      p=$(patchelf --print-rpath $1)
+      patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" $1
+    }
+    fixRunPath lib64/libcudnn.so
+
+    mkdir -p $out
+    cp -a include $out/include
+    cp -a lib64 $out/lib64
+  '';
+
+  propagatedBuildInputs = [
+    cudatoolkit
+  ];
+
+  meta = with stdenv.lib; {
+    description = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
+    homepage = "https://developer.nvidia.com/cudnn";
+    license = stdenv.lib.licenses.unfree;
+    maintainers = with maintainers; [ mdaiter ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
index 9ea3a54f2b0b..5e16fcb1b547 100644
--- a/pkgs/development/libraries/science/math/ipopt/default.nix
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, unzip, openblas, gfortran }:
 
 stdenv.mkDerivation rec {
-  version = "3.12.6";
   name = "ipopt-${version}";
+  version = "3.12.6";
 
   src = fetchurl {
     url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A software package for large-scale nonlinear optimization";
-    homepage = https://projects.coin-or.org/Ipopt;
+    homepage = "https://projects.coin-or.org/Ipopt";
     license = licenses.epl10;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 3893875a2347..e0e8c2686296 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -11,11 +11,12 @@ let blas64_ = blas64; in
 let local = config.openblas.preferLocalBuild or false;
     binary =
       { i686-linux = "32";
+        armv7l-linux = "32";
         x86_64-linux = "64";
         x86_64-darwin = "64";
       }."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
     genericFlags =
-      [ "DYNAMIC_ARCH=1"
+      [ "DYNAMIC_ARCH=${if stdenv.system == "armv7l-linux" then "0" else "1"}"
         "NUM_THREADS=64"
       ];
     localFlags = config.openblas.flags or
@@ -65,7 +66,9 @@ stdenv.mkDerivation {
       "BINARY=${binary}"
       "USE_OPENMP=${if stdenv.isDarwin then "0" else "1"}"
       "INTERFACE64=${if blas64 then "1" else "0"}"
-    ];
+    ]
+    ++
+    optionals (stdenv.system == "armv7l-linux") ["TARGET=ARMV7"];
 
   doCheck = true;
   checkTarget = "tests";
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index a55173a62b3c..c4db48248f33 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline }:
+{ stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "slang-2.3.0";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sed -i -e "s|-ltermcap|-lncurses|" ./configure
   '';
   configureFlags = "--with-png=${libpng.dev} --with-z=${zlib.dev} --with-pcre=${pcre.dev} --with-readline=${readline.dev}";
-  buildInputs = [ pcre libpng zlib readline ];
+  buildInputs = [ pcre libpng zlib readline ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ libiconv ];
   propagatedBuildInputs = [ ncurses ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/vc/0.7.nix b/pkgs/development/libraries/vc/0.7.nix
index d6dd61db83c0..2beaa616f2d8 100644
--- a/pkgs/development/libraries/vc/0.7.nix
+++ b/pkgs/development/libraries/vc/0.7.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.5";
   name = "Vc-${version}";
+  version = "0.7.5";
 
   src = fetchFromGitHub {
     owner = "VcDevel";
diff --git a/pkgs/development/libraries/vc/default.nix b/pkgs/development/libraries/vc/default.nix
index aff0795daec0..c37ff7331118 100644
--- a/pkgs/development/libraries/vc/default.nix
+++ b/pkgs/development/libraries/vc/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.0";
   name = "Vc-${version}";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "VcDevel";
     repo = "Vc";
     rev = version;
-    sha256 = "0qlfvcxv3nmf5drz5bc9kynaljr513pbn7snwgvghm150skmkpfl";
+    sha256 = "18vi92xxg0ly0fw4v06fwls11rahmg5z8xf65jxxrbgf37vc1wxi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/vcg/default.nix b/pkgs/development/libraries/vcg/default.nix
index 59fadbbbc1f8..9e85ad7413d0 100644
--- a/pkgs/development/libraries/vcg/default.nix
+++ b/pkgs/development/libraries/vcg/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://vcg.isti.cnr.it/vcglib/install.html;
+    homepage = "http://vcg.isti.cnr.it/vcglib/install.html";
     description = "C++ library for manipulation, processing and displaying with OpenGL of triangle and tetrahedral meshes";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/xapian/bindings/default.nix b/pkgs/development/libraries/xapian/bindings/default.nix
deleted file mode 100644
index 7187f9b575fd..000000000000
--- a/pkgs/development/libraries/xapian/bindings/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ stdenv, composableDerivation, fetchurl, xapian, pkgconfig, zlib
-, python ? null, sphinx ? null, php ? null, ruby ? null }:
-
-assert (python != null) -> (sphinx != null);
-
-let inherit (composableDerivation) wwf; in
-
-composableDerivation.composableDerivation {} rec {
-
-  name = "xapian-bindings-${version}";
-  version = (builtins.parseDrvName xapian.name).version;
-
-  src = fetchurl {
-    url = "http://oligarchy.co.uk/xapian/${version}/${name}.tar.xz";
-    sha256 = "0lv2zblayfax4v7z3sj067b0av0phf3gc2s2d1cvkw0bkl07mv1s";
-  };
-
-  buildInputs = [ xapian pkgconfig zlib ];
-
-  # most interpreters aren't tested yet.. (see python for example how to do it)
-  flags =
-         wwf {
-           name = "python";
-           enable = {
-            buildInputs = [ python sphinx ];
-
-            # Our `sphinx-build` binary is a shell wrapper around
-            # `sphinx-build` python code. Makefile tries to execute it
-            # using python2 and fails. Fixing that here.
-            patchPhase = ''
-              for a in python/Makefile* ; do
-                substituteInPlace $a \
-                  --replace '$(PYTHON2) $(SPHINX_BUILD)' '$(SPHINX_BUILD)'
-              done
-            '';
-
-            # export same env vars as in pythonNew
-            preConfigure = ''
-              export PYTHON_LIB=$out/lib/${python.libPrefix}/site-packages
-              mkdir -p $out/nix-support
-              echo "export NIX_PYTHON_SITES=\"$out:\$NIX_PYTHON_SITES\"" >> $out/nix-support/setup-hook
-              echo "export PYTHONPATH=\"$PYTHON_LIB:\$PYTHONPATH\"" >> $out/nix-support/setup-hook
-            '';
-           };
-         }
-      // wwf {
-           name = "php";
-           enable = {
-             buildInputs = [ php ];
-             preConfigure = ''
-               export PHP_EXTENSION_DIR=$out/lib/php # TODO use a sane directory. Its not used anywhere by now
-             '';
-           };
-         }
-      // wwf {
-           name = "ruby";
-           enable = {
-             buildInputs = [ ruby ];
-             preConfigure = ''
-               export RUBY_LIB=$out/${ruby.libPath}
-               export RUBY_LIB_ARCH=$RUBY_LIB
-               mkdir -p $out/nix-support
-               echo "export RUBYLIB=\"$RUBY_LIB:\$RUBYLIB\"" >> $out/nix-support/setup-hook
-               echo "export GEM_PATH=\"$out:\$GEM_PATH\"" >> $out/nix-support/setup-hook
-             '';
-           };
-         }
-
-      # note: see configure --help to get see which env vars can be used
-      # // wwf { name = "tcl";     enable = { buildInputs = [ tcl ];};}
-      # // wwf { name = "csharp"; }
-      # // wwf { name = "java"; }
-      ;
-
-  cfg = {
-    pythonSupport = true;
-    phpSupport = false;
-    rubySupport = true;
-  };
-
-  meta = {
-    description = "Bindings for the Xapian library";
-    homepage = xapian.meta.homepage;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.chaoflow ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/xlslib/default.nix b/pkgs/development/libraries/xlslib/default.nix
index 3a45447119ca..44f57cae7e11 100644
--- a/pkgs/development/libraries/xlslib/default.nix
+++ b/pkgs/development/libraries/xlslib/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, autoreconfHook, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "2.5.0";
   name = "xlslib-${version}";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/xlslib/xlslib-package-${version}.zip";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "C++/C library to construct Excel .xls files in code";
-    homepage = http://sourceforge.net/projects/xlslib/;
+    homepage = "http://sourceforge.net/projects/xlslib/";
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index 879e1ccaec3f..bb6af73356de 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala_0_23
 , intltool, libtool, python, dbus_libs, telepathy_glib
-, gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }:
+, gtk3, json_glib, librdf_raptor2, python2Packages, dbus_glib }:
 
 stdenv.mkDerivation rec {
   version = "0.9.15";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig glib sqlite gnome3.gnome_common intltool
                   libtool python dbus_libs telepathy_glib vala_0_23 dbus_glib
-                  gtk3 json_glib librdf_raptor2 pythonPackages.rdflib ];
+                  gtk3 json_glib librdf_raptor2 python2Packages.rdflib ];
 
   prePatch = "patchShebangs .";