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/agda/agda-iowa-stdlib/default.nix15
-rw-r--r--pkgs/development/libraries/allegro/default.nix2
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix49
-rw-r--r--pkgs/development/libraries/arrow-cpp/double-conversion_cmake.patch43
-rw-r--r--pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix16
-rw-r--r--pkgs/development/libraries/audio/zita-convolver/default.nix6
-rw-r--r--pkgs/development/libraries/audio/zita-resampler/default.nix6
-rw-r--r--pkgs/development/libraries/avahi/default.nix5
-rw-r--r--pkgs/development/libraries/babl/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix17
-rw-r--r--pkgs/development/libraries/brigand/default.nix26
-rw-r--r--pkgs/development/libraries/c-ares/default.nix2
-rw-r--r--pkgs/development/libraries/caf/default.nix4
-rw-r--r--pkgs/development/libraries/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/capnproto/default.nix4
-rw-r--r--pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix1
-rw-r--r--pkgs/development/libraries/dbus-sharp-glib/default.nix1
-rw-r--r--pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix1
-rw-r--r--pkgs/development/libraries/dbus-sharp/default.nix1
-rw-r--r--pkgs/development/libraries/dclxvi/default.nix1
-rw-r--r--pkgs/development/libraries/eccodes/default.nix8
-rw-r--r--pkgs/development/libraries/enchant/default.nix5
-rw-r--r--pkgs/development/libraries/farstream/default.nix6
-rw-r--r--pkgs/development/libraries/fcppt/default.nix8
-rw-r--r--pkgs/development/libraries/flatbuffers/default.nix17
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-rw-r--r--pkgs/development/libraries/fmt/default.nix31
-rw-r--r--pkgs/development/libraries/freetype/default.nix4
-rw-r--r--pkgs/development/libraries/giflib/libungif.nix6
-rw-r--r--pkgs/development/libraries/git2/0.27.nix4
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix1
-rw-r--r--pkgs/development/libraries/gpgme/default.nix14
-rw-r--r--pkgs/development/libraries/grantlee/5/default.nix1
-rw-r--r--pkgs/development/libraries/grantlee/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix5
-rw-r--r--pkgs/development/libraries/gtk-sharp-beans/default.nix3
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix7
-rw-r--r--pkgs/development/libraries/gtkspell/default.nix11
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hspell/default.nix8
-rw-r--r--pkgs/development/libraries/hunspell/default.nix1
-rw-r--r--pkgs/development/libraries/hwloc/default.nix9
-rw-r--r--pkgs/development/libraries/hyena/default.nix1
-rw-r--r--pkgs/development/libraries/id3lib/default.nix7
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix4
-rw-r--r--pkgs/development/libraries/java/commons/math/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix632
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/lesstif/default.nix11
-rw-r--r--pkgs/development/libraries/libHX/default.nix7
-rw-r--r--pkgs/development/libraries/libaccounts-glib/default.nix6
-rw-r--r--pkgs/development/libraries/libaom/default.nix1
-rw-r--r--pkgs/development/libraries/libbap/default.nix7
-rw-r--r--pkgs/development/libraries/libblockdev/default.nix4
-rw-r--r--pkgs/development/libraries/libbsd/cdefs.patch222
-rw-r--r--pkgs/development/libraries/libbsd/darwin.patch752
-rw-r--r--pkgs/development/libraries/libbsd/default.nix15
-rw-r--r--pkgs/development/libraries/libbsd/features.patch26
-rw-r--r--pkgs/development/libraries/libbsd/musl.patch14
-rw-r--r--pkgs/development/libraries/libbsd/non-glibc.patch74
-rw-r--r--pkgs/development/libraries/libcacard/default.nix22
-rw-r--r--pkgs/development/libraries/libclthreads/default.nix18
-rw-r--r--pkgs/development/libraries/libclxclient/default.nix16
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix16
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix5
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix7
-rw-r--r--pkgs/development/libraries/libgksu/default.nix22
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix1
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix1
-rw-r--r--pkgs/development/libraries/libgpod/default.nix7
-rw-r--r--pkgs/development/libraries/libharu/default.nix2
-rw-r--r--pkgs/development/libraries/libicns/default.nix7
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix10
-rw-r--r--pkgs/development/libraries/libite/default.nix1
-rw-r--r--pkgs/development/libraries/libjson/default.nix13
-rw-r--r--pkgs/development/libraries/libkate/default.nix6
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix5
-rw-r--r--pkgs/development/libraries/liblastfmSF/default.nix1
-rw-r--r--pkgs/development/libraries/liblinear/default.nix4
-rw-r--r--pkgs/development/libraries/liblqr-1/default.nix2
-rw-r--r--pkgs/development/libraries/libmesode/default.nix4
-rw-r--r--pkgs/development/libraries/libmilter/default.nix1
-rw-r--r--pkgs/development/libraries/libmms/default.nix7
-rw-r--r--pkgs/development/libraries/libmp3splt/default.nix1
-rw-r--r--pkgs/development/libraries/libmtp/default.nix6
-rw-r--r--pkgs/development/libraries/libmusicbrainz/5.x.nix6
-rw-r--r--pkgs/development/libraries/libmusicbrainz/default.nix6
-rw-r--r--pkgs/development/libraries/libnatspec/default.nix6
-rw-r--r--pkgs/development/libraries/libnetfilter_queue/default.nix6
-rw-r--r--pkgs/development/libraries/libnice/default.nix5
-rw-r--r--pkgs/development/libraries/libnotify/default.nix5
-rw-r--r--pkgs/development/libraries/libnova/default.nix9
-rw-r--r--pkgs/development/libraries/liboauth/default.nix1
-rw-r--r--pkgs/development/libraries/libofa/default.nix5
-rw-r--r--pkgs/development/libraries/liboggz/default.nix6
-rw-r--r--pkgs/development/libraries/libpcap/default.nix1
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix1
-rw-r--r--pkgs/development/libraries/libraw/default.nix4
-rw-r--r--pkgs/development/libraries/librdf/redland.nix6
-rw-r--r--pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--pkgs/development/libraries/libssh/default.nix6
-rw-r--r--pkgs/development/libraries/libssh2/default.nix5
-rw-r--r--pkgs/development/libraries/libtensorflow/default.nix11
-rw-r--r--pkgs/development/libraries/libtiger/default.nix1
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix4
-rw-r--r--pkgs/development/libraries/libtxc_dxtn/default.nix5
-rw-r--r--pkgs/development/libraries/libui/default.nix5
-rw-r--r--pkgs/development/libraries/libusb/default.nix12
-rw-r--r--pkgs/development/libraries/libusb1/default.nix13
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libwacom/default.nix3
-rw-r--r--pkgs/development/libraries/libxml2/default.nix3
-rw-r--r--pkgs/development/libraries/lirc/default.nix20
-rw-r--r--pkgs/development/libraries/mapnik/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/msgpack/generic.nix2
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix4
-rw-r--r--pkgs/development/libraries/ndn-cxx/default.nix25
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix9
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix6
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix4
-rw-r--r--pkgs/development/libraries/opencollada/default.nix4
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix4
-rw-r--r--pkgs/development/libraries/parquet-cpp/default.nix39
-rw-r--r--pkgs/development/libraries/postgis/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix14
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix6
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/rarian/default.nix5
-rw-r--r--pkgs/development/libraries/sbc/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/mkl/default.nix85
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/4.4.nix100
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix91
-rw-r--r--pkgs/development/libraries/spice/default.nix6
-rw-r--r--pkgs/development/libraries/sqlite/default.nix2
-rw-r--r--pkgs/development/libraries/termbox/default.nix24
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix2
-rw-r--r--pkgs/development/libraries/vigra/default.nix8
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix6
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix14
-rw-r--r--pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix4
-rw-r--r--pkgs/development/libraries/yojimbo/default.nix43
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
152 files changed, 1463 insertions, 1603 deletions
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index ce25521ad2e5..3ab4ed3e9623 100644
--- a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, agda, fetchsvn }:
+{ stdenv, agda, fetchFromGitHub }:
 
 agda.mkDerivation (self: rec {
-  version = "18734";
+  version = "1.4.0";
   name = "agda-iowa-stdlib-${version}";
 
-  src = fetchsvn {
-    url = "https://svn.divms.uiowa.edu/repos/clc/projects/agda/lib";
-    rev = version;
-    sha256 = "0aqib88m5n6aqb5lmns9nl62x40yqhg6zpj0zjxibbn4s4qjw9ky";
+  src = fetchFromGitHub {
+    owner = "cedille";
+    repo  = "ial";
+    rev = "v${version}";
+    sha256 = "1gwxpybxwdj5ipbb3gapm7r5hfl3g6sj9kp13954pdmx8d5b0gma";
   };
 
   sourceDirectories = [ "./." ];
@@ -22,7 +23,5 @@ agda.mkDerivation (self: rec {
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 21d9ce23d319..f53aa873b482 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version="4.4.2";
 
   src = fetchurl {
-    url = "http://download.gna.org/allegro/allegro/${version}/${name}.tar.gz";
+    url = "https://github.com/liballeg/allegro5/releases/download/${version}/${name}.tar.gz";
     sha256 = "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v";
   };
 
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index 16fc7e0c960d..77ce77dee5ad 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -1,42 +1,75 @@
-{ stdenv, symlinkJoin, fetchurl, boost, brotli, cmake, flatbuffers, gtest, gflags, lz4, python, rapidjson, snappy, zlib, zstd }:
+{ stdenv, symlinkJoin, fetchurl, fetchFromGitHub, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, which, zlib, zstd }:
+
+let
+  parquet-testing = fetchFromGitHub {
+    owner = "apache";
+    repo = "parquet-testing";
+    rev = "46ae2605c2de306f5740587107dcf333a527f2d1";
+    sha256 = "07ps745gas2zcfmg56m3vwl63yyzmalnxwb5dc40vd004cx5hdik";
+  };
+in
 
 stdenv.mkDerivation rec {
   name = "arrow-cpp-${version}";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchurl {
     url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "0bc4krapz1kzdm16npzmgdz7zvg9lip6rnqbwph8vfn7zji0fcll";
+    sha256 = "0pc5pqr0dbnx8s1ji102dhw9bbrsq3ml4ac3mmi2022yfyizlf0q";
   };
 
   sourceRoot = "apache-arrow-${version}/cpp";
 
-  # patch to fix python-test
-  patches = [ ./darwin.patch ];
+  patches = [
+    # fix ARROW-3467
+    ./double-conversion_cmake.patch
+
+    # patch to fix python-test
+    ./darwin.patch
+    ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost python.pkgs.python python.pkgs.numpy ];
+  buildInputs = [ boost double-conversion glog python.pkgs.python python.pkgs.numpy ];
 
   preConfigure = ''
+    substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
     substituteInPlace cmake_modules/FindBrotli.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindGLOG.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
     substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
     substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+
+    patchShebangs build-support/
   '';
 
   BROTLI_HOME = symlinkJoin { name="brotli-wrap"; paths = [ brotli.lib brotli.dev ]; };
+  DOUBLE_CONVERSION_HOME = double-conversion;
   FLATBUFFERS_HOME = flatbuffers;
-  GTEST_HOME = gtest;
   GFLAGS_HOME = gflags;
+  GLOG_HOME = glog;
+  GTEST_HOME = gtest;
   LZ4_HOME = symlinkJoin { name="lz4-wrap"; paths = [ lz4 lz4.dev ]; };
   RAPIDJSON_HOME = rapidjson;
   SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
-  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
+  THRIFT_HOME = thrift;
+  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib zlib.dev ]; };
   ZSTD_HOME = zstd;
 
   cmakeFlags = [
     "-DARROW_PYTHON=ON"
+    "-DARROW_PARQUET=ON"
   ];
 
+  doInstallCheck = true;
+  PARQUET_TEST_DATA = if doInstallCheck then "${parquet-testing}/data" else null;
+  installCheckInputs = [ perl which ];
+  installCheckPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
+    for f in release/*-test; do
+      install_name_tool -add_rpath "$out"/lib  "$f"
+    done
+  '') + ''
+    ctest -L unittest -V
+  '';
+
   meta = {
     description = "A  cross-language development platform for in-memory data";
     homepage = https://arrow.apache.org/;
diff --git a/pkgs/development/libraries/arrow-cpp/double-conversion_cmake.patch b/pkgs/development/libraries/arrow-cpp/double-conversion_cmake.patch
new file mode 100644
index 000000000000..336fdde9e8fb
--- /dev/null
+++ b/pkgs/development/libraries/arrow-cpp/double-conversion_cmake.patch
@@ -0,0 +1,43 @@
+diff --git a/CMakeLists.txt b/cpp/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -615,7 +615,7 @@ endif(UNIX)
+ set(ARROW_LINK_LIBS)
+ 
+ # Libraries to link statically with libarrow.so
+-set(ARROW_STATIC_LINK_LIBS double-conversion)
++set(ARROW_STATIC_LINK_LIBS ${DOUBLE_CONVERSION_TARGET})
+ 
+ if (ARROW_WITH_BROTLI)
+   SET(ARROW_STATIC_LINK_LIBS
+@@ -694,7 +694,7 @@ else ()
+   set(ARROW_MIN_TEST_LIBS
+     arrow_shared
+     ${ARROW_LINK_LIBS}
+-    double-conversion
++    ${DOUBLE_CONVERSION_TARGET}
+     ${BOOST_SYSTEM_LIBRARY}
+     ${BOOST_FILESYSTEM_LIBRARY}
+     ${BOOST_REGEX_LIBRARY}
+diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+--- a/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cmake_modules/ThirdpartyToolchain.cmake
+@@ -469,14 +469,16 @@ if("${DOUBLE_CONVERSION_HOME}" STREQUAL "")
+   set(DOUBLE_CONVERSION_VENDORED 1)
+ else()
+   find_package(double-conversion REQUIRED)
++  set(DOUBLE_CONVERSION_TARGET double-conversion::double-conversion)
+   set(DOUBLE_CONVERSION_VENDORED 0)
+ endif()
+ 
+ include_directories(SYSTEM ${DOUBLE_CONVERSION_INCLUDE_DIR})
+-ADD_THIRDPARTY_LIB(double-conversion
+-  STATIC_LIB ${DOUBLE_CONVERSION_STATIC_LIB})
+ 
+ if (DOUBLE_CONVERSION_VENDORED)
++  ADD_THIRDPARTY_LIB(double-conversion
++    STATIC_LIB ${DOUBLE_CONVERSION_STATIC_LIB})
++  set(DOUBLE_CONVERSION_TARGET double-conversion)
+   add_dependencies(arrow_dependencies double-conversion_ep)
+ endif()
+ 
diff --git a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
index e3c0f0394772..320fc41f76c5 100644
--- a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
+++ b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "zita-alsa-pcmi-${version}";
-  version = "0.2.0";
+  version = "0.3.2";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9";
+    sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s";
   };
 
   buildInputs = [ alsaLib ];
 
   buildPhase = ''
-    cd libs
+    cd source
     make PREFIX="$out"
 
     # create lib link for building apps
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
 
     # apps
     cd ../apps
-    CXXFLAGS+=" -I../libs" \
-    LDFLAGS+=" -L../libs" \
+    CXXFLAGS+=" -I../source" \
+    LDFLAGS+=" -L../source" \
     make PREFIX="$out"
   '';
 
@@ -30,9 +30,9 @@ stdenv.mkDerivation rec {
     mkdir "$out/include"
     mkdir "$out/bin"
 
-    cd ../libs
+    cd ../source
 
-    # libs
+    # source
     install -Dm755 libzita-alsa-pcmi.so.$version \
       "$out/lib/libzita-alsa-pcmi.so.$version"
 
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
     install -Dm755 ../apps/alsa_delay \
       "$out/bin/alsa_delay"
     install -Dm755 ../apps/alsa_loopback \
-      "$out/bin/alsa_delay"
+      "$out/bin/alsa_loopback"
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/audio/zita-convolver/default.nix b/pkgs/development/libraries/audio/zita-convolver/default.nix
index 11a06d4f39ac..4fc5c12ccc4c 100644
--- a/pkgs/development/libraries/audio/zita-convolver/default.nix
+++ b/pkgs/development/libraries/audio/zita-convolver/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "zita-convolver-${version}";
-  version = "4.0.0";
+  version = "4.0.3";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "0fx7f48ls0rlndqrmd4k7ifpnml39yxzc2f0n6xyysypgn06y673";
+    sha256 = "0prji66p86z2bzminywkwchr5bfgxcg2i8y803pydd1hzf2198cs";
   };
 
   buildInputs = [ fftwFloat ];
 
   patchPhase = ''
-    cd libs
+    cd source
     sed -e "s@ldconfig@@" -i Makefile
   '';
 
diff --git a/pkgs/development/libraries/audio/zita-resampler/default.nix b/pkgs/development/libraries/audio/zita-resampler/default.nix
index 00a0a5082137..e9cccab39f02 100644
--- a/pkgs/development/libraries/audio/zita-resampler/default.nix
+++ b/pkgs/development/libraries/audio/zita-resampler/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "zita-resampler-${version}";
-  version = "1.6.0";
+  version = "1.6.2";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "1w48lp99jn4wh687cvbnbnjgaraqzkb4bgir16cp504x55v8v20h";
+    sha256 = "1my5k2dh2dkvjp6xjnf9qy6i7s28z13kw1n9pwa4a2cpwbzawfr3";
   };
 
   makeFlags = [
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   ];
 
   patchPhase = ''
-    cd libs
+    cd source
     sed -e "s@ldconfig@@" -i Makefile
   '';
 
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 53e3f5468abc..971637bc7870 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
+{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perlPackages
 , expat, gettext, intltool, glib, libiconv
 , qt4 ? null
 , qt4Support ? false
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no-mkdir-localstatedir.patch ];
 
-  buildInputs = [ libdaemon dbus perl perlXMLParser glib expat libiconv ]
+  buildInputs = [ libdaemon dbus glib expat libiconv ]
+    ++ (with perlPackages; [ perl XMLParser ])
     ++ (stdenv.lib.optional qt4Support qt4);
 
   nativeBuildInputs = [ pkgconfig gettext intltool glib ];
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 1e341d3124b4..027b86a97747 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.56";
+  name = "babl-0.1.58";
 
   src = fetchurl {
     url = "https://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "0a2dvihah1j7qi5dp1qzzlwklcqnndmxsm7lc7i78g7c2yknrlla";
+    sha256 = "0mgdii9v89ay0nra36cz9i0q7cqv8wi8hk01jsc4bf0rc1bsxjbr";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 4131e5f7a27c..c79b874ecb69 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -101,21 +101,17 @@ stdenv.mkDerivation {
 
   inherit src;
 
-  patchFlags = optionalString (stdenv.hostPlatform.libc == "msvcrt") "-p0";
+  patchFlags = "";
+
   patches = patches
-    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch
-    ++ optional (stdenv.hostPlatform.libc == "msvcrt") (fetchurl {
-      url = "https://svn.boost.org/trac/boost/raw-attachment/tickaet/7262/"
-          + "boost-mingw.patch";
-      sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj";
-    });
+    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch;
 
   meta = {
     homepage = http://boost.org/;
     description = "Collection of C++ libraries";
     license = stdenv.lib.licenses.boost;
 
-    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) platforms.unix;
+    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) (platforms.unix ++ platforms.windows);
     maintainers = with maintainers; [ peti wkennington ];
   };
 
@@ -139,7 +135,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ which buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ which ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ expat zlib bzip2 libiconv ]
     ++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
     ++ optional stdenv.isDarwin fixDarwinDylibNames
@@ -171,7 +168,7 @@ stdenv.mkDerivation {
   postFixup = ''
     # Make boost header paths relative so that they are not runtime dependencies
     cd "$dev" && find include \( -name '*.hpp' -or -name '*.h' -or -name '*.ipp' \) \
-      -exec sed '1i#line 1 "{}"' -i '{}' \;
+      -exec sed '1s/^\xef\xbb\xbf//;1i#line 1 "{}"' -i '{}' \;
   '' + optionalString (stdenv.hostPlatform.libc == "msvcrt") ''
     $RANLIB "$out/lib/"*.a
   '';
diff --git a/pkgs/development/libraries/brigand/default.nix b/pkgs/development/libraries/brigand/default.nix
new file mode 100644
index 000000000000..b4a57396cc8b
--- /dev/null
+++ b/pkgs/development/libraries/brigand/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "brigand-${version}";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "edouarda";
+    repo = "brigand";
+    rev = "4db9f665b4ece31b51aaf35b499b2c8e5811efa3";
+    sha256 = "14b8r3s24zq0l3addy3irzxs5cyqn3763y5s310lmzzswgj1v7r4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Instant compile time C++ 11 metaprogramming library";
+    longDescription = ''
+      Brigand is a light-weight, fully functional, instant-compile time C++ 11 meta-programming library.
+      Everything you were doing with Boost.MPL can be done with Brigand. And if that's not the case, open an issue!'';
+    homepage = https://github.com/edouarda/brigand;
+    license = licenses.boost;
+    maintainers = with maintainers; [ pmiddend ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 1835356e627d..099d02c82639 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
   };
 
+  configureFlags = if stdenv.hostPlatform.isWindows then [ "--disable-shared" "--enable-static" ] else null;
+
   # ares_android.h header is missing
   # see issue https://github.com/c-ares/c-ares/issues/216
   postPatch = if stdenv.hostPlatform.isAndroid then ''
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
index 397e80961e06..09c1560d6f60 100644
--- a/pkgs/development/libraries/caf/default.nix
+++ b/pkgs/development/libraries/caf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "actor-framework-${version}";
-  version = "0.15.7";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = "${version}";
-    sha256 = "0qmb18k162xdvf8z03mybjazkwb2vqda5xd1qh5bwkvxracwq3sb";
+    sha256 = "01i6sclxwa7k91ngi7jw9vlss8wjpv1hz4y5934jq0lx8hdf7s02";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index db46412ceb55..7c0664533b8f 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -10,14 +10,14 @@
 assert glSupport -> libGL != null;
 
 let
-  version = "1.15.12";
+  version = "1.15.14";
   inherit (stdenv.lib) optional optionals;
 in stdenv.mkDerivation rec {
   name = "cairo-${version}";
 
   src = fetchurl {
     url = "https://cairographics.org/${if stdenv.lib.mod (builtins.fromJSON (stdenv.lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${name}.tar.xz";
-    sha256 = "1jcl0mnqq6j2xip8p506g2cj54sfycm339rrd3p4g2jljhdhh8vn";
+    sha256 = "1399jfdpdhn4hf812hxlj1gyi3bznxwzhp2rnyq1nxjs05n6nmhn";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
index 78fcad5c1fe2..b175250872f3 100644
--- a/pkgs/development/libraries/capnproto/default.nix
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "capnproto-${version}";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
-    sha256 = "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0";
+    sha256 = "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
index 208288bfca1d..0f897d97467f 100644
--- a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
+++ b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "D-Bus for .NET: GLib integration module";
     platforms = platforms.linux;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/dbus-sharp-glib/default.nix b/pkgs/development/libraries/dbus-sharp-glib/default.nix
index ef1ddd9bfff5..cd020317f4c2 100644
--- a/pkgs/development/libraries/dbus-sharp-glib/default.nix
+++ b/pkgs/development/libraries/dbus-sharp-glib/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "D-Bus for .NET: GLib integration module";
     platforms = platforms.linux;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
index 013913e52972..18ea3ad3ecb7 100644
--- a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
+++ b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "D-Bus for .NET";
     platforms = platforms.linux;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix
index 855dd9f3832e..2704ef2de9fd 100644
--- a/pkgs/development/libraries/dbus-sharp/default.nix
+++ b/pkgs/development/libraries/dbus-sharp/default.nix
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "D-Bus for .NET";
     platforms = platforms.linux;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/dclxvi/default.nix b/pkgs/development/libraries/dclxvi/default.nix
index 47f3794f5ad5..1f8f9a4e69cc 100644
--- a/pkgs/development/libraries/dclxvi/default.nix
+++ b/pkgs/development/libraries/dclxvi/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation {
     description = "Naehrig, Niederhagen and Schwabe's pairings code, massaged into a shared library";
     maintainers = with maintainers; [ wkennington ];
     platforms = platforms.x86_64;
+    license = licenses.publicDomain;
   };
 }
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index 5cd004c8d136..01600f90f284 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib; 
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.8.2";
+  version = "2.9.0";
 
   src = fetchurl {
-    url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "0aki7llrdfj6273yjy8yv0d027sdbv8xs3iv68fb69s0clyygrin";
+    url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
+    sha256 = "1mh9zkfb5dj3j8fk3gdhz2bp6z13nik5pmynpf5l6qy3lhgyn17z";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://software.ecmwf.int/wiki/display/ECC/;
+    homepage = https://confluence.ecmwf.int/display/ECC/;
     license = licenses.asl20;
     maintainers = with maintainers; [ knedlsepp ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/enchant/default.nix b/pkgs/development/libraries/enchant/default.nix
index c51475ecc2a9..a9446306d335 100644
--- a/pkgs/development/libraries/enchant/default.nix
+++ b/pkgs/development/libraries/enchant/default.nix
@@ -13,9 +13,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ aspell glib hunspell hspell ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Generic spell checking library";
     homepage = http://www.abisource.com/enchant;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index 020d04542864..924fb52b0900 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -24,10 +24,10 @@ in stdenv.mkDerivation rec {
     gst-plugins-good gst-plugins-bad gst-libav
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://www.freedesktop.org/wiki/Software/Farstream;
     description = "Audio/Video Communications Framework formely known as farsight";
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix
index 660cdfa6414b..49e929821f7f 100644
--- a/pkgs/development/libraries/fcppt/default.nix
+++ b/pkgs/development/libraries/fcppt/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, boost }:
+{ stdenv, fetchFromGitHub, cmake, boost, brigand }:
 
 stdenv.mkDerivation rec {
   name = "fcppt-${version}";
-  version = "2.5.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "freundlich";
     repo = "fcppt";
     rev = version;
-    sha256 = "0pjldwwxgnzjfd04cy29a9mn2szq4v2mjnw0367kxd141q2iglqi";
+    sha256 = "0zyqgmi1shjbwin1lx428v7vbi6jnywb1d47dascdn89r5gz6klv";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost ];
 
-  cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" ];
+  cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" "-DBrigand_INCLUDE_DIR=${brigand}/include" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/flatbuffers/default.nix b/pkgs/development/libraries/flatbuffers/default.nix
index fb74c4ff4d24..504b58b6aa4d 100644
--- a/pkgs/development/libraries/flatbuffers/default.nix
+++ b/pkgs/development/libraries/flatbuffers/default.nix
@@ -2,21 +2,24 @@
 
 stdenv.mkDerivation rec {
   name = "flatbuffers-${version}";
-  version = "1.8.0";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "flatbuffers";
     rev = "v${version}";
-    sha256 = "1qq8qbv8wkiiizj8s984f17bsbjsrhbs9q1nw1yjgrw0grcxlsi9";
+    sha256 = "1b32kc5jp83l43w2gs1dkw2vqm2j0wi7xfxqa86m18n3l41ca734";
   };
 
-  buildInputs = [ cmake ];
+  preConfigure = stdenv.lib.optional stdenv.buildPlatform.isDarwin ''
+    rm BUILD
+  '';
+
+  nativeBuildInputs = [ cmake ];
   enableParallelBuilding = true;
 
-  # Not sure how tests are supposed to be run.
-  # "make: *** No rule to make target 'check'.  Stop."
-  doCheck = false;
+  doCheck = true;
+  checkTarget = "test";
 
   meta = {
     description = "Memory Efficient Serialization Library.";
@@ -29,6 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.teh ];
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.unix;
-    homepage = http://google.github.io/flatbuffers;
+    homepage = https://google.github.io/flatbuffers/;
   };
 }
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index c8cd420f6e7b..dc77ab8601a8 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -4,7 +4,7 @@
 , libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, makeWrapper, gnome3 }:
 
 let
-  version = "1.0.2";
+  version = "1.0.4";
   desktop_schemas = gnome3.gsettings-desktop-schemas;
 in stdenv.mkDerivation rec {
   name = "flatpak-${version}";
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${name}.tar.xz";
-    sha256 = "0d0nnymb4p3njc24j0p6f74x7cdfi7jac714gxzzz5y5lrd651gn";
+    sha256 = "1x1vqz6k8hhgyr46wg05gwr4zdv313q2hwcwp4nb6n1f7whc7yx0";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix
new file mode 100644
index 000000000000..c120f7c9b43f
--- /dev/null
+++ b/pkgs/development/libraries/fmt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake, enableShared ? true }:
+
+stdenv.mkDerivation rec {
+  version = "5.2.1";
+  name = "fmt-${version}";
+  src = fetchFromGitHub {
+    owner = "fmtlib";
+    repo = "fmt";
+    rev = "${version}";
+    sha256 = "1cd8yq8va457iir1hlf17ksx11fx2hlb8i4jml8gj1875pizm0pk";
+  };
+  nativeBuildInputs = [ cmake ];
+  doCheck = true;
+  # preCheckHook ensures the test binaries can find libfmt.so.5
+  preCheck = if enableShared
+             then "export LD_LIBRARY_PATH=\"$PWD\""
+             else "";
+  cmakeFlags = [ "-DFMT_TEST=yes"
+                 "-DBUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}" ];
+  meta = with stdenv.lib; {
+    homepage = http://fmtlib.net/;
+    description = "Small, safe and fast formatting library";
+    longDescription = ''
+      fmt (formerly cppformat) is an open-source formatting library. It can be
+      used as a fast and safe alternative to printf and IOStreams.
+    '';
+    maintainers = [ maintainers.jdehaas ];
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index fce052aeb223..5a11d03c5917 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl
+, buildPackages
 , pkgconfig, which, makeWrapper
 , zlib, bzip2, libpng, gnumake, glib
 
@@ -50,6 +51,9 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
 
+  # native compiler to generate building tool
+  CC_BUILD = "${buildPackages.stdenv.cc}/bin/cc";
+
   # The asm for armel is written with the 'asm' keyword.
   CFLAGS = optionalString stdenv.isAarch32 "-std=gnu99";
 
diff --git a/pkgs/development/libraries/giflib/libungif.nix b/pkgs/development/libraries/giflib/libungif.nix
index 357ca751ccf1..6336d30aebad 100644
--- a/pkgs/development/libraries/giflib/libungif.nix
+++ b/pkgs/development/libraries/giflib/libungif.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library and utilities for processing GIFs";
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/git2/0.27.nix b/pkgs/development/libraries/git2/0.27.nix
index bafd6be37df6..db627449e1ba 100644
--- a/pkgs/development/libraries/git2/0.27.nix
+++ b/pkgs/development/libraries/git2/0.27.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.27.4";
+  version = "0.27.5";
   name = "libgit2-${version}";
 
   src = fetchFromGitHub {
     owner = "libgit2";
     repo = "libgit2";
     rev = "v${version}";
-    sha256 = "1cmc8ldhpyp62pswb7dmjjya3ng0ssaggcsxs1labvp6xyxjvp6s";
+    sha256 = "1f6jxgw4pf6jln439v1pj8a0kgym5sq5xry8x0gq18dr5gv3wims";
   };
 
   cmakeFlags = [ "-DTHREADSAFE=ON" ];
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index b2c0a9f89a48..482710f18df5 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
     homepage    = http://live.gnome.org/GObjectIntrospection;
     maintainers = with maintainers; [ lovek323 lethalman ];
     platforms   = platforms.unix;
+    license = with licenses; [ gpl2 lgpl2 ];
 
     longDescription = ''
       GObject introspection is a middleware layer between C libraries (using
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 416ecb5631ed..44086538cd04 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
-, file, which
+, file, which, ncurses
 , autoreconfHook
 , git
 , texinfo
 , qtbase ? null
-, withPython ? false, swig2 ? null, python ? null
+, pythonSupport ? false, swig2 ? null, python ? null
 }:
 
 let
@@ -14,11 +14,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "gpgme-${version}";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "mirror://gnupg/gpgme/${name}.tar.bz2";
-    sha256 = "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd";
+    sha256 = "1n4c1q2ls7sqx1vpr3p5n8vbjkw6kqp8jxqa28p0x9j36wf9bp5l";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (qtbase != null) qtbase;
 
   nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo ]
-  ++ lib.optionals withPython [ python swig2 which ];
+  ++ lib.optionals pythonSupport [ python swig2 which ncurses ];
 
   postPatch =''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-fixed-path=${gnupg}/bin"
     "--with-libgpg-error-prefix=${libgpgerror.dev}"
-  ] ++ lib.optional withPython "--enable-languages=python";
+  ] ++ lib.optional pythonSupport "--enable-languages=python";
 
   NIX_CFLAGS_COMPILE =
     # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
   checkInputs = [ which ];
 
-  doCheck = false; # fails 8 out of 26 tests with "GPGME: Decryption failed". Spooky!
+  doCheck = true;
 
   meta = with stdenv.lib; {
     homepage = https://gnupg.org/software/gpgme/index.html;
diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix
index aa670cd4c86b..52c087b19147 100644
--- a/pkgs/development/libraries/grantlee/5/default.nix
+++ b/pkgs/development/libraries/grantlee/5/default.nix
@@ -46,6 +46,7 @@ mkDerivation rec {
 
     homepage = http://gitorious.org/grantlee;
     maintainers = [ maintainers.ttuegel ];
+    license = licenses.lgpl21;
     inherit (qtbase.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index 9dde67b5c795..1446e339745e 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       and the design of Django is reused in Grantlee.'';
 
     homepage = http://gitorious.org/grantlee;
-    maintainers = [ ];
+    license = stdenv.lib.licenses.lgpl21;
     inherit (qt4.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
index a9e7f9fcff3e..a099643061a1 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/gtk-sharp-beans/default.nix b/pkgs/development/libraries/gtk-sharp-beans/default.nix
index b92bbf64514e..7f35f088da2b 100644
--- a/pkgs/development/libraries/gtk-sharp-beans/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-beans/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with stdenv.lib; {
-    description = "gtk-sharp-beans binds some API from Gtk+ that isn't in Gtk# 2.12.x";
+    description = "Binds some API from Gtk+ that isn't in Gtk# 2.12.x";
     platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index 5b3ca828a3f8..c037db97c044 100644
--- a/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -46,7 +46,10 @@ stdenv.mkDerivation {
     gtk = gtk2;
   };
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Graphical User Interface Toolkit for mono and .Net";
+    homepage = https://www.mono-project.com/docs/gui/gtksharp;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix
index 22094f3a3f64..14676be0dcb9 100644
--- a/pkgs/development/libraries/gtkspell/default.nix
+++ b/pkgs/development/libraries/gtkspell/default.nix
@@ -2,16 +2,19 @@
 
 stdenv.mkDerivation {
   name = "gtkspell-2.0.16";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/gtkspell/gtkspell-2.0.16.tar.gz;
     sha256 = "00hdv28bp72kg1mq2jdz1sdw2b8mb9iclsp7jdqwpck705bdriwg";
   };
-  
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [aspell gtk2 enchant intltool];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Word-processor-style highlighting and replacement of misspelled words";
+    homepage = http://gtkspell.sourceforge.net;
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index b3ab9c7881a9..130bc6f97bf0 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "1.8.8";
+  version = "1.9.0";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "1ag3scnm1fcviqgx2p4858y433mr0ndqw6zccnccrqcr9mpcird8";
+    sha256 = "004b4j812wgfv8pmcypyrlwrjfa6149lwpz5df6rnm5cy0msdv0i";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
index 20dda589b9cc..32743e617970 100644
--- a/pkgs/development/libraries/hspell/default.nix
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     version = "1.1";
   };
 
-  PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1";
+  PERL_USE_UNSAFE_INC = "1";
 
   src = fetchurl {
     url = "${meta.homepage}${name}.tar.gz";
@@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
   patchPhase = ''patchShebangs .'';
   buildInputs = [ perl zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Hebrew spell checker";
     homepage = http://hspell.ivrix.org.il/;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ ];
+    platforms = platforms.all;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index b3914a4438b3..62c3d79cf9a1 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
         * Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO.
     '';
     platforms = platforms.all;
+    license = with licenses; [ gpl2 lgpl21 mpl11 ];
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 90a16bcf7f94..8f38170d87e4 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -7,15 +7,16 @@ assert x11Support -> libX11 != null && cairo != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.11.10";
+  name = "hwloc-2.0.2";
 
   src = fetchurl {
-    url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
-    sha256 = "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b";
+    url = "http://www.open-mpi.org/software/hwloc/v2.0/downloads/${name}.tar.bz2";
+    sha256 = "1phc863d5b2fvwpyyq4mlh4rkjdslh6h0h197zmyk3prwrq7si8l";
   };
 
   configureFlags = [
     "--localstatedir=/var"
+    "--enable-netloc"
   ];
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
     # http://www.open-mpi.org/projects/hwloc/license.php
     license = licenses.bsd3;
     homepage = https://www.open-mpi.org/projects/hwloc/;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz markuskowa ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index f99aa0b6f0cf..516e4184623a 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     maintainers = with maintainers; [ obadz ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index dda1435c1dac..ddce76b10f72 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -17,7 +17,10 @@ stdenv.mkDerivation {
 
   doCheck = false; # fails to compile
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags";
+    homepage = http://id3lib.sourceforge.net;
+    platforms = platforms.unix;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
index cf9c554d57f4..3c729f42320a 100644
--- a/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.17";
+  version = "1.18";
   name    = "commons-compress-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz";
-    sha256 = "1ydm6mhy0kja47mns674iyrhz5mqlhhnh2l8rglzxnq5iawpi2m0";
+    sha256 = "0ciwzq134rqh1fp7qba091rajf2pdagfb665rarni7glb2x4lha1";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/java/commons/math/default.nix b/pkgs/development/libraries/java/commons/math/default.nix
index d43dcd2a91d5..10c39f037890 100644
--- a/pkgs/development/libraries/java/commons/math/default.nix
+++ b/pkgs/development/libraries/java/commons/math/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.3";
+  version = "3.6.1";
   name    = "commons-math-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz";
-    sha256 = "1xs71c4vbai6zr84982g4ggv6c18dhkilkzw9n1irjqnjbgm5kzc";
+    sha256 = "0x4nx5pngv2n4ga11c1s4w2mf6cwydwkgs7da6wwvcjraw57bhkz";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 1292d9cc7b33..43ead0391e46 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.50/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.51/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index e4e4c90bfe14..281778d9d07f 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -4,7 +4,7 @@
   karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
   kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
-  qtbase, qtscript, qtx11extras, solid,
+  qtbase, qtscript, qtx11extras, solid, kcrash
 }:
 
 mkDerivation {
@@ -14,6 +14,7 @@ mkDerivation {
   buildInputs = [
     karchive kconfigwidgets kdbusaddons ki18n kiconthemes knotifications
     ktextwidgets kwallet kwidgetsaddons kwindowsystem qtscript qtx11extras
+    kcrash
   ];
   propagatedBuildInputs = [
     kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 278de2d2a1ff..34d0317ea994 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,635 +3,635 @@
 
 {
   attica = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/attica-5.50.0.tar.xz";
-      sha256 = "0iyaxh92qsh25dl3y18235x9c39jvxgzvfmz96vs5rjkyjnnh88w";
-      name = "attica-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/attica-5.51.0.tar.xz";
+      sha256 = "1lxfrqw6b162sq9254y4hm3gd3w0ck0l4hbi7cgy32rdk0n16sy4";
+      name = "attica-5.51.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/baloo-5.50.0.tar.xz";
-      sha256 = "07n90b2mz1d0anknwf271dp2w9hn2kdb0903zqsqnhmix1jqpfy6";
-      name = "baloo-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/baloo-5.51.0.tar.xz";
+      sha256 = "1y10ccji9rlazj4h3zpzzcilf777907kizxlbynqya79h20nzjkq";
+      name = "baloo-5.51.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/bluez-qt-5.50.0.tar.xz";
-      sha256 = "028rdw97c042c1xcb2gwa6n4fcpn0wx4ilgh5j584afps6rg2k3b";
-      name = "bluez-qt-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/bluez-qt-5.51.0.tar.xz";
+      sha256 = "1pjkngd9wx0355lv76y5cb7zhmwabinm2pxfz3mf708azml1gsxg";
+      name = "bluez-qt-5.51.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/breeze-icons-5.50.0.tar.xz";
-      sha256 = "1zhlylry01w3x72q8ipjgijkicjp3wyv9p183awvg3znkblghhgw";
-      name = "breeze-icons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/breeze-icons-5.51.0.tar.xz";
+      sha256 = "16wcmjaz25j0jqfcbfww5h873wxb19v36b8dvryhbv38ybx30v6i";
+      name = "breeze-icons-5.51.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/extra-cmake-modules-5.50.0.tar.xz";
-      sha256 = "1284gv6l1cck0y6phc9xphs1bl4ayk5a0nwzykhc8ncnkjqb0cyx";
-      name = "extra-cmake-modules-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/extra-cmake-modules-5.51.0.tar.xz";
+      sha256 = "151m4pw97sxwarlx67irrikpmy7183dx0dgg1vrmayssyzidvr4n";
+      name = "extra-cmake-modules-5.51.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/frameworkintegration-5.50.0.tar.xz";
-      sha256 = "14nq6v5xnznc7c7zdfvals4998cmlgdw4i7pz9hfbs35v0pswd03";
-      name = "frameworkintegration-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/frameworkintegration-5.51.0.tar.xz";
+      sha256 = "0bg4avnwxq06xyjxs1fqqb7scx7qpm2rbvcphz1n9mgg4lqwmgbl";
+      name = "frameworkintegration-5.51.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kactivities-5.50.0.tar.xz";
-      sha256 = "0jbri8whf91skxc0zg72bx0m7aym8ka801ncp9kxbjdcj1mbz451";
-      name = "kactivities-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kactivities-5.51.0.tar.xz";
+      sha256 = "0nfmfb1j56lc8ys99cslaz9d10l09mmky5gxvgchmsbm5lqg3abm";
+      name = "kactivities-5.51.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kactivities-stats-5.50.0.tar.xz";
-      sha256 = "0h6dl0522sl7glzk4rz7qj5642il2nr2jwmknbwv3ljhxba9qdrs";
-      name = "kactivities-stats-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kactivities-stats-5.51.0.tar.xz";
+      sha256 = "057lxj8i5rdnh0lr8gnb4b3k0bg3dm2xam3fmrfllm81pvq8bq7l";
+      name = "kactivities-stats-5.51.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kapidox-5.50.0.tar.xz";
-      sha256 = "11hp0qpndy9s8g6x95s8lk7abkp1yvqraa1cdvvsdhn71izmsmqz";
-      name = "kapidox-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kapidox-5.51.0.tar.xz";
+      sha256 = "0k7zlyr9gwq45vkzs3pvny5hgqkfd399fw7kwvi01lfkwha0d82n";
+      name = "kapidox-5.51.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/karchive-5.50.0.tar.xz";
-      sha256 = "1jh1cyvdg680swyq2nmcpk4cfqmy67v49jl76nm1b5399zcs282l";
-      name = "karchive-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/karchive-5.51.0.tar.xz";
+      sha256 = "1cr80dyxs0zq568x6ll30zr6dzym8pk27q1facw0nlyha4246rvn";
+      name = "karchive-5.51.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kauth-5.50.0.tar.xz";
-      sha256 = "15pk78a76897y4rym5ln1l5zm3n64rprl7k5bwkp4qzhwy7gzv7p";
-      name = "kauth-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kauth-5.51.0.tar.xz";
+      sha256 = "0pgrn9lkhgn9fifywlqqlrx4h295s8wnvjjn6a1saiib2pjaiyhm";
+      name = "kauth-5.51.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kbookmarks-5.50.0.tar.xz";
-      sha256 = "1lvsarcwjkmx14bni9akxrrr11zsvr9fv47ahw97kj9p3wdb1sy9";
-      name = "kbookmarks-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kbookmarks-5.51.0.tar.xz";
+      sha256 = "1xsy1n4di28aj53gmvks9ajqh96xnbjcg8rlmkxsyrs9facfm24l";
+      name = "kbookmarks-5.51.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcmutils-5.50.0.tar.xz";
-      sha256 = "1q9z8p20fn6k8yrhy0nq77yg4ra5vnpq6hq9mr7jkjqni9b0h3np";
-      name = "kcmutils-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcmutils-5.51.0.tar.xz";
+      sha256 = "018kc5ynz0554bwmpzb0npn3hznrccv2vik2vablhcc73rkx8f68";
+      name = "kcmutils-5.51.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcodecs-5.50.0.tar.xz";
-      sha256 = "13gh7vys0xxpfqzjbxwr65p6d6jgcg0wr9ir1xqbkc368kay4n7b";
-      name = "kcodecs-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcodecs-5.51.0.tar.xz";
+      sha256 = "15hwqzc10k53dldhm6sq854l7pqmkrkgyrlxhbnygn91wi14zg2m";
+      name = "kcodecs-5.51.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcompletion-5.50.0.tar.xz";
-      sha256 = "1n0frkk2phf6a0rcrsf011jb2f66sisjy9lmmiy1czy533y3iraz";
-      name = "kcompletion-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcompletion-5.51.0.tar.xz";
+      sha256 = "1am6bsxy3hnc2d8ssmrx6njyw35vrsszmlrd4szimm4qajkj63zk";
+      name = "kcompletion-5.51.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kconfig-5.50.0.tar.xz";
-      sha256 = "0jb4lq3k8lyjksgj728hgf0h81v6fxy1kyp17sv0cjrs6n3z8ry8";
-      name = "kconfig-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kconfig-5.51.0.tar.xz";
+      sha256 = "1h7iax57qxb08slf7dzs0dzmn9bhzb0hy3z0pwbc62bg6lvigcbq";
+      name = "kconfig-5.51.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kconfigwidgets-5.50.0.tar.xz";
-      sha256 = "102al35g2c6v091zm086lvhbym0j0f81zpn6wsk5wr0xc569lagj";
-      name = "kconfigwidgets-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kconfigwidgets-5.51.0.tar.xz";
+      sha256 = "10zgqv5l4178kkzcl0jw36l7f34cv6yfamk459jj8rbnkjncrhxw";
+      name = "kconfigwidgets-5.51.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcoreaddons-5.50.0.tar.xz";
-      sha256 = "1b7m4an322hk89n1svy3345106kphhn0ha7q21k5b3bwphszrx28";
-      name = "kcoreaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcoreaddons-5.51.0.tar.xz";
+      sha256 = "05xvf07z7f1qzz0h7kf987l4qhc75r26ckwv3a417h3aavgjpmqb";
+      name = "kcoreaddons-5.51.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcrash-5.50.0.tar.xz";
-      sha256 = "00n2ynhp1dbp75wkx9wm4mlyf5q3cbrk7k563mdihw88mzmmyvl4";
-      name = "kcrash-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcrash-5.51.0.tar.xz";
+      sha256 = "1yfph8ban1pcljzhyg8rq6pkmwlwk4qg3nsdskfrkcjq96za2732";
+      name = "kcrash-5.51.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdbusaddons-5.50.0.tar.xz";
-      sha256 = "0ijvg4j97j4fv063phg086s9db6nj5gfgic5gcqg99h9hznbqkym";
-      name = "kdbusaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdbusaddons-5.51.0.tar.xz";
+      sha256 = "1i54jdhci3w2929vlh43pqc1pzv0b17s5qx6fm2cwq2hbvpqd3kb";
+      name = "kdbusaddons-5.51.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdeclarative-5.50.0.tar.xz";
-      sha256 = "1fwfzvadqh4rfyklygs17mkikh5m0m4flka91wbhw6jg6w7bvc4c";
-      name = "kdeclarative-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdeclarative-5.51.0.tar.xz";
+      sha256 = "145hasi0g46bbdqyhvw6yfr086c1j73cy46k9vjfw7vx79ksixvj";
+      name = "kdeclarative-5.51.0.tar.xz";
     };
   };
   kded = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kded-5.50.0.tar.xz";
-      sha256 = "1hfh2l40s2mz4qh2wirfa8lnixvvl6y0agh3l5ii0jw93wvyci01";
-      name = "kded-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kded-5.51.0.tar.xz";
+      sha256 = "1g7wc5jbmpqjknbq0ax6gx0rqkrkq020ypcjmah40vv045wq9abk";
+      name = "kded-5.51.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kdelibs4support-5.50.0.tar.xz";
-      sha256 = "12ilp1cnpfhd8f4zsnwwq428cip43yq3xj0px91ndfrgq8chg05l";
-      name = "kdelibs4support-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kdelibs4support-5.51.0.tar.xz";
+      sha256 = "05mq7zzjy21a2wsd836n5zbz8cm035c9yph4fq61f723rr4840iq";
+      name = "kdelibs4support-5.51.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdesignerplugin-5.50.0.tar.xz";
-      sha256 = "00dhhars7ab7zjsz992yswcns5zijzyy84fpym2hg1avxinm31x5";
-      name = "kdesignerplugin-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdesignerplugin-5.51.0.tar.xz";
+      sha256 = "08n1q0ym6abj28k3ii3grr4qrj9gq8kq0vnygw2nv2q2yalvhvj0";
+      name = "kdesignerplugin-5.51.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdesu-5.50.0.tar.xz";
-      sha256 = "095vddhhlc8kyhrmygccvhzbhl6bkscnfrx3vf96anm68zyk4g3f";
-      name = "kdesu-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdesu-5.51.0.tar.xz";
+      sha256 = "11j0hl6fv4az1dhmv8nnrqb8ahqwf75l5gyimsx2lzabqr5qh5p9";
+      name = "kdesu-5.51.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdewebkit-5.50.0.tar.xz";
-      sha256 = "0p5h58mcwyjkrbyq66360blx001j4997dk7z85a3hf64hhv7k10h";
-      name = "kdewebkit-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdewebkit-5.51.0.tar.xz";
+      sha256 = "0zkg2qfhs60lmfx10kw30q6wvh01ldflcnzyngkmqrnlv28mwycg";
+      name = "kdewebkit-5.51.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdnssd-5.50.0.tar.xz";
-      sha256 = "05d2y205mvdbgmmm0h4agbg4xf48x1xc2lgfvjnpgx8ilb5136pi";
-      name = "kdnssd-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdnssd-5.51.0.tar.xz";
+      sha256 = "0bkxplw69a0lkwzqzqqpj46w6xgmkzac2mncxi9widla67c1ry0l";
+      name = "kdnssd-5.51.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdoctools-5.50.0.tar.xz";
-      sha256 = "1zgjf7ib8qlgjkkhkgd3b679b672cgsbiqsshbp0f1hn25ig4dqy";
-      name = "kdoctools-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdoctools-5.51.0.tar.xz";
+      sha256 = "127fmlq16zlm9ai4y09c9dyxnp5n9aj6bbpsg60yaarazfdgzhxw";
+      name = "kdoctools-5.51.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kemoticons-5.50.0.tar.xz";
-      sha256 = "194rhxwf7h3mmb990l0p6l6lrf181c0scikj4h2ngmnjklgvajsg";
-      name = "kemoticons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kemoticons-5.51.0.tar.xz";
+      sha256 = "1f0af48mxzq9690vf820ysvv6kb6sxhimlhmqwwqgn4b31mg0zrq";
+      name = "kemoticons-5.51.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kfilemetadata-5.50.0.tar.xz";
-      sha256 = "063148xbnrgplzfgqdiwyzdj2rix97xln1x72kn3qprxzc5y257l";
-      name = "kfilemetadata-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kfilemetadata-5.51.0.tar.xz";
+      sha256 = "04yyvdm1agpmrjifcphfirsrjl326z20qfvibx4nzxaxzzqkbnyn";
+      name = "kfilemetadata-5.51.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kglobalaccel-5.50.0.tar.xz";
-      sha256 = "1dwp9h7lf1lagwhm2yd2wx130s1kacjinw95f4sznxdw943vp1b3";
-      name = "kglobalaccel-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kglobalaccel-5.51.0.tar.xz";
+      sha256 = "1bq5g4ff0zkgrvwvy4zk6b03zr6syqz00hsldb3ki3gxld246gkh";
+      name = "kglobalaccel-5.51.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kguiaddons-5.50.0.tar.xz";
-      sha256 = "1apz11issmj8c8zw4l88grl38m6nhgwpxb1j9h9v6khjvkwxr987";
-      name = "kguiaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kguiaddons-5.51.0.tar.xz";
+      sha256 = "1p8db1sxh9n1pb4f96wc0b1rzgfyxafawfrcxflcbxxmfb4fj29f";
+      name = "kguiaddons-5.51.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kholidays-5.50.0.tar.xz";
-      sha256 = "0zjkmsjq4m7d2gmsa0m613ny92xcb3w9zbkbsvnh8ci7ghiscz1j";
-      name = "kholidays-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kholidays-5.51.0.tar.xz";
+      sha256 = "0nkmk7kb3jywc4p47k7hr5dzlzz47a20bjynvzx3rhn1rhfr0b5s";
+      name = "kholidays-5.51.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/khtml-5.50.0.tar.xz";
-      sha256 = "1r1qz3pyqifrzinjz83rhb5fgw5si8xmac7jkmn8w82j2kb41bxa";
-      name = "khtml-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/khtml-5.51.0.tar.xz";
+      sha256 = "1p61cn9wixs0zph79zlqsw9bqz0izysvag4b45jbxa8r9lfjr8cc";
+      name = "khtml-5.51.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/ki18n-5.50.0.tar.xz";
-      sha256 = "1y6baizaynphbsfc2b93dh2nah23jh8a3rcbqn7whrdln0f31z19";
-      name = "ki18n-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/ki18n-5.51.0.tar.xz";
+      sha256 = "14yk52r9zabnhy8hs2xw9iq325f2q13cv41rbss24l99iggxq6bj";
+      name = "ki18n-5.51.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kiconthemes-5.50.0.tar.xz";
-      sha256 = "0ip0py0lx3rhjg6wzhdxrbzckmq4n1pnfbzm996wqka6aa4dwzry";
-      name = "kiconthemes-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kiconthemes-5.51.0.tar.xz";
+      sha256 = "13swrvqsh9n9sp54kkmw3kj10z37ykf4185n3l3dsbfb7qm3m0c9";
+      name = "kiconthemes-5.51.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kidletime-5.50.0.tar.xz";
-      sha256 = "1kqghslwvis72h1sw6r4vrwsz0mwqzf5shj6m5mxqk6jv9wbfni1";
-      name = "kidletime-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kidletime-5.51.0.tar.xz";
+      sha256 = "08galc5l9a479fm1xmraic60gf0y5r614r3075az22af4hvn37d0";
+      name = "kidletime-5.51.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kimageformats-5.50.0.tar.xz";
-      sha256 = "0kndxzkcjm9syb6k7zzw2jxdfm1gw6gasq78issypxwc1zci5nvb";
-      name = "kimageformats-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kimageformats-5.51.0.tar.xz";
+      sha256 = "1g1xsy7n9bw7qjv74wchfdb1kibl1h81bf2f6w1j9d4pfdvks19z";
+      name = "kimageformats-5.51.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kinit-5.50.0.tar.xz";
-      sha256 = "1lgalvd81skdncdhd0pwng0vvy54f5wi2wwpqcil22y3860jfb4i";
-      name = "kinit-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kinit-5.51.0.tar.xz";
+      sha256 = "1ds4yqxicq659rdq1nmlvm74r50ibbyypfgp93nh5hv6j8m90r0l";
+      name = "kinit-5.51.0.tar.xz";
     };
   };
   kio = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kio-5.50.0.tar.xz";
-      sha256 = "1bnjal43rpsbabwq756xswj1cbhbrqxgjpjccjgxqml7csa3yhh1";
-      name = "kio-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kio-5.51.0.tar.xz";
+      sha256 = "1iqwj9fcrlvfish8pqx1wfg9cy9pv9jhddghf0vi83z56ysxz0y0";
+      name = "kio-5.51.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kirigami2-5.50.0.tar.xz";
-      sha256 = "0jc4xrs0il5b7s7hzi4ff7jn30r8kgg4fzqxrhwqix9rcxn3nrxl";
-      name = "kirigami2-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kirigami2-5.51.0.tar.xz";
+      sha256 = "1adsfvg7jffpvgcxiicwfxki6pgqp8fiiy0waklp5v6pw7ilfymx";
+      name = "kirigami2-5.51.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kitemmodels-5.50.0.tar.xz";
-      sha256 = "1c4yfqibizrm0zw9kijgkx4pq0r9f12nrw2dnw90g8q7s0pg7q36";
-      name = "kitemmodels-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kitemmodels-5.51.0.tar.xz";
+      sha256 = "02dh3bbjzm5mps2q9ngacwqs1lj6f77pfsgj6205nl4y2q19x0vf";
+      name = "kitemmodels-5.51.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kitemviews-5.50.0.tar.xz";
-      sha256 = "0wghvj5f1xkm9rf6rg50m399z25m1rfvd67ixr0lqwnhag1r32n8";
-      name = "kitemviews-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kitemviews-5.51.0.tar.xz";
+      sha256 = "1jarijishc1a84bvz70bq5sjnhr4hfk15dvbhs7lzrf7pnf8cac4";
+      name = "kitemviews-5.51.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kjobwidgets-5.50.0.tar.xz";
-      sha256 = "0jc7hiid2b2bpj0xw2clrzkplnqi7x1lhh5za2c37dlynndy609q";
-      name = "kjobwidgets-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kjobwidgets-5.51.0.tar.xz";
+      sha256 = "07lbnwmlrf09pwx123ccwafjkcf0kindxyh33icwld7bac2jaxip";
+      name = "kjobwidgets-5.51.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kjs-5.50.0.tar.xz";
-      sha256 = "1jfdcg725mwcfigqhp2srshvj7vhzxb3yhpwij8c0gwmzm0h1lxv";
-      name = "kjs-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kjs-5.51.0.tar.xz";
+      sha256 = "01g02m3frb4cq690wqr0f45848ghhyf2xrz3cizg93m70i5c393w";
+      name = "kjs-5.51.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kjsembed-5.50.0.tar.xz";
-      sha256 = "1iacz8x0idlswg0lwiv2i1k2qklhkk6ih6nhkajq4dy6ajnpbn7a";
-      name = "kjsembed-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kjsembed-5.51.0.tar.xz";
+      sha256 = "0ml07jbjhzd67f486dawb7hi6dybcya81hmz2ma1dqrxlbyv4kml";
+      name = "kjsembed-5.51.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kmediaplayer-5.50.0.tar.xz";
-      sha256 = "0wz8ln45wkslh5c7dq8dijj19xr1xqxi5svv58a3hr5vbcyw3sjm";
-      name = "kmediaplayer-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kmediaplayer-5.51.0.tar.xz";
+      sha256 = "09xa925zzqi3ga1rja81f7zzk6yfr3pflagr3i8k5z60m3gzalh6";
+      name = "kmediaplayer-5.51.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/knewstuff-5.50.0.tar.xz";
-      sha256 = "1imh0hl056hpmrvdlmb68v0wclx3isr6l8sdqrzh3snmjm3jdwhd";
-      name = "knewstuff-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/knewstuff-5.51.0.tar.xz";
+      sha256 = "1kj8hs8wzagbd7g9ryc5jgwfwk97m4q64yk0nz297jviakfdkcwa";
+      name = "knewstuff-5.51.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/knotifications-5.50.0.tar.xz";
-      sha256 = "0xj62kbrlq4ib7kibwrmsbf84nv6klbh3v7rb34alacvvaf5lljs";
-      name = "knotifications-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/knotifications-5.51.0.tar.xz";
+      sha256 = "0v37bi67r0i7bk3nk6hyvmz2jgf1hpfsy64qgg4c836l3bcfp8kz";
+      name = "knotifications-5.51.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/knotifyconfig-5.50.0.tar.xz";
-      sha256 = "01l4wn9khdd28rbi2qbpaqrgjp6achg6wbpaixwph2y2g9zgixdz";
-      name = "knotifyconfig-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/knotifyconfig-5.51.0.tar.xz";
+      sha256 = "0bnlgbpslsbzxfkwns5m8n5dydz61w50giyynl1yjjrkknz2qisn";
+      name = "knotifyconfig-5.51.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kpackage-5.50.0.tar.xz";
-      sha256 = "0bx1hzjl5m9893s97mlhrrshagfkng36rxa0bwm7y8sbh4rnnj8p";
-      name = "kpackage-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kpackage-5.51.0.tar.xz";
+      sha256 = "0zlpw2i6q470xrn9h8i9c7siwnm5z355li4c0q431hjj1nrmh6b8";
+      name = "kpackage-5.51.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kparts-5.50.0.tar.xz";
-      sha256 = "1zwa0pyy0sa3j0yrdggl33gx3a48zvz68nl8r7b7ak445iwmx821";
-      name = "kparts-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kparts-5.51.0.tar.xz";
+      sha256 = "0m7qrigy6hsrxfkcc17ciqnk5inikpw0ksaj1s31hjkgfpnp40hh";
+      name = "kparts-5.51.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kpeople-5.50.0.tar.xz";
-      sha256 = "0vc81g2i5wznfav4nh5c8cp31aridiwg9ksg0gaa2q41882w560b";
-      name = "kpeople-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kpeople-5.51.0.tar.xz";
+      sha256 = "0639adbg61drp58c6gz0xca0rhgqzk3ny3cz4p5w95r9c8mq4wvr";
+      name = "kpeople-5.51.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kplotting-5.50.0.tar.xz";
-      sha256 = "18xw8q426sapim7532f0syb5nwf0vhx9h6xp52lyljj98l88vydw";
-      name = "kplotting-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kplotting-5.51.0.tar.xz";
+      sha256 = "0dngxcaw49i05kz5rk48k7pd85bklbiinv3444xvz8rg1xq1vvhh";
+      name = "kplotting-5.51.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kpty-5.50.0.tar.xz";
-      sha256 = "0slk8nwh94p8xp3q91wmda2v3ipmsvd4fpdsdfz4w2j0kh6nd6w5";
-      name = "kpty-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kpty-5.51.0.tar.xz";
+      sha256 = "1wqg42a72gqgr94p780i2vhzl3m16dc0kf9nsqyaaalw9k31qk0p";
+      name = "kpty-5.51.0.tar.xz";
     };
   };
   kross = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kross-5.50.0.tar.xz";
-      sha256 = "1g0i34z4rhrsnq41plavq880r3c17fki69vs3wjvzmybfn0klha2";
-      name = "kross-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kross-5.51.0.tar.xz";
+      sha256 = "139kgp052zqy51r8fyv0d62ci01ampg8na1hkkvmz69x0wqgqwv1";
+      name = "kross-5.51.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/krunner-5.50.0.tar.xz";
-      sha256 = "03igg111n7c6ys0xm075hlr8k0g599pwgha7wi02k8dbbc2q20g8";
-      name = "krunner-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/krunner-5.51.0.tar.xz";
+      sha256 = "0ij0ql1v0263891kcbpg8bjgf3v73lx298qdjysr01ib3jpy7r7f";
+      name = "krunner-5.51.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kservice-5.50.0.tar.xz";
-      sha256 = "0y0yk1gr7nd0svk4vkbyy1igy2klmwmsv8wwx1bvfkkg3yshz199";
-      name = "kservice-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kservice-5.51.0.tar.xz";
+      sha256 = "1q0m9cvdb67dv81v4vsxql3cg7g7j6ibrb49c1y0wy3bxg7ahn7g";
+      name = "kservice-5.51.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/ktexteditor-5.50.0.tar.xz";
-      sha256 = "00h75yy17npwzhz572k1784h2gw5gynhl9gxbj0i9zbis1nfi1m2";
-      name = "ktexteditor-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/ktexteditor-5.51.0.tar.xz";
+      sha256 = "0gyb2sy759crw5xx9dhwk5wdrl3hxalab9c7v6aikfhn5c1jhd1w";
+      name = "ktexteditor-5.51.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/ktextwidgets-5.50.0.tar.xz";
-      sha256 = "18z108si2cr38np3wcd7hkjjqhs661j2xv0zf8837mm9di4bgjiz";
-      name = "ktextwidgets-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/ktextwidgets-5.51.0.tar.xz";
+      sha256 = "185pyxq97ggv2yxnhiw0kw8ykfvqgj2y4qbrhl2xji00fgmgbsb3";
+      name = "ktextwidgets-5.51.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kunitconversion-5.50.0.tar.xz";
-      sha256 = "0f37ap98rzc575vjf1hhh51bbjvgn00g9mdnp9x3lmi5l6npvwj4";
-      name = "kunitconversion-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kunitconversion-5.51.0.tar.xz";
+      sha256 = "0acnpnc1k1n1z4nfrnnr1jq4a301qdvsap19s3if6cahn1g9f1c6";
+      name = "kunitconversion-5.51.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwallet-5.50.0.tar.xz";
-      sha256 = "14hlcly6x9ybczxg63nwsgv7kah1sx0haxlyllma4rwmh8a85ji5";
-      name = "kwallet-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwallet-5.51.0.tar.xz";
+      sha256 = "1n5wzqk7cxssaxmw7ginl57gl0kg7ihzi57znzjzpffpfzl67faj";
+      name = "kwallet-5.51.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwayland-5.50.0.tar.xz";
-      sha256 = "021pqsv59svj6j4g6alcgrsdi5bybx8i1skpf1v5nf5fc6f17bqb";
-      name = "kwayland-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwayland-5.51.0.tar.xz";
+      sha256 = "1d5nbwyx6n17cbif9nmj9lxnxj1bvcs20hri8q6750h5x5ad7xp2";
+      name = "kwayland-5.51.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwidgetsaddons-5.50.0.tar.xz";
-      sha256 = "0yvd1b15vjk03jdwpyd97z1wn892amp3jkx3s7ff8nc8ax7fyc4m";
-      name = "kwidgetsaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwidgetsaddons-5.51.0.tar.xz";
+      sha256 = "04ryzr9p08jw4azbnvdmvr6ac157vp5l5lng2dvk8fmsvda9nx2p";
+      name = "kwidgetsaddons-5.51.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwindowsystem-5.50.0.tar.xz";
-      sha256 = "0gmk7hp4z7ly6hm0z479hv5vqlmzfr4c9p6r572agzbpc8m682v9";
-      name = "kwindowsystem-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwindowsystem-5.51.0.tar.xz";
+      sha256 = "1hl1dh21rxq58k799iyfcr6mwmc8pgbd8w3mcav61ls0217apxx1";
+      name = "kwindowsystem-5.51.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kxmlgui-5.50.0.tar.xz";
-      sha256 = "1ga81jd0ad5jkb9wdh5hwzzq9axw6pcy4jz1vlc9s2xywyaq931l";
-      name = "kxmlgui-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kxmlgui-5.51.0.tar.xz";
+      sha256 = "0cj2rwbas6rs61hk5w8gklcdpxhsycdfhymg94cdkmdsmkrqvdnw";
+      name = "kxmlgui-5.51.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kxmlrpcclient-5.50.0.tar.xz";
-      sha256 = "03xqxb08kbzs1m0sxpgq8lzf4809kkhl7yc17svq7y00xgq3h36r";
-      name = "kxmlrpcclient-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kxmlrpcclient-5.51.0.tar.xz";
+      sha256 = "0fsfplx5dk0p327r0cncxv0b0mdqfbrj4778a5fbyh3zr17rgd47";
+      name = "kxmlrpcclient-5.51.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/modemmanager-qt-5.50.0.tar.xz";
-      sha256 = "1w7im3ihcpqvjiw7rj7iakxpyhzlaams0r900kh0mv4zfdyl9szs";
-      name = "modemmanager-qt-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/modemmanager-qt-5.51.0.tar.xz";
+      sha256 = "0pvypijbwb95nzx58mhkcz06br6x7z5gagkxgwi5qbgkjg57nf0a";
+      name = "modemmanager-qt-5.51.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/networkmanager-qt-5.50.0.tar.xz";
-      sha256 = "168bzsvsh3i1w3840nickg7rv0hncaiiv6sc1sycg4n6v7773dzl";
-      name = "networkmanager-qt-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/networkmanager-qt-5.51.0.tar.xz";
+      sha256 = "15isj6gma8vb7kpaniq2qacfsl4qzdancxbbndbx4vz452wn8vdx";
+      name = "networkmanager-qt-5.51.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/oxygen-icons5-5.50.0.tar.xz";
-      sha256 = "1ajx9y4wqzi55dmz360j7ha987m3wzs2zbnrm49lipgd55c8n3nc";
-      name = "oxygen-icons5-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/oxygen-icons5-5.51.0.tar.xz";
+      sha256 = "0c6jbd5m3k98bsmapaaaqsrbk3d4ij0k41gb1j2dpc8hfni1i7gh";
+      name = "oxygen-icons5-5.51.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/plasma-framework-5.50.0.tar.xz";
-      sha256 = "01p0friqdhzjkssd655rdsfxp2hdqaf34ypqzx7xwnw3wj1971r8";
-      name = "plasma-framework-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/plasma-framework-5.51.0.tar.xz";
+      sha256 = "1ps40ch729fsn4g3mnjk0ka1jldj8lzg2mh3lh7afm0vkcxm9b4n";
+      name = "plasma-framework-5.51.0.tar.xz";
     };
   };
   prison = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/prison-5.50.0.tar.xz";
-      sha256 = "1v62dq44li0wwrgiiwad2hjj2vzcypa3i9qp0gwc8kkzg162b62d";
-      name = "prison-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/prison-5.51.0.tar.xz";
+      sha256 = "1km2zkj26ymc7lr32x1a001070jj12qnckb2spv67p5cakxrlhan";
+      name = "prison-5.51.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/purpose-5.50.0.tar.xz";
-      sha256 = "11m5391mjf4r89frvvdq9jlkylp67h87x0g3mx00yfc004bsyi6f";
-      name = "purpose-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/purpose-5.51.0.tar.xz";
+      sha256 = "0pmmwjxaplccc7shyb4199adg0gmm7w1jj4z21mds1mj37p4n0l8";
+      name = "purpose-5.51.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/qqc2-desktop-style-5.50.0.tar.xz";
-      sha256 = "0ml88m6hb1llzl7kaykkny7v717grvzh8jnlwdyla2lv4rvvz7d8";
-      name = "qqc2-desktop-style-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/qqc2-desktop-style-5.51.0.tar.xz";
+      sha256 = "1ahga7q6z1d9s2xm9fa4xvdikvywzpdk9098lms7cgzk3jrh0dxi";
+      name = "qqc2-desktop-style-5.51.0.tar.xz";
     };
   };
   solid = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/solid-5.50.0.tar.xz";
-      sha256 = "1y8sclp8lqf4hkqvbm1mmklrjvkxpvz3bb8qqbi5xhd5p9vf6z0h";
-      name = "solid-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/solid-5.51.0.tar.xz";
+      sha256 = "0rgsjz44jxqiy1nqxa03mymz7bjzcxf5xfyf0cnn0gkz4w8wc1bd";
+      name = "solid-5.51.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/sonnet-5.50.0.tar.xz";
-      sha256 = "13ddp5l9vnyqg05xadc4d1j0xfl8ain4qprq3iw82ygrchyrzm0d";
-      name = "sonnet-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/sonnet-5.51.0.tar.xz";
+      sha256 = "05srs168psqpsdlgx2b4f4ik613yl2cgn4zz495c0wd36500zza4";
+      name = "sonnet-5.51.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/syndication-5.50.0.tar.xz";
-      sha256 = "1i73blq2fdzvzfg1p6715fv5m40yd6vcvnbg1pfmbr3696qy4mb3";
-      name = "syndication-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/syndication-5.51.0.tar.xz";
+      sha256 = "0ngygkwmc8a9132a02x29k998i5l5a6lnk8j6lf0phpp6pvwi9yf";
+      name = "syndication-5.51.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/syntax-highlighting-5.50.0.tar.xz";
-      sha256 = "10iw8fhqgvsn4jgf81d9xy8aac07acn45rysnvj9wpm3cmxqxmd4";
-      name = "syntax-highlighting-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/syntax-highlighting-5.51.0.tar.xz";
+      sha256 = "0lhdm55x23289nmjk12g5f6l4glmw2jmi9cj7792scxqfrwnv8s7";
+      name = "syntax-highlighting-5.51.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/threadweaver-5.50.0.tar.xz";
-      sha256 = "11j82nq5pr7rk94bnfzanpj3b41dqjl9cgk2b3h326y7bphcrkyf";
-      name = "threadweaver-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/threadweaver-5.51.0.tar.xz";
+      sha256 = "17daaaj6p8bsmcllxqs2a1ywidcb6rg1s1ichn0isk69gzyv5xlm";
+      name = "threadweaver-5.51.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index b01d902fd91a..259975815d8e 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "leatherman-${version}";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
-    sha256 = "1plx111mfci8z33mwy56y54n597gi8965s7bmnribkk8bvdn10dy";
+    sha256 = "0drn8wdl4mwqz84lwc7cjmc6pxj2jwpx7n2dxwzwj43ps624zhbj";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index 04e8eab4d287..b678a0893867 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -14,12 +14,15 @@ stdenv.mkDerivation rec {
   # in Debian, so we assume they have been sent upstream.
   #
   patches = [
-    ./c-missing_xm_h.patch        
-    ./c-render_table_crash.patch 
+    ./c-missing_xm_h.patch
+    ./c-render_table_crash.patch
     ./c-xpmpipethrough.patch
     ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "An open source clone of the Motif widget set";
+    homepage = http://lesstif.sourceforge.net;
+    platforms = platforms.unix;
+    license = with licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libHX/default.nix b/pkgs/development/libraries/libHX/default.nix
index 7de72ed73a65..39f493d821c3 100644
--- a/pkgs/development/libraries/libHX/default.nix
+++ b/pkgs/development/libraries/libHX/default.nix
@@ -16,14 +16,15 @@ stdenv.mkDerivation rec {
     sh autogen.sh
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libhx.sourceforge.net/;
     longDescription = ''
       libHX is a C library (with some C++ bindings available) that provides data structures
       and functions commonly needed, such as maps, deques, linked lists, string formatting
       and autoresizing, option and config file parsing, type checking casts and more.
       '';
-    maintainers = [ stdenv.lib.maintainers.tstrobel ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.tstrobel ];
+    platforms = platforms.linux;
+    license = with licenses; [ gpl3 lgpl21Plus wtfpl ];
   };
 }
diff --git a/pkgs/development/libraries/libaccounts-glib/default.nix b/pkgs/development/libraries/libaccounts-glib/default.nix
index 4bb806b91d8a..16e9f213ed48 100644
--- a/pkgs/development/libraries/libaccounts-glib/default.nix
+++ b/pkgs/development/libraries/libaccounts-glib/default.nix
@@ -25,7 +25,9 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # since glib-2.46
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Library for managing accounts which can be used from GLib applications";
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index b94c845479aa..a08a1e335232 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     homepage    = https://aomedia.org/av1-features/get-started/;
     maintainers = with maintainers; [ kiloreux ];
     platforms   = platforms.all;
+    license = licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix
index 54fb89df0451..5153b63e91c5 100644
--- a/pkgs/development/libraries/libbap/default.nix
+++ b/pkgs/development/libraries/libbap/default.nix
@@ -20,10 +20,11 @@ stdenv.mkDerivation rec {
     mkdir -p $out/include
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/binaryanalysisplatform/bap-bindings;
     description = "A C library for interacting with BAP";
-    maintainers = [ stdenv.lib.maintainers.maurer ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.maurer ];
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix
index 585f6f18bbab..b99a3c7059aa 100644
--- a/pkgs/development/libraries/libblockdev/default.nix
+++ b/pkgs/development/libraries/libblockdev/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "2.19";
+  version = "2.20";
 in stdenv.mkDerivation rec {
   name = "libblockdev-${version}";
 
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner = "storaged-project";
     repo = "libblockdev";
     rev = "${version}-1";
-    sha256 = "1ny31vaarzbpw0h863p2r5cvjsfs77d33nnisf8bhjc6ps6js3ys";
+    sha256 = "13xy8vx2dnnxczpnwapchc5ncigcxb2fhpmrmglbpkjqmhn2zbdj";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libbsd/cdefs.patch b/pkgs/development/libraries/libbsd/cdefs.patch
deleted file mode 100644
index 81822654aeb4..000000000000
--- a/pkgs/development/libraries/libbsd/cdefs.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-From 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@hadrons.org>
-Date: Tue, 6 Mar 2018 01:41:35 +0100
-Subject: Handle systems missing <sys/cdefs.h>
-
-This is a non-portable header, and we cannot expect it to be provided by
-the system libc (e.g. musl). We just need and rely on declaration that
-we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to
-only ever assume that.
-
-Fixes: https://bugs.freedesktop.org/105281
----
- include/bsd/libutil.h        | 4 ++++
- include/bsd/md5.h            | 4 ++++
- include/bsd/nlist.h          | 4 ++++
- include/bsd/readpassphrase.h | 4 ++++
- include/bsd/stdlib.h         | 4 ++++
- include/bsd/string.h         | 4 ++++
- include/bsd/stringlist.h     | 5 +++++
- include/bsd/sys/queue.h      | 4 ++++
- include/bsd/sys/tree.h       | 4 ++++
- include/bsd/timeconv.h       | 4 ++++
- include/bsd/vis.h            | 4 ++++
- include/bsd/wchar.h          | 4 ++++
- 12 files changed, 49 insertions(+)
-
-diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
-index 45b3b15..ccca29a 100644
---- a/include/bsd/libutil.h
-+++ b/include/bsd/libutil.h
-@@ -40,7 +40,11 @@
- #define LIBBSD_LIBUTIL_H
- 
- #include <features.h>
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/types.h>
- #include <stdint.h>
- #include <stdio.h>
-diff --git a/include/bsd/md5.h b/include/bsd/md5.h
-index 5f3ae46..bf36a30 100644
---- a/include/bsd/md5.h
-+++ b/include/bsd/md5.h
-@@ -27,7 +27,11 @@ typedef struct MD5Context {
- 	uint8_t buffer[MD5_BLOCK_LENGTH];	/* input buffer */
- } MD5_CTX;
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/types.h>
- 
- __BEGIN_DECLS
-diff --git a/include/bsd/nlist.h b/include/bsd/nlist.h
-index cb297e8..8767117 100644
---- a/include/bsd/nlist.h
-+++ b/include/bsd/nlist.h
-@@ -27,7 +27,11 @@
- #ifndef LIBBSD_NLIST_H
- #define LIBBSD_NLIST_H
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- 
- struct nlist {
- 	union {
-diff --git a/include/bsd/readpassphrase.h b/include/bsd/readpassphrase.h
-index 14744b8..5eb8021 100644
---- a/include/bsd/readpassphrase.h
-+++ b/include/bsd/readpassphrase.h
-@@ -31,7 +31,11 @@
- #define RPP_SEVENBIT    0x10		/* Strip the high bit from input. */
- #define RPP_STDIN       0x20		/* Read from stdin, not /dev/tty */
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/types.h>
- 
- __BEGIN_DECLS
-diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
-index ebc9638..8d33d1f 100644
---- a/include/bsd/stdlib.h
-+++ b/include/bsd/stdlib.h
-@@ -42,7 +42,11 @@
- #ifndef LIBBSD_STDLIB_H
- #define LIBBSD_STDLIB_H
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/stat.h>
- #include <stdint.h>
- 
-diff --git a/include/bsd/string.h b/include/bsd/string.h
-index 6798bf6..29097f6 100644
---- a/include/bsd/string.h
-+++ b/include/bsd/string.h
-@@ -33,7 +33,11 @@
- #ifndef LIBBSD_STRING_H
- #define LIBBSD_STRING_H
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/types.h>
- 
- __BEGIN_DECLS
-diff --git a/include/bsd/stringlist.h b/include/bsd/stringlist.h
-index ff30cac..dd71496 100644
---- a/include/bsd/stringlist.h
-+++ b/include/bsd/stringlist.h
-@@ -31,7 +31,12 @@
- 
- #ifndef LIBBSD_STRINGLIST_H
- #define LIBBSD_STRINGLIST_H
-+
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/types.h>
- 
- /*
-diff --git a/include/bsd/sys/queue.h b/include/bsd/sys/queue.h
-index 4a94ea7..ac00026 100644
---- a/include/bsd/sys/queue.h
-+++ b/include/bsd/sys/queue.h
-@@ -33,7 +33,11 @@
- #ifndef LIBBSD_SYS_QUEUE_H
- #define LIBBSD_SYS_QUEUE_H
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- 
- /*
-  * This file defines four types of data structures: singly-linked lists,
-diff --git a/include/bsd/sys/tree.h b/include/bsd/sys/tree.h
-index 628bec0..325b382 100644
---- a/include/bsd/sys/tree.h
-+++ b/include/bsd/sys/tree.h
-@@ -30,7 +30,11 @@
- #ifndef LIBBSD_SYS_TREE_H
- #define LIBBSD_SYS_TREE_H
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- 
- /*
-  * This file defines data structures for different types of trees:
-diff --git a/include/bsd/timeconv.h b/include/bsd/timeconv.h
-index e2a2c55..a426bd3 100644
---- a/include/bsd/timeconv.h
-+++ b/include/bsd/timeconv.h
-@@ -41,7 +41,11 @@
- #ifndef LIBBSD_TIMECONV_H
- #define LIBBSD_TIMECONV_H
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <stdint.h>
- #include <time.h>
- 
-diff --git a/include/bsd/vis.h b/include/bsd/vis.h
-index 970dfdd..ab5430c 100644
---- a/include/bsd/vis.h
-+++ b/include/bsd/vis.h
-@@ -72,7 +72,11 @@
-  */
- #define	UNVIS_END	1	/* no more characters */
- 
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- 
- __BEGIN_DECLS
- char	*vis(char *, int, int, int);
-diff --git a/include/bsd/wchar.h b/include/bsd/wchar.h
-index 33a500e..7216503 100644
---- a/include/bsd/wchar.h
-+++ b/include/bsd/wchar.h
-@@ -40,7 +40,11 @@
- #define LIBBSD_WCHAR_H
- 
- #include <stddef.h>
-+#ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
-+#else
-+#include <bsd/sys/cdefs.h>
-+#endif
- #include <sys/types.h>
- 
- __BEGIN_DECLS
--- 
-cgit v1.1
-
diff --git a/pkgs/development/libraries/libbsd/darwin.patch b/pkgs/development/libraries/libbsd/darwin.patch
index 4bddec6b0ffd..0f9cc9aaf964 100644
--- a/pkgs/development/libraries/libbsd/darwin.patch
+++ b/pkgs/development/libraries/libbsd/darwin.patch
@@ -1,497 +1,103 @@
 diff --git a/configure.ac b/configure.ac
-index 88ccd91..0857782 100644
+index 55fcfe6..1e26c93 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -59,7 +59,7 @@ AS_CASE([$host_os],
- )
+@@ -51,15 +51,19 @@ AS_CASE([$host_os],
+     AC_SEARCH_LIBS([clock_gettime], [rt], [CLOCK_GETTIME_LIBS="-lrt"])
+     AC_SUBST([CLOCK_GETTIME_LIBS])
+     LIBS="$saved_LIBS"
++    AM_CONDITIONAL([BUILD_LINK_VERSION_SCRIPT], [1])
+   ],
+   [*-musl*], [
+     # Upstream refuses to define this, we will do it ourselves then.
+     AC_DEFINE([__MUSL__], [1], [Define to 1 if we are building for musl])
++    AM_CONDITIONAL([BUILD_LINK_VERSION_SCRIPT], [1])
+   ],
+-)
++  [
++  AM_CONDITIONAL([BUILD_LINK_VERSION_SCRIPT], [1])
++  ])
  
  # Checks for header files.
 -AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h])
-+AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h stdio_ext.h])
++AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h nlist.h])
  
  # Checks for typedefs, structures, and compiler characteristics.
  AC_C_INLINE
-@@ -146,6 +146,31 @@ AC_CHECK_FUNCS([clearenv dirfd fopencookie __fpurge \
-                 pstat_getproc sysconf])
+@@ -143,7 +147,8 @@ AC_LINK_IFELSE(
+ 
+ AC_CHECK_FUNCS([clearenv dirfd fopencookie __fpurge \
+                 getauxval getentropy getexecname getline \
+-                pstat_getproc sysconf])
++                pstat_getproc sysconf \
++		strlcpy strlcat strnstr strmode fpurge])
  AM_CONDITIONAL([HAVE_GETENTROPY], [test "x$ac_cv_func_getentropy" = "xtrue"])
  
-+HostOS=`echo "$host" | sed 's/.*-//'`
-+os_is_macosx=false
-+nonLinuxOS=false
-+AC_SUBST(HostOS)
-+case ${HostOS} in
-+	darwin* | powerpc*-*-darwin* | freebsd* | netbsd* | openbsd*)
-+		os_is_macosx=true
-+		nonLinuxOS=true
-+		echo HostOS="$HostOS"
-+		;;
-+	*)
-+		echo host="$host"
-+		echo HostOS="$HostOS"
-+		os_is_macosx=false
-+		nonLinuxOS=false
-+		;;
-+esac		
-+AM_CONDITIONAL([IS_DARWIN], [test x$os_is_macosx = xtrue])
-+AM_COND_IF([IS_DARWIN],
-+	[AC_DEFINE([IS_DARWIN], [1], [Get HostOS Type is Darwin])])
-+
-+AM_CONDITIONAL([NON_LINUX], [test x$userdefine_gethostbyname_r = xtrue])
-+AM_COND_IF([NON_LINUX],
-+	[AC_DEFINE([NON_LINUX], [1], [Get HostOS Type])])
-+
  AC_CONFIG_FILES([
- 	Makefile
- 	include/Makefile
-diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
-index 45b3b15..d0d4043 100644
---- a/include/bsd/libutil.h
-+++ b/include/bsd/libutil.h
-@@ -39,7 +39,9 @@
- #ifndef LIBBSD_LIBUTIL_H
- #define LIBBSD_LIBUTIL_H
- 
-+#ifdef HAVE_FEATURES_H
- #include <features.h>
-+#endif
- #include <sys/cdefs.h>
- #include <sys/types.h>
- #include <stdint.h>
-diff --git a/include/bsd/stdio.h b/include/bsd/stdio.h
-index 4b69983..c75151b 100644
---- a/include/bsd/stdio.h
-+++ b/include/bsd/stdio.h
-@@ -48,12 +48,16 @@
- __BEGIN_DECLS
- const char *fmtcheck(const char *, const char *);
- 
-+#if !defined(darwin) && !defined(__APPLE__) && !defined(MACOSX)
- /* XXX: The function requires cooperation from the system libc to store the
-  * line buffer in the FILE struct itself. */
- char *fgetln(FILE *fp, size_t *lenp)
--	LIBBSD_DEPRECATED("This functions cannot be safely ported, "
--	                  "use getline(3) instead, as it is supported "
--	                  "by GNU and POSIX.1-2008.");
-+	__attribute__((deprecated("This functions cannot be safely ported, "
-+	                          "use getline(3) instead, as it is supported "
-+	                          "by GNU and POSIX.1-2008.")));
-+#else
-+char *fgetln(FILE *fp, size_t *lenp);
-+#endif
- 
- /*
-  * Note: We diverge from the FreeBSD, OpenBSD and DragonFlyBSD declarations,
-diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
-index ebc9638..6cd7943 100644
---- a/include/bsd/stdlib.h
-+++ b/include/bsd/stdlib.h
-@@ -67,9 +67,11 @@ int sradixsort(const unsigned char **base, int nmemb,
-                const unsigned char *table, unsigned endbyte);
- 
- void *reallocf(void *ptr, size_t size);
--#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26)
-+#if defined(_GNU_SOURCE) && defined(__GLIBC__) && defined(__GLIBC_PREREQ)
-+#if !__GLIBC_PREREQ(2, 26)
- void *reallocarray(void *ptr, size_t nmemb, size_t size);
- #endif
-+#endif
- 
- long long strtonum(const char *nptr, long long minval, long long maxval,
-                    const char **errstr);
 diff --git a/include/bsd/string.h b/include/bsd/string.h
-index 6798bf6..6baaa14 100644
+index f987fee..a1e17ed 100644
 --- a/include/bsd/string.h
 +++ b/include/bsd/string.h
-@@ -37,6 +37,12 @@
+@@ -41,10 +41,21 @@
  #include <sys/types.h>
  
  __BEGIN_DECLS
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+size_t bsd_strlcpy(char *dst, const char *src, size_t siz);
-+size_t bsd_strlcat(char *dst, const char *src, size_t siz);
-+char *bsd_strnstr(const char *str, const char *find, size_t str_len);
-+void bsd_strmode(mode_t mode, char *str);
-+#else
++#if !HAVE_STRLCPY
  size_t strlcpy(char *dst, const char *src, size_t siz);
++#endif
++
++#if !HAVE_STRLCAT
  size_t strlcat(char *dst, const char *src, size_t siz);
++#endif
++
++#if !HAVE_STRNSTR
  char *strnstr(const char *str, const char *find, size_t str_len);
-@@ -45,6 +51,7 @@ void strmode(mode_t mode, char *str);
- #if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25)
- void explicit_bzero(void *buf, size_t len);
- #endif
 +#endif
- __END_DECLS
++
++#if !HAVE_STRMODE
+ void strmode(mode_t mode, char *str);
++#endif
  
- #endif
+ #if !defined(__GLIBC__) || \
+     (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 25) || !defined(_GNU_SOURCE)))
 diff --git a/src/Makefile.am b/src/Makefile.am
-index ad83dbf..0f2a7ee 100644
+index f3cc0fa..3aaecd4 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -54,17 +54,21 @@ libbsd_la_DEPENDENCIES = \
- 	libbsd.map
+@@ -56,8 +56,10 @@ libbsd_la_DEPENDENCIES = \
  libbsd_la_LIBADD = \
  	$(CLOCK_GETTIME_LIBS)
-+
-+if IS_DARWIN
-+libbsd_la_LDFLAGS = \
-+	-Wl \
-+	-version-number $(LIBBSD_ABI)
-+else
  libbsd_la_LDFLAGS = \
- 	-Wl,--version-script=$(srcdir)/libbsd.map \
+-	-Wl,--version-script=$(srcdir)/libbsd.map \
  	-version-number $(LIBBSD_ABI)
++if BUILD_LINK_VERSION_SCRIPT
++libbsd_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libbsd.map
 +endif
-+
  libbsd_la_SOURCES = \
  	arc4random.c \
--	arc4random.h \
--	arc4random_unix.h \
--	arc4random_openbsd.h \
- 	arc4random_uniform.c \
- 	bsd_getopt.c \
--	chacha_private.h \
- 	closefrom.c \
- 	dehumanize_number.c \
- 	err.c \
-@@ -117,6 +121,15 @@ libbsd_la_SOURCES += \
- 	$(nil)
- endif
- 
-+noinst_HEADERS = \
-+	arc4random.h \
-+	arc4random_bsd.h \
-+	arc4random_linux.h \
-+	arc4random_unix.h \
-+	arc4random_osx.h \
-+	arc4random_openbsd.h \
-+	chacha_private.h
-+
- libbsd_ctor_a_SOURCES = \
- 	setproctitle_ctor.c \
- 	$(nil)
-diff --git a/src/arc4random_bsd.h b/src/arc4random_bsd.h
-new file mode 100644
-index 0000000..ece2f85
---- /dev/null
-+++ b/src/arc4random_bsd.h
-@@ -0,0 +1,86 @@
-+/*	$OpenBSD: arc4random_freebsd.h,v 1.2 2015/01/15 06:57:18 deraadt Exp $	*/
-+
-+/*
-+ * Copyright (c) 1996, David Mazieres <dm@uun.org>
-+ * Copyright (c) 2008, Damien Miller <djm@openbsd.org>
-+ * Copyright (c) 2013, Markus Friedl <markus@openbsd.org>
-+ * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+/*
-+ * Stub functions for portability.
-+ */
-+
-+#include <sys/mman.h>
-+
-+#include <pthread.h>
-+#include <signal.h>
-+
-+static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER;
-+#define _ARC4_LOCK()   pthread_mutex_lock(&arc4random_mtx)
-+#define _ARC4_UNLOCK() pthread_mutex_unlock(&arc4random_mtx)
-+
-+/*
-+ * Unfortunately, pthread_atfork() is broken on FreeBSD (at least 9 and 10) if
-+ * a program does not link to -lthr. Callbacks registered with pthread_atfork()
-+ * appear to fail silently. So, it is not always possible to detect a PID
-+ * wraparound.
-+ */
-+#define _ARC4_ATFORK(f) pthread_atfork(NULL, NULL, (f))
-+
-+static inline void
-+_getentropy_fail(void)
-+{
-+	raise(SIGKILL);
-+}
-+
-+static volatile sig_atomic_t _rs_forked;
-+
-+static inline void
-+_rs_forkhandler(void)
-+{
-+	_rs_forked = 1;
-+}
-+
-+static inline void
-+_rs_forkdetect(void)
-+{
-+	static pid_t _rs_pid = 0;
-+	pid_t pid = getpid();
-+
-+	if (_rs_pid == 0 || _rs_pid != pid || _rs_forked) {
-+		_rs_pid = pid;
-+		_rs_forked = 0;
-+		if (rs)
-+			memset(rs, 0, sizeof(*rs));
-+	}
-+}
-+
-+static inline int
-+_rs_allocate(struct _rs **rsp, struct _rsx **rsxp)
-+{
-+	if ((*rsp = mmap(NULL, sizeof(**rsp), PROT_READ|PROT_WRITE,
-+	    MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED)
-+		return (-1);
-+
-+	if ((*rsxp = mmap(NULL, sizeof(**rsxp), PROT_READ|PROT_WRITE,
-+	    MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED) {
-+		munmap(*rsp, sizeof(**rsp));
-+		return (-1);
-+	}
-+
-+	_ARC4_ATFORK(_rs_forkhandler);
-+	return (0);
-+}
-diff --git a/src/arc4random_linux.h b/src/arc4random_linux.h
-new file mode 100644
-index 0000000..d61a8db
---- /dev/null
-+++ b/src/arc4random_linux.h
-@@ -0,0 +1,86 @@
-+/*	$OpenBSD: arc4random_linux.h,v 1.8 2014/08/13 06:04:10 deraadt Exp $	*/
-+
-+/*
-+ * Copyright (c) 1996, David Mazieres <dm@uun.org>
-+ * Copyright (c) 2008, Damien Miller <djm@openbsd.org>
-+ * Copyright (c) 2013, Markus Friedl <markus@openbsd.org>
-+ * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+/*
-+ * Stub functions for portability.
-+ */
-+
-+#include <sys/mman.h>
-+
-+#include <pthread.h>
-+#include <signal.h>
-+
-+static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER;
-+#define _ARC4_LOCK()   pthread_mutex_lock(&arc4random_mtx)
-+#define _ARC4_UNLOCK() pthread_mutex_unlock(&arc4random_mtx)
-+
-+#ifdef __GLIBC__
-+extern void *__dso_handle;
-+extern int __register_atfork(void (*)(void), void(*)(void), void (*)(void), void *);
-+#define _ARC4_ATFORK(f) __register_atfork(NULL, NULL, (f), __dso_handle)
-+#else
-+#define _ARC4_ATFORK(f) pthread_atfork(NULL, NULL, (f))
-+#endif
-+
-+static inline void
-+_getentropy_fail(void)
-+{
-+	raise(SIGKILL);
-+}
-+
-+static volatile sig_atomic_t _rs_forked;
-+
-+static inline void
-+_rs_forkhandler(void)
-+{
-+	_rs_forked = 1;
-+}
-+
-+static inline void
-+_rs_forkdetect(void)
-+{
-+	static pid_t _rs_pid = 0;
-+	pid_t pid = getpid();
-+
-+	if (_rs_pid == 0 || _rs_pid != pid || _rs_forked) {
-+		_rs_pid = pid;
-+		_rs_forked = 0;
-+		if (rs)
-+			memset(rs, 0, sizeof(*rs));
-+	}
-+}
-+
-+static inline int
-+_rs_allocate(struct _rs **rsp, struct _rsx **rsxp)
-+{
-+	if ((*rsp = mmap(NULL, sizeof(**rsp), PROT_READ|PROT_WRITE,
-+	    MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED)
-+		return (-1);
-+
-+	if ((*rsxp = mmap(NULL, sizeof(**rsxp), PROT_READ|PROT_WRITE,
-+	    MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED) {
-+		munmap(*rsp, sizeof(**rsp));
-+		return (-1);
-+	}
-+
-+	_ARC4_ATFORK(_rs_forkhandler);
-+	return (0);
-+}
-diff --git a/src/arc4random_osx.h b/src/arc4random_osx.h
-new file mode 100644
-index 0000000..14771a6
---- /dev/null
-+++ b/src/arc4random_osx.h
-@@ -0,0 +1,82 @@
-+/*	$OpenBSD: arc4random_osx.h,v 1.10 2015/09/11 11:52:55 deraadt Exp $	*/
-+
-+/*
-+ * Copyright (c) 1996, David Mazieres <dm@uun.org>
-+ * Copyright (c) 2008, Damien Miller <djm@openbsd.org>
-+ * Copyright (c) 2013, Markus Friedl <markus@openbsd.org>
-+ * Copyright (c) 2014, Theo de Raadt <deraadt@openbsd.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+/*
-+ * Stub functions for portability.
-+ */
-+
-+#include <sys/mman.h>
-+
-+#include <unistd.h>
-+#include <pthread.h>
-+#include <signal.h>
-+
-+static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER;
-+#define _ARC4_LOCK()   pthread_mutex_lock(&arc4random_mtx)
-+#define _ARC4_UNLOCK() pthread_mutex_unlock(&arc4random_mtx)
-+
-+#define _ARC4_ATFORK(f) pthread_atfork(NULL, NULL, (f))
-+
-+static inline void
-+_getentropy_fail(void)
-+{
-+	raise(SIGKILL);
-+}
-+
-+static volatile sig_atomic_t _rs_forked;
-+
-+static inline void
-+_rs_forkhandler(void)
-+{
-+	_rs_forked = 1;
-+}
-+
-+static inline void
-+_rs_forkdetect(void)
-+{
-+	static pid_t _rs_pid = 0;
-+	pid_t pid = getpid();
-+
-+	if (_rs_pid == 0 || _rs_pid != pid || _rs_forked) {
-+		_rs_pid = pid;
-+		_rs_forked = 0;
-+		if (rs)
-+			memset(rs, 0, sizeof(*rs));
-+	}
-+}
-+
-+static inline int
-+_rs_allocate(struct _rs **rsp, struct _rsx **rsxp)
-+{
-+	if ((*rsp = mmap(NULL, sizeof(**rsp), PROT_READ|PROT_WRITE,
-+	    MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED)
-+		return (-1);
-+
-+	if ((*rsxp = mmap(NULL, sizeof(**rsxp), PROT_READ|PROT_WRITE,
-+	    MAP_ANON|MAP_PRIVATE, -1, 0)) == MAP_FAILED) {
-+		munmap(*rsp, sizeof(**rsp));
-+		*rsp = NULL;
-+		return (-1);
-+	}
-+
-+	_ARC4_ATFORK(_rs_forkhandler);
-+	return (0);
-+}
-diff --git a/src/fgetln.c b/src/fgetln.c
-index 4d1726e..9c73788 100644
---- a/src/fgetln.c
-+++ b/src/fgetln.c
-@@ -30,7 +30,9 @@
- #include <sys/types.h>
- #include <string.h>
- 
-+#if !defined(darwin) && !defined(__APPLE__) && !defined(MACOSX)
- #include "local-link.h"
-+#endif
- 
- #ifdef HAVE_GETLINE
- struct filebuf {
-@@ -75,9 +77,11 @@ fgetln(FILE *stream, size_t *len)
- 		return fb->buf;
- 	}
- }
-+#if !defined(darwin) && !defined(__APPLE__) && !defined(MACOSX)
- libbsd_link_warning(fgetln,
-                     "This functions cannot be safely ported, use getline(3) "
-                     "instead, as it is supported by GNU and POSIX.1-2008.")
-+#endif
- #else
- #error "Function fgetln() needs to be ported."
- #endif
+ 	arc4random.h \
 diff --git a/src/fpurge.c b/src/fpurge.c
-index 462535a..e7eb46f 100644
+index 462535a..a8941db 100644
 --- a/src/fpurge.c
 +++ b/src/fpurge.c
-@@ -26,9 +26,11 @@
+@@ -26,9 +26,10 @@
  
  #include <errno.h>
  #include <stdio.h>
-+#if HAVE___FPURGE
- #include <stdio_ext.h>
-+#endif
+-#include <stdio_ext.h>
  
--#ifdef HAVE___FPURGE
-+#ifdef HAVE___FPURGE                   /* glibc >= 2.2, Haiku, Solaris >= 7 */
+ #ifdef HAVE___FPURGE
++#include <stdio_ext.h>
++
  int
  fpurge(FILE *fp)
  {
-@@ -42,5 +44,55 @@ fpurge(FILE *fp)
+@@ -41,6 +42,36 @@ fpurge(FILE *fp)
+ 
  	return 0;
  }
- #else
--#error "Function fpurge() needs to be ported."
-+#define fp_ fp
-+//#error "Function fpurge() needs to be ported."
-+//#elif HAVE_FPURGE                   /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin 1.7 */
++/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin 1.7 */
++#elif HAVE_FPURGE
 +int
 +fpurge(FILE *fp)
 +{
@@ -501,12 +107,13 @@ index 462535a..e7eb46f 100644
 +	}
 +
 +  /* Call the system's fpurge function.  */
-+# undef fpurge
-+# if !HAVE_DECL_FPURGE
++#undef fpurge
++#if !HAVE_DECL_FPURGE
 +  extern int fpurge (FILE *);
-+# endif
++#endif
 +  int result = fpurge (fp);
-+# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
++/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
++#if defined(__sferror) || defined(__DragonFly__)
 +  if (result == 0)
 +    /* Correct the invariants that fpurge broke.
 +       <stdio.h> on BSD systems says:
@@ -514,69 +121,35 @@ index 462535a..e7eb46f 100644
 +       If this invariant is not fulfilled and the stream is read-write but
 +       currently reading, subsequent putc or fputc calls will write directly
 +       into the buffer, although they shouldn't be allowed to.  */
-+    if ((fp_->_flags & __SRD) != 0)
-+      fp_->_w = 0;
++    if ((fp->_flags & __SRD) != 0)
++      fp->_w = 0;
 +#endif
 +  return result;
 +}
-+//#endif
-+#endif
-+
-+#ifdef TEST
-+int
-+main()
-+{
-+	static FILE fp_bad;
-+	FILE *fp;
-+
-+	if (fpurge(&fp_bad) == 0)
-+		return 1;
-+
-+	fp = fopen("/dev/zero", "r");
-+	if (fpurge(fp) < 0)
-+		return 1;
-+
-+	fclose(fp);
-+
-+	return 0;
-+}
+ #else
+ #error "Function fpurge() needs to be ported."
  #endif
 diff --git a/src/funopen.c b/src/funopen.c
-index 1e05c7e..75e61ea 100644
+index 1e05c7e..65ba5a8 100644
 --- a/src/funopen.c
 +++ b/src/funopen.c
 @@ -143,6 +143,7 @@ funopen(const void *cookie,
   * they will not add the needed support to implement it. Just ignore this
   * interface there, as it has never been provided anyway.
   */
-+#elif defined(darwin) || defined(__APPLE__) || defined(MACOSX)
++#elif defined(__MACH__)
  #else
  #error "Function funopen() needs to be ported or disabled."
  #endif
-diff --git a/src/getentropy.c b/src/getentropy.c
-index 3f11a1e..8a23a07 100644
---- a/src/getentropy.c
-+++ b/src/getentropy.c
-@@ -28,9 +28,7 @@
- #include "getentropy_linux.c"
- #elif defined(__GNU__)
- #include "getentropy_hurd.c"
--#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
--#include "getentropy_bsd.c"
--#elif defined(__NetBSD__)
-+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__)
- #include "getentropy_bsd.c"
- #elif defined(__sun)
- #include "getentropy_solaris.c"
 diff --git a/src/hash/sha512.h b/src/hash/sha512.h
-index 4f368a1..ab22fc1 100644
+index 4f368a1..7632e25 100644
 --- a/src/hash/sha512.h
 +++ b/src/hash/sha512.h
 @@ -29,7 +29,11 @@
  #ifndef _SHA512_H_
  #define _SHA512_H_
  
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
++#ifdef __MACH__
 +#include <stdint.h>
 +#else
  #include <sys/types.h>
@@ -585,16 +158,15 @@ index 4f368a1..ab22fc1 100644
  #define SHA512_DIGEST_LENGTH		64
  
 diff --git a/src/hash/sha512c.c b/src/hash/sha512c.c
-index b3c8d5e..f69013d 100644
+index b3c8d5e..602f54e 100644
 --- a/src/hash/sha512c.c
 +++ b/src/hash/sha512c.c
-@@ -25,7 +25,13 @@
+@@ -25,7 +25,12 @@
   */
  
  #include <sys/cdefs.h>
-+__FBSDID("$FreeBSD$");
 +
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
++#ifdef __MACH__
 +#include <machine/endian.h>
 +#else
  #include <sys/endian.h>
@@ -602,102 +174,188 @@ index b3c8d5e..f69013d 100644
  #include <sys/types.h>
  
  #include <string.h>
+diff --git a/src/local-link.h b/src/local-link.h
+index d518dcf..84694a2 100644
+--- a/src/local-link.h
++++ b/src/local-link.h
+@@ -27,7 +27,11 @@
+ #ifndef LIBBSD_LOCAL_LINK_H
+ #define LIBBSD_LOCAL_LINK_H
+ 
++#ifdef __MACH__
++#define libbsd_link_warning(symbol, msg)
++#else
+ #define libbsd_link_warning(symbol, msg) \
+ 	static const char libbsd_emit_link_warning_##symbol[] \
+ 		__attribute__((used,section(".gnu.warning." #symbol))) = msg;
+ #endif
++#endif
 diff --git a/src/nlist.c b/src/nlist.c
-index 0932f59..598a329 100644
+index 0932f59..4502048 100644
 --- a/src/nlist.c
 +++ b/src/nlist.c
-@@ -27,6 +27,10 @@
-  * SUCH DAMAGE.
-  */
+@@ -41,6 +41,7 @@
+ #include <unistd.h>
+ #include <nlist.h>
  
-+#if !defined(darwin) && !defined(__APPLE__) && !defined(MACOSX)
-+#if defined(LIBC_SCCS) && !defined(lint)
-+static char sccsid[] = "@(#)nlist.c	8.1 (Berkeley) 6/4/93";
-+#endif /* LIBC_SCCS and not lint */
- #include <sys/cdefs.h>
++#if !HAVE_NLIST_H
+ #include "local-elf.h"
  
- #include <sys/param.h>
-@@ -265,3 +269,4 @@ nlist(const char *name, struct nlist *list)
+ #define SIZE_T_MAX 0xffffffffU
+@@ -265,3 +266,4 @@ nlist(const char *name, struct nlist *list)
  	(void)close(fd);
  	return (n);
  }
-+#endif /* _NLIST_DO_ELF */
++#endif
+diff --git a/src/readpassphrase.c b/src/readpassphrase.c
+index f9f6195..2bc5fb4 100644
+--- a/src/readpassphrase.c
++++ b/src/readpassphrase.c
+@@ -36,6 +36,14 @@
+ #define TCSASOFT 0
+ #endif
+ 
++#ifndef _SIGMAX
++#define	_SIGMAX	64
++#endif
++
++#ifndef _NSIG
++#define _NSIG (_SIGMAX + 1)
++#endif
++
+ static volatile sig_atomic_t signo[_NSIG];
+ 
+ static void handler(int);
 diff --git a/src/setproctitle.c b/src/setproctitle.c
-index 038ac7d..d0ef01b 100644
+index 038ac7d..e9ee09c 100644
 --- a/src/setproctitle.c
 +++ b/src/setproctitle.c
-@@ -32,6 +32,11 @@
+@@ -32,6 +32,10 @@
  #include <unistd.h>
  #include <string.h>
  
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+#define __asm__(x)
++#ifdef __MACH__
 +extern char **environ;
 +#endif
 +
  static struct {
  	/* Original value. */
  	const char *arg0;
-@@ -287,7 +292,14 @@ __asm__(".symver setproctitle_impl,setproctitle@@LIBBSD_0.5");
+@@ -280,16 +284,22 @@ setproctitle_impl(const char *fmt, ...)
+ 		*++nul = '\0';
+ 	}
+ }
++#ifndef __MACH__
+ __asm__(".symver setproctitle_impl,setproctitle@@LIBBSD_0.5");
++#endif
+ 
+ /* The original function introduced in 0.2 was a stub, it only got implemented
+  * in 0.5, make the implementation available in the old version as an alias
   * for code linking against that version, and change the default to use the
   * new version, so that new code depends on the implemented version. */
- #ifdef HAVE_TYPEOF
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+//
-+// HACK: even weak aliasing breaks in clang so just comment this out for now
-+//
-+// extern typeof(setproctitle_impl) setproctitle_stub __attribute__((weak, alias("setproctitle_impl")));
-+#else
+-#ifdef HAVE_TYPEOF
++#ifdef __MACH__
++void setproctitle_stub(const char *fmt, ...);
++#elif HAVE_TYPEOF
  extern typeof(setproctitle_impl) setproctitle_stub __attribute__((alias("setproctitle_impl")));
-+#endif
  #else
  void setproctitle_stub(const char *fmt, ...)
  	__attribute__((alias("setproctitle_impl")));
+ #endif
++#ifndef __MACH__
+ __asm__(".symver setproctitle_stub,setproctitle@LIBBSD_0.2");
++#endif
 diff --git a/src/strlcat.c b/src/strlcat.c
-index 14c53a1..e01cb60 100644
+index 14c53a1..5961c17 100644
 --- a/src/strlcat.c
 +++ b/src/strlcat.c
-@@ -27,7 +27,11 @@
+@@ -26,6 +26,7 @@
+  * Returns strlen(src) + MIN(dsize, strlen(initial dst)).
   * If retval >= dsize, truncation occurred.
   */
++#if !HAVE_STRLCAT
  size_t
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+bsd_strlcat(char *dst, const char *src, size_t dsize)
-+#else
  strlcat(char *dst, const char *src, size_t dsize)
-+#endif
  {
- 	const char *odst = dst;
- 	const char *osrc = src;
+@@ -53,3 +54,4 @@ strlcat(char *dst, const char *src, size_t dsize)
+ 
+ 	return(dlen + (src - osrc));	/* count does not include NUL */
+ }
++#endif
 diff --git a/src/strlcpy.c b/src/strlcpy.c
-index e9a7fe4..10a855f 100644
+index e9a7fe4..5137acb 100644
 --- a/src/strlcpy.c
 +++ b/src/strlcpy.c
-@@ -25,7 +25,11 @@
+@@ -24,6 +24,7 @@
+  * chars will be copied.  Always NUL terminates (unless dsize == 0).
   * Returns strlen(src); if retval >= dsize, truncation occurred.
   */
++#if !HAVE_STRLCPY
  size_t
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+bsd_strlcpy(char *dst, const char *src, size_t dsize)
-+#else
  strlcpy(char *dst, const char *src, size_t dsize)
-+#endif
  {
- 	const char *osrc = src;
- 	size_t nleft = dsize;
+@@ -48,3 +49,4 @@ strlcpy(char *dst, const char *src, size_t dsize)
+ 
+ 	return(src - osrc - 1);	/* count does not include NUL */
+ }
++#endif
 diff --git a/src/strmode.c b/src/strmode.c
-index e6afde5..c463243 100644
+index e6afde5..da680c9 100644
 --- a/src/strmode.c
 +++ b/src/strmode.c
-@@ -33,7 +33,11 @@
+@@ -32,6 +32,7 @@
+ #include <sys/stat.h>
  #include <string.h>
  
++#if !HAVE_STRMODE
  void
-+#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+bsd_strmode(mode_t mode, char *p)
-+#else
  strmode(mode_t mode, char *p)
+ {
+@@ -141,3 +142,4 @@ strmode(mode_t mode, char *p)
+ 	*p++ = ' ';		/* will be a '+' if ACL's implemented */
+ 	*p = '\0';
+ }
++#endif
+diff --git a/src/unvis.c b/src/unvis.c
+index 94e3e7a..fba4c66 100644
+--- a/src/unvis.c
++++ b/src/unvis.c
+@@ -565,11 +565,15 @@ strnunvis_openbsd(char *dst, const char *src, size_t dlen)
+ {
+ 	return strnunvisx(dst, dlen, src, 0);
+ }
++#ifndef __MACH__
+ __asm__(".symver strnunvis_openbsd,strnunvis@@LIBBSD_0.2");
++#endif
+ 
+ int
+ strnunvis_netbsd(char *dst, size_t dlen, const char *src)
+ {
+ 	return strnunvisx(dst, dlen, src, 0);
+ }
++#ifndef __MACH__
+ __asm__(".symver strnunvis_netbsd,strnunvis@LIBBSD_0.9.1");
 +#endif
+diff --git a/src/vis.c b/src/vis.c
+index c2cd2d8..2d84330 100644
+--- a/src/vis.c
++++ b/src/vis.c
+@@ -723,14 +723,18 @@ strnvis_openbsd(char *mbdst, const char *mbsrc, size_t dlen, int flags)
  {
- 	 /* print type */
- 	switch (mode & S_IFMT) {
+ 	return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, "", NULL);
+ }
++#ifndef __MACH__
+ __asm__(".symver strnvis_openbsd,strnvis@@LIBBSD_0.2");
++#endif
+ 
+ int
+ strnvis_netbsd(char *mbdst, size_t dlen, const char *mbsrc, int flags)
+ {
+ 	return istrsenvisxl(&mbdst, &dlen, mbsrc, flags, "", NULL);
+ }
++#ifndef __MACH__
+ __asm__(".symver strnvis_netbsd,strnvis@LIBBSD_0.9.1");
++#endif
+ 
+ int
+ stravis(char **mbdstp, const char *mbsrc, int flags)
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 36410e842a5d..a8d1925e5c0d 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libbsd-${version}";
-  version = "0.8.7";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "https://libbsd.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0c9bl49zs0xdddcwj5dh0lay9sxi2m1yi74848g8p87mb87g2j7m";
+    sha256 = "1957w2wi7iqar978qlfsm220dwywnrh5m58nrnn9zmi74ds3bn2n";
   };
 
   # darwin changes configure.ac which means we need to regenerate
@@ -14,15 +14,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
 
   patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch
-    # Suitable for all, but limited to musl to avoid rebuilds
-    ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
-      # https://cgit.freedesktop.org/libbsd/commit/?id=1f8a3f7bccfc84b195218ad0086ebd57049c3490
-      ./non-glibc.patch
-      # https://cgit.freedesktop.org/libbsd/commit/?id=11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
-      ./cdefs.patch
-      # https://cgit.freedesktop.org/libbsd/commit/?id=b20272f5a966333b49fdf2bda797e2a9f0227404
-      ./features.patch
-  ];
+    # Suitable for all but limited to musl to avoid rebuild
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./musl.patch;
 
   meta = with stdenv.lib; {
     description = "Common functions found on BSD systems";
diff --git a/pkgs/development/libraries/libbsd/features.patch b/pkgs/development/libraries/libbsd/features.patch
deleted file mode 100644
index 66bd1e9232ba..000000000000
--- a/pkgs/development/libraries/libbsd/features.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b20272f5a966333b49fdf2bda797e2a9f0227404 Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@hadrons.org>
-Date: Tue, 6 Mar 2018 01:42:52 +0100
-Subject: Remove <features.h> inclusion from <bsd/libutil.h>
-
-This is a non-portable header, and we should not assume it is present.
-Let the first system header pull it in if needed.
----
- include/bsd/libutil.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
-index ccca29a..e5f148a 100644
---- a/include/bsd/libutil.h
-+++ b/include/bsd/libutil.h
-@@ -39,7 +39,6 @@
- #ifndef LIBBSD_LIBUTIL_H
- #define LIBBSD_LIBUTIL_H
- 
--#include <features.h>
- #ifdef LIBBSD_OVERLAY
- #include <sys/cdefs.h>
- #else
--- 
-cgit v1.1
-
diff --git a/pkgs/development/libraries/libbsd/musl.patch b/pkgs/development/libraries/libbsd/musl.patch
new file mode 100644
index 000000000000..fc07cfb6e855
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/musl.patch
@@ -0,0 +1,14 @@
+Source: maxice8
+Upstream: no
+Reason: fixes compilation
+
+--- a/src/flopen.c
++++ b/src/flopen.c
+@@ -34,6 +34,7 @@
+ #include <errno.h>
+ #include <stdarg.h>
+ #include <unistd.h>
++#include <fcntl.h>
+ 
+ #include <libutil.h>
+ 
diff --git a/pkgs/development/libraries/libbsd/non-glibc.patch b/pkgs/development/libraries/libbsd/non-glibc.patch
deleted file mode 100644
index f61e0d242943..000000000000
--- a/pkgs/development/libraries/libbsd/non-glibc.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 1f8a3f7bccfc84b195218ad0086ebd57049c3490 Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@hadrons.org>
-Date: Tue, 6 Mar 2018 01:39:45 +0100
-Subject: Fix function declaration protection for glibc already providing them
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-On non-glibc based systems we cannot unconditionally use the
-__GLIBC_PREREQ macro as it gets expanded before evaluation. Instead,
-if it is undefined, define it to 0.
-
-We should also always declare these functions on non-glibc based
-systems. And on systems with a new enough glibc, which provides these
-functions, we should still provide the declarations if _GNU_SOURCE
-is *not* defined.
-
-Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- include/bsd/stdlib.h    | 3 ++-
- include/bsd/string.h    | 3 ++-
- include/bsd/sys/cdefs.h | 8 ++++++++
- 3 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
-index 8d33d1f..a5b063c 100644
---- a/include/bsd/stdlib.h
-+++ b/include/bsd/stdlib.h
-@@ -71,7 +71,8 @@ int sradixsort(const unsigned char **base, int nmemb,
-                const unsigned char *table, unsigned endbyte);
- 
- void *reallocf(void *ptr, size_t size);
--#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26)
-+#if !defined(__GLIBC__) || \
-+    (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 26) || !defined(_GNU_SOURCE)))
- void *reallocarray(void *ptr, size_t nmemb, size_t size);
- #endif
- 
-diff --git a/include/bsd/string.h b/include/bsd/string.h
-index 29097f6..f987fee 100644
---- a/include/bsd/string.h
-+++ b/include/bsd/string.h
-@@ -46,7 +46,8 @@ size_t strlcat(char *dst, const char *src, size_t siz);
- char *strnstr(const char *str, const char *find, size_t str_len);
- void strmode(mode_t mode, char *str);
- 
--#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25)
-+#if !defined(__GLIBC__) || \
-+    (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 25) || !defined(_GNU_SOURCE)))
- void explicit_bzero(void *buf, size_t len);
- #endif
- __END_DECLS
-diff --git a/include/bsd/sys/cdefs.h b/include/bsd/sys/cdefs.h
-index b4c8f30..d1cc419 100644
---- a/include/bsd/sys/cdefs.h
-+++ b/include/bsd/sys/cdefs.h
-@@ -59,6 +59,14 @@
- #endif
- 
- /*
-+ * On non-glibc based systems, we cannot unconditionally use the
-+ * __GLIBC_PREREQ macro as it gets expanded before evaluation.
-+ */
-+#ifndef __GLIBC_PREREQ
-+#define __GLIBC_PREREQ(maj, min) 0
-+#endif
-+
-+/*
-  * Some kFreeBSD headers expect those macros to be set for sanity checks.
-  */
- #ifndef _SYS_CDEFS_H_
--- 
-cgit v1.1
-
diff --git a/pkgs/development/libraries/libcacard/default.nix b/pkgs/development/libraries/libcacard/default.nix
new file mode 100644
index 000000000000..f116360474e4
--- /dev/null
+++ b/pkgs/development/libraries/libcacard/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, glib, nss }:
+
+stdenv.mkDerivation rec {
+  name = "libcacard-${version}";
+  version = "2.6.1";
+
+  src = fetchurl {
+    url = "https://www.spice-space.org/download/libcacard/${name}.tar.xz";
+    sha256 = "1w6y0kiakhg7dgyf8yqpm4jj6jiv17zhy9lp3d7z32q1pniccxk2";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ glib nss ];
+
+  meta = with stdenv.lib; {
+    description = "Smart card emulation library";
+    homepage = https://gitlab.freedesktop.org/spice/libcacard;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ yegortimoshenko ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libclthreads/default.nix b/pkgs/development/libraries/libclthreads/default.nix
index 6d37eb19c712..a2f6858a05c9 100644
--- a/pkgs/development/libraries/libclthreads/default.nix
+++ b/pkgs/development/libraries/libclthreads/default.nix
@@ -2,20 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "libclthreads-${version}";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${version}.tar.bz2";
-    sha256 = "1s8xx99z6llv46cvkllmd72v2pkzbfl5gngcql85mf14mxkdb7x6";
+    sha256 = "0cbs1w89q8wfjrrhvxf6xk0y02nkjl5hd0yb692c8ma01i6b2nf6";
   };
 
   patchPhase = ''
-    # Fix hardcoded paths to executables
-    sed -e "s@/usr/bin/install@install@" -i ./Makefile
-    sed -e "s@/sbin/ldconfig@ldconfig@" -i ./Makefile
-
-    # Remove useless symlink: /lib64 -> /lib
-    sed -e '/ln -sf \$(CLTHREADS_MIN) \$(PREFIX)\/\$(LIBDIR)\/\$(CLTHREADS_SO)/d' -i ./Makefile
+    cd source
+    # don't run ldconfig:
+    sed -e "/ldconfig/d" -i ./Makefile
   '';
 
   makeFlags = [
@@ -24,12 +21,13 @@ stdenv.mkDerivation rec {
   ];
 
   preInstall = ''
-    # The Makefile does not create the include directory
+    # The Makefile does not create the include and lib directories
     mkdir -p $out/include
+    mkdir -p $out/lib
   '';
 
   postInstall = ''
-    ln -s $out/lib/libclthreads.so.${version} $out/lib/libclthreads.so
+    ln $out/lib/libclthreads.so $out/lib/libclthreads.so.2
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libclxclient/default.nix b/pkgs/development/libraries/libclxclient/default.nix
index ce67a8efa80e..6e6ca647fc0f 100644
--- a/pkgs/development/libraries/libclxclient/default.nix
+++ b/pkgs/development/libraries/libclxclient/default.nix
@@ -1,20 +1,28 @@
-{ stdenv, fetchurl, libclthreads, libX11, libXft, xorg }:
+{ stdenv, fetchurl, libclthreads, libX11, libXft, xorg, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "libclxclient-${version}";
-  version = "3.9.0";
+  version = "3.9.2";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${version}.tar.bz2";
-    sha256 = "14l7xrh964gllymraq4n5pgax94p5jsfjslqi5c6637zc4lmgnl0";
+    sha256 = "10bq6fy8d3pr1x2x3xx9qhf2hdxrwdgvg843a2y6lx70y1jfj0c5";
   };
 
   buildInputs = [ libclthreads libX11 libXft xorg.xproto ];
 
+  nativeBuildInputs = [ pkgconfig ];
+
   NIX_CFLAGS_COMPILE = "-I${xorg.xproto}/include -I${libXft.dev}/include";
 
   patchPhase = ''
-    sed -e "s@ldconfig@@" -i Makefile
+    cd source
+    # use pkg-config instead of pkgcon:
+    sed -e 's/pkgconf/pkg-config/g' -i ./Makefile
+    # don't run ldconfig:
+    sed -e "/ldconfig/d" -i ./Makefile
+    # make sure it can find clxclient.h:
+    sed -e 's/<clxclient.h>/"clxclient.h"/' -i ./enumip.cc
   '';
 
   makeFlags = [
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 4da0738fde5e..e3d5c7d6424e 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libcouchbase-${version}";
-  version = "2.9.4";
+  version = "2.9.5";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "0d6lmnr5yfpkzr1yr6f2ilxprl6v9r4r7917k4iz0wc3jlcndwl3";
+    sha256 = "18l3579b47l8d6nhv0xls8pybkqdmdkw8jg4inalnx3g7ydqfn00";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 1342ee6773f7..72c3ca0e2b05 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
     inherit homepage;
-    maintainers = [ ];
     inherit (qt4.meta) platforms;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 9c25757efb03..32b0c9758f73 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchbzr, cmake, qtbase }:
+{ stdenv, fetchgit, cmake, qtbase }:
 
-stdenv.mkDerivation {
-  name = "libdbusmenu-qt-0.9.3+14";
+stdenv.mkDerivation rec {
+  name = "libdbusmenu-qt-${version}";
+  version = "0.9.3+16";
 
-  src = fetchbzr {
-    url = "https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
-    rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
-    sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
+  src = fetchgit {
+    url = https://git.launchpad.net/ubuntu/+source/libdbusmenu-qt;
+    rev = "import/${version}.04.20160218-1";
+    sha256 = "039yvklhbmfbcynrbqq9n5ywmj8bjfslnkzcnwpzyhnxdzb6yxlx";
   };
 
   buildInputs = [ qtbase ];
@@ -19,5 +20,6 @@ stdenv.mkDerivation {
     description = "Provides a Qt implementation of the DBusMenu spec";
     maintainers = [ maintainers.ttuegel ];
     inherit (qtbase.meta) platforms;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index 8d264c929a5b..7b3df42c24c3 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -8,9 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
     homepage = https://wiki.documentfoundation.org/Libexttextcat;
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index 5e94d00dcdb7..d54f9203d23d 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems";
+    homepage = https://www.mono-project.com/docs/gui/libgdiplus/;
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
index 29f346e9acfb..0af0a1227f32 100644
--- a/pkgs/development/libraries/libgksu/default.nix
+++ b/pkgs/development/libraries/libgksu/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk2, gnome2, gnome3,
-  libstartup_notification, libgtop, perl, perlXMLParser,
+  libstartup_notification, libgtop, perlPackages,
   autoreconfHook, intltool, docbook_xsl, xauth
 }:
 
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk2 gnome2.GConf libstartup_notification
-    gnome3.libgnome-keyring libgtop gnome2.libglade perl perlXMLParser
-  ];
+    gnome3.libgnome-keyring libgtop gnome2.libglade
+  ] ++ (with perlPackages; [ perl XMLParser ]);
 
   enableParallelBuilding = true;
 
@@ -30,26 +30,26 @@ stdenv.mkDerivation rec {
         # Patches from the gentoo ebuild
 
         # Fix compilation on bsdc
-	./libgksu-2.0.0-fbsd.patch
+        ./libgksu-2.0.0-fbsd.patch
 
         # Fix wrong usage of LDFLAGS, gentoo bug #226837
-	./libgksu-2.0.7-libs.patch
+        ./libgksu-2.0.7-libs.patch
 
         # Use po/LINGUAS
-	./libgksu-2.0.7-polinguas.patch
+        ./libgksu-2.0.7-polinguas.patch
 
         # Don't forkpty; gentoo bug #298289
-	./libgksu-2.0.12-revert-forkpty.patch
+        ./libgksu-2.0.12-revert-forkpty.patch
 
         # Make this gmake-3.82 compliant, gentoo bug #333961
-	./libgksu-2.0.12-fix-make-3.82.patch
+        ./libgksu-2.0.12-fix-make-3.82.patch
 
         # Do not build test programs that are never executed; also fixes gentoo bug #367397 (underlinking issues).
-	./libgksu-2.0.12-notests.patch
+        ./libgksu-2.0.12-notests.patch
 
         # Fix automake-1.11.2 compatibility, gentoo bug #397411
-	./libgksu-2.0.12-automake-1.11.2.patch
-	];
+        ./libgksu-2.0.12-automake-1.11.2.patch
+  ];
 
   postPatch = ''
     # gentoo bug #467026
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index e7157afbaee5..8dcbab95e976 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (glib.meta) platforms maintainers;
+    license = with stdenv.lib.licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
index 33276b424e7c..752d2ce5a1e7 100644
--- a/pkgs/development/libraries/libgnurl/default.nix
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage    = https://gnunet.org/gnurl;
     maintainers = with maintainers; [ falsifian vrthra ];
     platforms = platforms.linux;
+    license = with licenses; [ bsdOriginal mit ];
   };
 }
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 74aee0f39c7e..f178af349088 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
+{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
   libxml2, sqlite, zlib, sg3_utils, gdk_pixbuf, taglib,
   libimobiledevice, pythonPackages, mutagen,
   monoSupport ? true, mono, gtk-sharp-2_0
@@ -25,8 +25,9 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
     gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ];
 
-  nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl] ++
-   lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
+  nativeBuildInputs = [ gettext intltool pkgconfig ]
+    ++ (with perlPackages; [ perl XMLParser ])
+    ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
 
   meta = {
     homepage = http://gtkpod.sourceforge.net/;
diff --git a/pkgs/development/libraries/libharu/default.nix b/pkgs/development/libraries/libharu/default.nix
index 5d120f61e086..0830b45b308b 100644
--- a/pkgs/development/libraries/libharu/default.nix
+++ b/pkgs/development/libraries/libharu/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation {
     homepage = http://libharu.org/;
     license = stdenv.lib.licenses.zlib;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 08d80bcf9856..298d6124505c 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libpng jasper ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library for manipulation of the Mac OS icns resource format";
+    homepage = https://icns.sourceforge.io;
+    license = with licenses; [ gpl2 lgpl2 lgpl21 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
index 738c11161955..faa070b3468c 100644
--- a/pkgs/development/libraries/libiodbc/default.nix
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, useGTK ? false }:
+{ stdenv, fetchurl, pkgconfig, gtk2, Carbon, useGTK ? false }:
 
 stdenv.mkDerivation rec {
   name = "libiodbc-3.52.12";
@@ -9,16 +9,18 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = stdenv.lib.optionals useGTK [ gtk2 ];
+  buildInputs = stdenv.lib.optionals useGTK [ gtk2 ]
+                ++ stdenv.lib.optional stdenv.isDarwin Carbon;
 
   preBuild =
     ''
       export NIX_LDFLAGS_BEFORE="-rpath $out/lib"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "iODBC driver manager";
     homepage = http://www.iodbc.org;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 7580c1b092e2..0b00cf90ba00 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = with licenses; [ mit isc bsd2 bsd3 ];
   };
 }
 
diff --git a/pkgs/development/libraries/libjson/default.nix b/pkgs/development/libraries/libjson/default.nix
index a53918fd5f77..c83143dd6b13 100644
--- a/pkgs/development/libraries/libjson/default.nix
+++ b/pkgs/development/libraries/libjson/default.nix
@@ -11,10 +11,17 @@ in stdenv.mkDerivation rec {
   buildInputs = [ unzip ];
   makeFlags = [ "prefix=$(out)" ];
   preInstall = "mkdir -p $out/lib";
-  meta = {
+
+  meta = with stdenv.lib; {
     homepage = http://libjson.sourceforge.net/;
     description = "A JSON reader and writer";
-    longDescription = "A JSON reader and writer which is super-effiecient and usually runs circles around other JSON libraries. It's highly customizable to optimize for your particular project, and very lightweight. For Windows, OSX, or Linux. Works in any language.";
-    platforms = stdenv.lib.platforms.unix;
+    longDescription = ''
+      A JSON reader and writer which is super-efficient and
+      usually runs circles around other JSON libraries.
+      It's highly customizable to optimize for your particular project, and
+      very lightweight. For Windows, OSX, or Linux. Works in any language.
+    '';
+    platforms = platforms.unix;
+    license = licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix
index 6c7e5881a784..7eff302397aa 100644
--- a/pkgs/development/libraries/libkate/default.nix
+++ b/pkgs/development/libraries/libkate/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libogg libpng ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library for encoding and decoding Kate streams";
     longDescription = ''
       This is libkate, the reference implementation of a codec for the Kate
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       in an Ogg container. It can carry Unicode text, images, and animate
       them.'';
     homepage = https://code.google.com/archive/p/libkate/;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index 331422dd8929..b7d90100837c 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -18,11 +18,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig which cmake ];
   buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/lastfm/liblastfm;
     repositories.git = git://github.com/lastfm/liblastfm.git;
     description = "Official LastFM library";
     inherit (qt4.meta) platforms;
-    maintainers = with stdenv.lib.maintainers; [ phreedom ];
+    maintainers =  [ maintainers.phreedom ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/liblastfmSF/default.nix b/pkgs/development/libraries/liblastfmSF/default.nix
index 73d996c5ec86..d9f460d44e8c 100644
--- a/pkgs/development/libraries/liblastfmSF/default.nix
+++ b/pkgs/development/libraries/liblastfmSF/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://liblastfm.sourceforge.net;
     description = "Unofficial C lastfm library";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix
index ea05df45169f..5f295009b994 100644
--- a/pkgs/development/libraries/liblinear/default.nix
+++ b/pkgs/development/libraries/liblinear/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "liblinear-${version}";
-  version = "2.20";
+  version = "2.21";
 
   src = fetchurl {
     url = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/liblinear-${version}.tar.gz";
-    sha256 = "13q48azqy9pd8jyhk0c2hzj5xav1snbdrj8pp38vwrv2wwhfz7rz";
+    sha256 = "0jp0z3s32czf748i6dnlabs1psqx1dcn9w96c56m24xq5l789chs";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix
index 4b445c93175f..aa6922ea3421 100644
--- a/pkgs/development/libraries/liblqr-1/default.nix
+++ b/pkgs/development/libraries/liblqr-1/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     homepage = http://liblqr.wikidot.com;
     description = "Seam-carving C/C++ library called Liquid Rescaling";
     platforms = platforms.all;
-    maintainers = [ ];
+    license = with licenses; [ gpl3 lgpl3 ];
   };
 }
diff --git a/pkgs/development/libraries/libmesode/default.nix b/pkgs/development/libraries/libmesode/default.nix
index 1becd0ee8ef6..e46eb9208de6 100644
--- a/pkgs/development/libraries/libmesode/default.nix
+++ b/pkgs/development/libraries/libmesode/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libmesode-${version}";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "boothj5";
     repo = "libmesode";
     rev = version;
-    sha256 = "1zb1x422zkpnxrz9d2b7pmi8ms60lbw49yh78mydqfypsmj2iyfh";
+    sha256 = "06f5nfaypvxrbsinxa1k2vrxrs7kqmg38g4wwwk5d63hpn1pj8ak";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index bd0cd9fe9041..7e3c45634d9e 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     description = "Sendmail Milter mail filtering API library";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.sendmail;
   };
 }
diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix
index d1dd7860de4e..7f73fb09cd16 100644
--- a/pkgs/development/libraries/libmms/default.nix
+++ b/pkgs/development/libraries/libmms/default.nix
@@ -12,9 +12,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "Library for downloading (streaming) media files using the mmst and mmsh protocols";
     homepage = http://libmms.sourceforge.net;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix
index af8297e98549..52072000115c 100644
--- a/pkgs/development/libraries/libmp3splt/default.nix
+++ b/pkgs/development/libraries/libmp3splt/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "Utility to split mp3, ogg vorbis and FLAC files without decoding";
     maintainers = with maintainers; [ bosu ];
     platforms   = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index c3061626a6ae..1d8dd7e20f14 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # tried to install files to /lib/udev, hopefully OK
   configureFlags = [ "--with-udev=$$bin/lib/udev" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libmtp.sourceforge.net;
     description = "An implementation of Microsoft's Media Transfer Protocol";
     longDescription = ''
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       in the form of a library suitable primarily for POSIX compliant operating
       systems. We implement MTP Basic, the stuff proposed for standardization.
       '';
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix
index f197d5bcef98..2b59adf8f922 100644
--- a/pkgs/development/libraries/libmusicbrainz/5.x.nix
+++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix
@@ -16,14 +16,14 @@ stdenv.mkDerivation rec {
 
   dontUseCmakeBuildDir=true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://musicbrainz.org/doc/libmusicbrainz;
     description = "MusicBrainz Client Library (5.x version)";
     longDescription = ''
       The libmusicbrainz (also known as mb_client or MusicBrainz Client
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/default.nix b/pkgs/development/libraries/libmusicbrainz/default.nix
index 596399c4fa8f..5335b6577f0a 100644
--- a/pkgs/development/libraries/libmusicbrainz/default.nix
+++ b/pkgs/development/libraries/libmusicbrainz/default.nix
@@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "1i9qly13bwwmgj68vma766hgvsd1m75236haqsp9zgh5znlmkm3z";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://musicbrainz.org/doc/libmusicbrainz;
     description = "MusicBrainz Client Library (3.x version)";
     longDescription = ''
       The libmusicbrainz (also known as mb_client or MusicBrainz Client
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libnatspec/default.nix b/pkgs/development/libraries/libnatspec/default.nix
index 9b692e9e3b2e..db4f6f5d4688 100644
--- a/pkgs/development/libraries/libnatspec/default.nix
+++ b/pkgs/development/libraries/libnatspec/default.nix
@@ -12,11 +12,11 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ popt ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://natspec.sourceforge.net/ ;
     description = "A library intended to smooth national specificities in using of programs";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 } // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
   propagatedBuildInputs = [ libiconv ];
diff --git a/pkgs/development/libraries/libnetfilter_queue/default.nix b/pkgs/development/libraries/libnetfilter_queue/default.nix
index 12a45d088ef6..94b3dc90a0b6 100644
--- a/pkgs/development/libraries/libnetfilter_queue/default.nix
+++ b/pkgs/development/libraries/libnetfilter_queue/default.nix
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libmnl libnfnetlink ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.netfilter.org/projects/libnetfilter_queue/;
     description = "Userspace API to packets queued by the kernel packet filter";
-
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index 1f58545574cd..8582dc4e1d90 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails with "fatal error: nice/agent.h: No such file or directory"
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://nice.freedesktop.org/wiki/;
     description = "The GLib ICE implementation";
     longDescription = ''
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = with licenses; [ lgpl21 mpl11 ];
   };
 }
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index fbde49a54d08..11f2731eb725 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook gobjectIntrospection ];
   buildInputs = [ glib gdk_pixbuf ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://developer.gnome.org/notification-spec/;
     description = "A library that sends desktop notifications to a notification daemon";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libnova/default.nix b/pkgs/development/libraries/libnova/default.nix
index a66a1a88c743..cb70d803ac0c 100644
--- a/pkgs/development/libraries/libnova/default.nix
+++ b/pkgs/development/libraries/libnova/default.nix
@@ -2,15 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "libnova-0.12.3";
-	
+
   src = fetchurl {
     url = "mirror://sourceforge/libnova/${name}.tar.gz";
     sha256 = "18mkx79gyhccp5zqhf6k66sbhv97s7839sg15534ijajirkhw9dc";
   };
-  
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "Celestial Mechanics, Astrometry and Astrodynamics Library";
     homepage = http://libnova.sf.net;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index 855d921206e9..ea792b007bae 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     description = "C library implementing the OAuth secure authentication protocol";
     homepage = http://liboauth.sourceforge.net/;
     repositories.git = https://github.com/x42/liboauth.git;
+    license = licenses.mit;
   };
 
 }
diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix
index 531e30ba7552..8131420cfd65 100644
--- a/pkgs/development/libraries/libofa/default.nix
+++ b/pkgs/development/libraries/libofa/default.nix
@@ -27,12 +27,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ expat curl fftw ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://code.google.com/archive/p/musicip-libofa/;
     description = "Library Open Fingerprint Architecture";
     longDescription = ''
       LibOFA (Library Open Fingerprint Architecture) is an open-source audio
       fingerprint created and provided by MusicIP'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/liboggz/default.nix b/pkgs/development/libraries/liboggz/default.nix
index f6fe9ecd03a0..d7c3b747924a 100644
--- a/pkgs/development/libraries/liboggz/default.nix
+++ b/pkgs/development/libraries/liboggz/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://xiph.org/oggz/;
     description = "A C library and tools for manipulating with Ogg files and streams";
     longDescription = ''
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       interleaving data container developed by Monty at Xiph.Org, originally to
       support the Ogg Vorbis audio format but now used for many free codecs
       including Dirac, FLAC, Speex and Theora.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index f94f327ea02e..267859cb217c 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     description = "Packet Capture Library";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index 5afed2b2a2f5..fbee81ab677a 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libpqxx-${version}";
-  version = "6.2.4";
+  version = "6.2.5";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = "libpqxx";
     rev = version;
-    sha256 = "18fkyfa3a917ljmarf3jy8ycdhqzpc47cj87542sjpxnpaj9hy59";
+    sha256 = "15x9xlj2v66w81j90cb438qkrrcqaq4dqrvhllwyqfz4lprqnhh9";
   };
 
   nativeBuildInputs = [ gnused python2 ];
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 377d9fe50be7..2c25d4181196 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     description = "An advanced calculator library";
     homepage = http://qalculate.github.io;
     maintainers = with maintainers; [ gebner ];
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 9803e09610e6..e009a9f920b1 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libraw-${version}";
-  version = "0.18.12";
+  version = "0.19.0";
 
   src = fetchurl {
     url = "https://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap";
+    sha256 = "0nfj7s7qmgfy1cl8s3ck7dxjvprfq5glfi6iidmvmy8r7gl52gz8";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 422ace462a94..30d8d8a94e9d 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -38,8 +38,10 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails 1 out of 17 tests with a segmentation fault
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "C libraries that provide support for the Resource Description Framework (RDF)";
     homepage = http://librdf.org/;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index ea24c9da88b9..f91fa192c034 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "librealsense-${version}";
-  version = "2.15.0";
+  version = "2.16.1";
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
     repo = "librealsense";
     rev = "v${version}";
-    sha256 = "12918gcn0w5h6bqgx6s44w44bs1x2pcndn2833xzya69rddkdv6x";
+    sha256 = "0vs2vcfmsb574bvdqrfgdmam0p631c738apk0w9mjdqk59zy1bz2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index 9b5c3d530ebf..1ec15e88f13d 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, cmake, zlib, openssl, libsodium }:
 
 stdenv.mkDerivation rec {
-  name = "libssh-0.7.5";
+  name = "libssh-0.7.6";
 
   src = fetchurl {
-    url = "https://red.libssh.org/attachments/download/218/${name}.tar.xz";
-    sha256 = "15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l";
+    url = "https://www.libssh.org/files/0.7/libssh-0.7.6.tar.xz";
+    sha256 = "14hhdpn2hflywsi9d5bz2pfjxqkyi07znjij89cpakr7b4w7sq0x";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index a6802a7f5183..b050dede8c61 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -13,10 +13,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl zlib ]
     ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW windows.mingw_w64;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A client-side C library implementing the SSH2 protocol";
     homepage = https://www.libssh2.org;
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.bsd3;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libtensorflow/default.nix b/pkgs/development/libraries/libtensorflow/default.nix
index e6cd140c4e4b..f41f6303e014 100644
--- a/pkgs/development/libraries/libtensorflow/default.nix
+++ b/pkgs/development/libraries/libtensorflow/default.nix
@@ -57,6 +57,17 @@ in stdenv.mkDerivation rec {
     ${patchLibs}
     chmod -w $out/lib/libtensorflow.so
     chmod -w $out/lib/libtensorflow_framework.so
+
+    # Write pkgconfig file.
+    mkdir $out/lib/pkgconfig
+    cat > $out/lib/pkgconfig/tensorflow.pc << EOF
+    Name: TensorFlow
+    Version: ${version}
+    Description: Library for computation using data flow graphs for scalable machine learning
+    Requires:
+    Libs: -L$out/lib -ltensorflow
+    Cflags: -I$out/include/tensorflow
+    EOF
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix
index bd0084dbaaf7..7a72fa2b7a31 100644
--- a/pkgs/development/libraries/libtiger/default.nix
+++ b/pkgs/development/libraries/libtiger/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
     homepage = https://code.google.com/archive/p/libtiger/;
     description = "A rendering library for Kate streams using Pango and Cairo";
     platforms = lib.platforms.unix;
+    license = lib.licenses.lgpl21Plus;
     maintainers = with lib.maintainers; [ matthewbauer ];
   };
 }
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index f19e9d274313..6b5182fa992f 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "1.1.9";
+  version = "1.1.10";
   formattedVersion = lib.replaceChars ["."] ["_"] version;
 
   # Make sure we override python, so the correct version is chosen
@@ -17,7 +17,7 @@ in stdenv.mkDerivation {
     owner = "arvidn";
     repo = "libtorrent";
     rev = "libtorrent-${formattedVersion}";
-    sha256 = "04w3pjzd6q9wplj1dcphylxn1i2b2x0iw1l0ma58ymh14swdah7a";
+    sha256 = "0qj1rz52jk95m43cr7l3fi9jmf4pwxncp5mq4hi2vzacfnf79yms";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index b3636eef2621..4a8dfc40d4a1 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -49,7 +49,7 @@ in rec {
   };
 
   libtoxcore_0_2 = generic {
-    version = "0.2.3";
-    sha256 = "1z8638cmxssc4jvbf64x549m84pz28729xbxc4c4ss1k792x30ya";
+    version = "0.2.8";
+    sha256 = "0xgnraysz25fbws5zwjk92mwnl8k1yih701qam8kgm3rxh50kyhm";
   };
 }
diff --git a/pkgs/development/libraries/libtxc_dxtn/default.nix b/pkgs/development/libraries/libtxc_dxtn/default.nix
index 21e3a15449c2..b0be3cb3c12d 100644
--- a/pkgs/development/libraries/libtxc_dxtn/default.nix
+++ b/pkgs/development/libraries/libtxc_dxtn/default.nix
@@ -13,9 +13,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libGLU_combined ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://dri.freedesktop.org/wiki/S3TC;
     repositories.git = git://people.freedesktop.org/~mareko/libtxc_dxtn;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.mit;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix
index b1e6938a1494..9eb2fe04fe68 100644
--- a/pkgs/development/libraries/libui/default.nix
+++ b/pkgs/development/libraries/libui/default.nix
@@ -49,9 +49,10 @@ in
       install_name_tool -id $out/lib/${shortName}.A.dylib $out/lib/${shortName}.A.dylib
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage    = https://github.com/andlabs/libui;
       description = "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.";
-      platforms   = stdenv.lib.platforms.unix;
+      license     = licenses.mit;
+      platforms   = platforms.unix;
     };
   }
diff --git a/pkgs/development/libraries/libusb/default.nix b/pkgs/development/libraries/libusb/default.nix
index 4704a1e5c331..adf354c45f2e 100644
--- a/pkgs/development/libraries/libusb/default.nix
+++ b/pkgs/development/libraries/libusb/default.nix
@@ -16,7 +16,15 @@ stdenv.mkDerivation {
 
   patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./fix-headers.patch;
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    homepage = "https://libusb.info/";
+    repositories.git = "https://github.com/libusb/libusb-compat-0.1";
+    description = "cross-platform user-mode USB device library";
+    longDescription = ''
+      libusb is a cross-platform user-mode library that provides access to USB devices.
+      The current API is of 1.0 version (libusb-1.0 API), this library is a wrapper exposing the legacy API.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 7ec714f02237..ac5c38a34f11 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -21,10 +21,15 @@ stdenv.mkDerivation rec {
     sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
-  meta = {
-    homepage = http://www.libusb.info;
-    description = "User-space USB library";
-    platforms = stdenv.lib.platforms.all;
+  meta = with stdenv.lib; {
+    homepage = "https://libusb.info/";
+    repositories.git = "https://github.com/libusb/libusb";
+    description = "cross-platform user-mode USB device library";
+    longDescription = ''
+      libusb is a cross-platform user-mode library that provides access to USB devices.
+    '';
+    platforms = platforms.all;
+    license = licenses.lgpl21Plus;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 73d2db8e9993..e608ea300d1a 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.23.0";
+  version = "1.23.1";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "1yfx99f7qnq3qvcgbnih27dgwfg6c51xw6n6n2c3c1wb3mh95im0";
+    sha256 = "14h8dcyx81sbckbgmqhagncyz8s6z6qzpx0fy8p79whq5hb3f4jg";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 2d83955de696..d26b830e249a 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -6,13 +6,13 @@
 let
   inherit (pythonPackages) python pygobject2;
 in stdenv.mkDerivation rec {
-  name = "libvirt-glib-1.0.0";
+  name = "libvirt-glib-2.0.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://libvirt.org/sources/glib/${name}.tar.gz";
-    sha256 = "0iwa5sdbii52pjpdm5j37f67sdmf0kpcky4liwhy1nf43k85i4fa";
+    sha256 = "0six9ckmvlwwyavyjkgc262qkpvfqgi8rjij7cyk00bmqq8c9s4l";
   };
 
   nativeBuildInputs = [ pkgconfig vala ];
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index cc3f19ab7d31..67563e41d01f 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    homepage = https://sourceforge.net/projects/linuxwacom/;
+    homepage = https://linuxwacom.github.io/;
     description = "Libraries, configuration, and diagnostic tools for Wacom tablets running under Linux";
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index c359ea10b665..36606999f534 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchpatch
-, zlib, xz, python2, findXMLCatalogs
+, zlib, xz, python2, ncurses, findXMLCatalogs
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
 , enableShared ? stdenv.hostPlatform.libc != "msvcrt"
@@ -37,6 +37,7 @@ in stdenv.mkDerivation rec {
   propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
 
   buildInputs = lib.optional pythonSupport python
+    ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
     # 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.
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index ad6d2df1d8bd..13fbe2b55b67 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, alsaLib, help2man, pkgconfig, xlibsWrapper, python3
-, libxslt, systemd, libusb, libftdi1 }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, help2man, python3,
+  alsaLib, xlibsWrapper, libxslt, systemd, libusb, libftdi1 }:
 
 stdenv.mkDerivation rec {
   name = "lirc-0.10.1";
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "1whlyifvvc7w04ahq07nnk1h18wc8j7c6wnvlb6mszravxh3qxcb";
   };
 
+  # Fix installation of Python bindings
+  patches = [ (fetchpatch {
+    url = "https://sourceforge.net/p/lirc/tickets/339/attachment/0001-Fix-Python-bindings.patch";
+    sha256 = "088a39x8c1qd81qwvbiqd6crb2lk777wmrs8rdh1ga06lglyvbly";
+  }) ];
+
   postPatch = ''
     patchShebangs .
 
@@ -24,17 +30,17 @@ stdenv.mkDerivation rec {
     touch lib/lirc/input_map.inc
   '';
 
-  nativeBuildInputs = [ pkgconfig help2man ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig help2man
+    (python3.withPackages (p: with p; [ pyyaml setuptools ])) ];
 
-  buildInputs = [ alsaLib xlibsWrapper libxslt systemd libusb libftdi1 ]
-  ++ (with python3.pkgs; [ python pyyaml setuptools ]);
+  buildInputs = [ alsaLib xlibsWrapper libxslt systemd libusb libftdi1 ];
 
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-systemdsystemunitdir=$(out)/lib/systemd/system"
-    "--enable-uinput" # explicite activation because build env has no uinput
-    "--enable-devinput" # explicite activation because build env has not /dev/input
+    "--enable-uinput" # explicit activation because build env has no uinput
+    "--enable-devinput" # explicit activation because build env has no /dev/input
   ];
 
   installFlags = [
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index ebae2a6c3be0..693260af1c76 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -8,12 +8,12 @@
 
 stdenv.mkDerivation rec {
   name = "mapnik-${version}";
-  version = "3.0.20";
+  version = "3.0.21";
 
   src = fetchzip {
     # this one contains all git submodules and is cheaper than fetchgit
     url = "https://github.com/mapnik/mapnik/releases/download/v${version}/mapnik-v${version}.tar.bz2";
-    sha256 = "05a2hvvk5s4x3wjvh4spd717vd5ri7h0sql7aarpi9jpc5h6xicc";
+    sha256 = "0cq2gbmf1sssg72sq4b5s3x1z6wvl1pzxliymm06flw5bpim5as2";
   };
 
   # a distinct dev output makes python-mapnik fail
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index aca9a237b0c7..ff45162c5a89 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -67,7 +67,7 @@ let
 in
 
 let
-  version = "18.2.1";
+  version = "18.2.2";
   branch  = head (splitString "." version);
 in
 
@@ -81,7 +81,7 @@ let self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "0mhhr1id11s1fbdxbvr4a81xjh1nsznpra9dl36bv2hq7mpxqdln";
+    sha256 = "1i3ky3d210vi3f5hlr9la1kspdyv093npndxsbzdklw95aqq5fn3";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/msgpack/generic.nix b/pkgs/development/libraries/msgpack/generic.nix
index 306becf0c180..de277329961b 100644
--- a/pkgs/development/libraries/msgpack/generic.nix
+++ b/pkgs/development/libraries/msgpack/generic.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
   cmakeFlags = []
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
                            "-DMSGPACK_BUILD_EXAMPLES=OFF"
-    ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "msvcrt")
-                           "-DCMAKE_SYSTEM_NAME=Windows"
     ;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index b5d4ea0f4ebf..f29fb9564f31 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.2.3";
+  version = "1.3.0";
   name = "nanoflann-${version}";
   
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "1jrh73kjvdv7s7zc1sc3z254i17lpvn77b19wx32nvzsfxs4g44i";
+    sha256 = "1bwdmrz1qygp9qy2nzrp1axa1i4nvm0ljkn6mnhlcvbfsyvhzigv";
   };
 
   buildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ndn-cxx/default.nix b/pkgs/development/libraries/ndn-cxx/default.nix
index 1040cb9a9343..a8d7f654a9ff 100644
--- a/pkgs/development/libraries/ndn-cxx/default.nix
+++ b/pkgs/development/libraries/ndn-cxx/default.nix
@@ -1,24 +1,24 @@
-{ stdenv, fetchgit, openssl, doxygen, boost, sqlite, cryptopp, pkgconfig, python, pythonPackages }:
+{ stdenv, fetchFromGitHub, openssl, doxygen, boost, sqlite, pkgconfig, python, pythonPackages }:
 let
-  version = "4c32e7";
+  version = "0.6.3";
 in
 stdenv.mkDerivation {
-  name = "ndn-cxx-0.1-${version}";
-  src = fetchgit {
-    url = "https://github.com/named-data/ndn-cxx.git";
-    rev = "4c32e748863d5165cc0e3d6b54a8383f4836cdf1";
-    sha256 = "18szs3j3ig8wlcqngran0daxaj7j2qsmch0212ids6fymj1hgax4";
+  name = "ndn-cxx-${version}";
+  src = fetchFromGitHub {
+    owner = "named-data";
+    repo = "ndn-cxx";
+    rev = "a3bf4319ed483a4a6fe2c96b79ec4491d7217f00";
+    sha256 = "076jhrjigisqz5n8dgxwd5fhimg69zhm834m7w9yvf9afgzrr50h";
   };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl doxygen boost sqlite cryptopp python pythonPackages.sphinx];
+  buildInputs = [ openssl doxygen boost sqlite python pythonPackages.sphinx];
   preConfigure = ''
     patchShebangs waf
     ./waf configure \
-      --with-cryptopp=${cryptopp} \
+      --prefix=$out \
+      --with-openssl=${openssl.dev} \
       --boost-includes=${boost.dev}/include \
-      --boost-libs=${boost.out}/lib \
-      --with-examples \
-      --prefix=$out
+      --boost-libs=${boost.out}/lib
   '';
   buildPhase = ''
     ./waf
@@ -45,6 +45,5 @@ stdenv.mkDerivation {
     license = licenses.lgpl3;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ maintainers.sjmackenzie ];
-    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 68bffd4032d2..471684ea7ddc 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -6,6 +6,7 @@
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
 , enableJemalloc ? false, jemalloc ? null
+, enableApp ? !stdenv.hostPlatform.isWindows
 }:
 
 assert enableHpack -> jansson != null;
@@ -35,8 +36,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--with-spdylay=no" "--disable-examples" "--disable-python-bindings" "--enable-app" ]
-    ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
+  configureFlags = [
+    "--with-spdylay=no"
+    "--disable-examples"
+    "--disable-python-bindings"
+    (stdenv.lib.enableFeature enableApp "app")
+  ] ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
 
   #doCheck = true;  # requires CUnit ; currently failing at test_util_localtime_date in util_test.cc
 
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 15bdbb1b48e8..25d4386cec2c 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "nlohmann_json-${version}";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "0585r6ai9x1bhspffn5w5620wxfl1q1gj476brsnaf7wwnr60hwk";
+    sha256 = "1plg9l1avnjsg6khrd88yj9cbzbbkwzpc5synmicqndb35wndn5h";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBuildTests=${if doCheck then "ON" else "OFF"}"
-  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.libc == "msvcrt") [
-    "-DCMAKE_SYSTEM_NAME=Windows"
   ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 8d1a2876a375..aad6911036ed 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -10,12 +10,12 @@ assert alsaSupport -> alsaLib != null;
 assert pulseSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "1.18.2";
+  version = "1.19.0";
   name = "openal-soft-${version}";
 
   src = fetchurl {
     url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
-    sha256 = "10kydm8701a2kppiss9sdidn1820cmzhqgx1b2bsa5dsgzic32lz";
+    sha256 = "1mhf5bsb58s1xk6hvxl7ly7rd4rpl9z8h07xl1q94brywykg7bgi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
index 358c8cda592f..b47c9a8e5610 100644
--- a/pkgs/development/libraries/opencollada/default.nix
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "opencollada-${version}";
 
-  version = "1.6.63";
+  version = "1.6.65";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCOLLADA";
     rev = "v${version}";
-    sha256 = "1x8hz5nkz4lxsf17jv8sdl92dmbbpkqck8jkkc6g32d8gbs3gha1";
+    sha256 = "1vxb0b1dqcfwyhb36gjbn0fjdgn3hb03l68jbs0jzx6i2lh8bsh9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index e0e0b59a9a9f..b4bdd200211c 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "p11-kit-${version}";
-  version = "0.23.13";
+  version = "0.23.14";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = "p11-kit";
     rev = version;
-    sha256 = "1z2rbw2qbwj64i88llc1mkf0263qa0kxc2350kg25r7mghxbw1y6";
+    sha256 = "0zmrw1ciybhnxjlsfb07wnf11ak5vrmy8y8fnz3mwm8v3w8dzlvw";
   };
 
   outputs = [ "out" "dev"];
diff --git a/pkgs/development/libraries/parquet-cpp/default.nix b/pkgs/development/libraries/parquet-cpp/default.nix
deleted file mode 100644
index 804ddb136f03..000000000000
--- a/pkgs/development/libraries/parquet-cpp/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, symlinkJoin, fetchurl, arrow-cpp, boost, cmake, gtest, snappy, thrift, zlib }:
-
-stdenv.mkDerivation rec {
-  name = "parquet-cpp-${version}";
-  version = "1.5.0";
-
-  src = fetchurl {
-    url = "https://github.com/apache/parquet-cpp/archive/apache-${name}.tar.gz";
-    sha256 = "19nwqahc0igr0jfprbf2m86rmzz6zicw4z7b8z832wbsyc904wli";
-  };
-
-  patches = [ ./api.patch ];
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost ];
-
-  preConfigure = ''
-    substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-    substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-  '';
-
-  ARROW_HOME = arrow-cpp;
-  THRIFT_HOME = thrift;
-  GTEST_HOME = gtest;
-  SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
-  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
-
-  cmakeFlags = [
-    "-DPARQUET_BUILD_BENCHMARKS=OFF"
-  ];
-
-  meta = {
-    description = "A C++ library to read and write the Apache Parquet columnar data format";
-    homepage = http://parquet.apache.org;
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ veprbl ];
-  };
-}
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index 0da66acbde2a..04fdeea1fa0b 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -42,8 +42,8 @@
 
 
 let
-  version = "2.4.5";
-  sha256 = "0saxj3w7j9yb9sa1ig3ccxvh2pk0bj47hp7m6199p1a1fpfjgrrg";
+  version = "2.5.0";
+  sha256 = "1m9n1shhqhjrhbq6fd9fyfccxcgpng37s3lffhlmyrp98zbsnwxy";
 in stdenv.mkDerivation rec {
   name = "postgis-${version}";
 
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 79e4c387cdf5..883dff56f2ee 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -1,11 +1,12 @@
 { stdenv
 , fetchFromGitHub
-, autoreconfHook, zlib, gmock
+, autoreconfHook, zlib, gmock, which, buildPackages
 , version, sha256
 , ...
 }:
 
-stdenv.mkDerivation rec {
+let
+mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation rec {
   name = "protobuf-${version}";
 
   # make sure you test also -A pythonPackages.protobuf
@@ -28,8 +29,10 @@ stdenv.mkDerivation rec {
       --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook buildPackages.which buildPackages.stdenv.cc buildProtobuf ];
+
   buildInputs = [ zlib ];
+  configureFlags = if buildProtobuf == null then [] else [ "--with-protoc=${buildProtobuf}/bin/protoc" ];
 
   enableParallelBuilding = true;
 
@@ -54,4 +57,7 @@ stdenv.mkDerivation rec {
   };
 
   passthru.version = version;
-}
+};
+in mkProtobufDerivation(if (stdenv.buildPlatform != stdenv.hostPlatform)
+                        then (mkProtobufDerivation null buildPackages.stdenv)
+                        else null) stdenv
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 970ee2e5c807..6b61359c8aaa 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -1,5 +1,5 @@
 { qtModule, stdenv, lib, fetchurl
-, qtbase, qtdeclarative, qtlocation, qtsensors, qtwebchannel
+, qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
 , fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1, cmake
 , bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
@@ -23,7 +23,9 @@ let
 in
 qtModule {
   name = "qtwebkit";
-  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ qtwebchannel ];
+  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ]
+    ++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia
+    ++ optional (lib.versionAtLeast qtbase.version "5.11.0") qtwebchannel;
   buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
     ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ])
     ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ hyphen ];
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index cdb5297a6d87..7fe4b504a992 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "range-v3-${version}";
-  version = "0.3.7";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "1zhsz1i4jy97idydg7ay3wazp7v2353vckkli5w9g51jka43h5x2";
+    sha256 = "1s5gj799aa94nfg3r24whq7ck69g0zypf70w14wx64pgwg0424vf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rarian/default.nix b/pkgs/development/libraries/rarian/default.nix
index d0a15e866f7a..bd79e3628a14 100644
--- a/pkgs/development/libraries/rarian/default.nix
+++ b/pkgs/development/libraries/rarian/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, gnome3}:
+{stdenv, fetchurl, pkgconfig, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, gnome3}:
 let
   pname = "rarian";
   version = "0.8.1";
@@ -11,7 +11,8 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl perlXMLParser libxml2 libxslt];
+  buildInputs = [ libxml2 libxslt ]
+    ++ (with perlPackages; [ perl XMLParser ]);
   configureFlags = [ "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat" ];
 
   passthru = {
diff --git a/pkgs/development/libraries/sbc/default.nix b/pkgs/development/libraries/sbc/default.nix
index 0dc9c1afd2b4..b9830b65ffb7 100644
--- a/pkgs/development/libraries/sbc/default.nix
+++ b/pkgs/development/libraries/sbc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libsndfile }:
 
 stdenv.mkDerivation rec {
-  name = "sbc-1.3";
+  name = "sbc-1.4";
 
   src = fetchurl {
     url = "http://www.kernel.org/pub/linux/bluetooth/${name}.tar.xz";
-    sha256 = "02ckd2z51z0h85qgv7x8vv8ybp5czm9if1z78411j53gaz7j4476";
+    sha256 = "1jal98pnrjkzxlkiqy0ykh4qmgnydz9bmsp1jn581p5kddpg92si";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
index 4a6aabb447f3..7e58a4c7c982 100644
--- a/pkgs/development/libraries/science/math/ipopt/default.nix
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ipopt-${version}";
-  version = "3.12.10";
+  version = "3.12.11";
 
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
-    sha256 = "004pd90knnnzcx727knb7ffkabb1ggbskb8s607bfvfgdd7wlli9";
+    sha256 = "1qihlwwqsqpbwpp6zqfa7nrmb55dndppzmdy98897aiknaa2650h";
   };
 
   CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix
new file mode 100644
index 000000000000..37814047f975
--- /dev/null
+++ b/pkgs/development/libraries/science/math/mkl/default.nix
@@ -0,0 +1,85 @@
+{ stdenvNoCC, writeText, fetchurl, rpmextract, undmg }:
+/*
+  Some (but not all) mkl functions require openmp, but Intel does not add these
+  to SO_NEEDED and instructs users to put openmp on their LD_LIBRARY_PATH. If
+  you are using mkl and your library/application is using some of the functions
+  that require openmp, add a setupHook like this to your package:
+
+  setupHook = writeText "setup-hook.sh" ''
+    addOpenmp() {
+        addToSearchPath LD_LIBRARY_PATH ${openmp}/lib
+    }
+    addEnvHooks "$targetOffset" addOpenmp
+  '';
+
+  We do not add the setup hook here, because avoiding it allows this large
+  package to be a fixed-output derivation with better cache efficiency.
+ */
+
+stdenvNoCC.mkDerivation rec {
+  name = "mkl-${version}";
+  version = "${date}.${rel}";
+  date = "2019.0";
+  rel = "117";
+
+  src = if stdenvNoCC.isDarwin
+    then
+      (fetchurl {
+        url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13565/m_mkl_${version}.dmg";
+        sha256 = "1f1jppac7vqwn00hkws0p4njx38ajh0n25bsjyb5d7jcacwfvm02";
+      })
+    else
+      (fetchurl {
+        url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13575/l_mkl_${version}.tgz";
+        sha256 = "1bf7i54iqlf7x7fn8kqwmi06g30sxr6nq3ac0r871i6g0p3y47sf";
+      });
+
+  buildInputs = if stdenvNoCC.isDarwin then [ undmg ] else [ rpmextract ];
+
+  buildPhase = if stdenvNoCC.isDarwin then ''
+      for f in Contents/Resources/pkg/*.tgz; do
+          tar xzvf $f
+      done
+  '' else ''
+    rpmextract rpm/intel-mkl-common-c-${date}-${rel}-${date}-${rel}.noarch.rpm
+    rpmextract rpm/intel-mkl-core-rt-${date}-${rel}-${date}-${rel}.x86_64.rpm
+  '';
+
+  installPhase = if stdenvNoCC.isDarwin then ''
+      mkdir -p $out/lib
+      cp -r compilers_and_libraries_${version}/mac/mkl/include $out/
+      cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/
+      cp -r compilers_and_libraries_${version}/licensing/mkl/en/license.txt $out/lib/
+  '' else ''
+      mkdir -p $out/lib
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/include $out/
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/* $out/lib/
+      cp license.txt $out/lib/
+  '';
+
+  # Per license agreement, do not modify the binary
+  dontStrip = true;
+  dontPatchELF = true;
+
+  # Since these are unmodified binaries from Intel, they do not depend on stdenv
+  # and we can make them fixed-output derivations for cache efficiency.
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = if stdenvNoCC.isDarwin
+    then "1224dln7n8px1rk8biiggf77wjhxh8mzw0hd8zlyjm8i6j8w7i12"
+    else "0d8ai0wi8drp071acqkm1wv6vyg12010y843y56zzi1pql81xqvx";
+
+  meta = with stdenvNoCC.lib; {
+    description = "Intel Math Kernel Library";
+    longDescription = ''
+      Intel Math Kernel Library (Intel MKL) optimizes code with minimal effort
+      for future generations of Intel processors. It is compatible with your
+      choice of compilers, languages, operating systems, and linking and
+      threading models.
+    '';
+    homepage = https://software.intel.com/en-us/mkl;
+    license = [ licenses.issl licenses.unfreeRedistributable ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    maintainers = [ maintainers.bhipple ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/suitesparse/4.4.nix b/pkgs/development/libraries/science/math/suitesparse/4.4.nix
new file mode 100644
index 000000000000..1ce56d1e49f7
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/4.4.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl, gfortran, openblas
+, enableCuda  ? false, cudatoolkit
+}:
+
+let
+  version = "4.4.4";
+  name = "suitesparse-${version}";
+
+  int_t = if openblas.blas64 then "int64_t" else "int32_t";
+  SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
+    sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj";
+  };
+
+  preConfigure = ''
+    mkdir -p $out/lib
+    mkdir -p $out/include
+
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's/METIS .*$/METIS =/' \
+        -e 's/METIS_PATH .*$/METIS_PATH =/' \
+        -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
+        -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
+  ''
+  + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/'
+  ''
+  + stdenv.lib.optionalString enableCuda ''
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's|^[[:space:]]*\(CUDA_ROOT     =\)|CUDA_ROOT = ${cudatoolkit}|' \
+        -e 's|^[[:space:]]*\(GPU_BLAS_PATH =\)|GPU_BLAS_PATH = $(CUDA_ROOT)|' \
+        -e 's|^[[:space:]]*\(GPU_CONFIG    =\)|GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=$(NIX_BUILD_CORES) |' \
+        -e 's|^[[:space:]]*\(CUDA_PATH     =\)|CUDA_PATH = $(CUDA_ROOT)|' \
+        -e 's|^[[:space:]]*\(CUDART_LIB    =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \
+        -e 's|^[[:space:]]*\(CUBLAS_LIB    =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \
+        -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \
+        -e 's|^[[:space:]]*\(NV20          =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV30          =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV35          =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NVCC          =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \
+        -e 's|^[[:space:]]*\(NVCCFLAGS     =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|'
+  '';
+
+  makeFlags = [
+    "PREFIX=\"$(out)\""
+    "INSTALL_LIB=$(out)/lib"
+    "INSTALL_INCLUDE=$(out)/include"
+    "BLAS=-lopenblas"
+    "LAPACK="
+  ];
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
+
+  postInstall = ''
+    # Build and install shared library
+    (
+        cd "$(mktemp -d)"
+        for i in "$out"/lib/lib*.a; do
+          ar -x $i
+        done
+        ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lopenblas ${stdenv.lib.optionalString enableCuda "-lcublas"}
+    )
+    for i in umfpack cholmod amd camd colamd spqr; do
+      ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT}
+    done
+
+    # Install documentation
+    outdoc=$out/share/doc/${name}
+    mkdir -p $outdoc
+    cp -r AMD/Doc $outdoc/amd
+    cp -r BTF/Doc $outdoc/bft
+    cp -r CAMD/Doc $outdoc/camd
+    cp -r CCOLAMD/Doc $outdoc/ccolamd
+    cp -r CHOLMOD/Doc $outdoc/cholmod
+    cp -r COLAMD/Doc $outdoc/colamd
+    cp -r CXSparse/Doc $outdoc/cxsparse
+    cp -r KLU/Doc $outdoc/klu
+    cp -r LDL/Doc $outdoc/ldl
+    cp -r RBio/Doc $outdoc/rbio
+    cp -r SPQR/Doc $outdoc/spqr
+    cp -r UMFPACK/Doc $outdoc/umfpack
+  '';
+
+  nativeBuildInputs = [ gfortran ];
+  buildInputs = [ openblas ];
+
+  meta = with stdenv.lib; {
+    homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;
+    description = "A suite of sparse matrix algorithms";
+    license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ];
+    maintainers = with maintainers; [ ttuegel ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index 1ce56d1e49f7..644b3545916c 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -1,31 +1,32 @@
-{ stdenv, fetchurl, gfortran, openblas
+{ stdenv, fetchurl, gfortran, openblas, cmake
 , enableCuda  ? false, cudatoolkit
 }:
 
 let
-  version = "4.4.4";
+  version = "5.3.0";
   name = "suitesparse-${version}";
 
-  int_t = if openblas.blas64 then "int64_t" else "int32_t";
   SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   inherit name;
 
   src = fetchurl {
     url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
-    sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj";
+    sha256 = "0gcn1xj3z87wpp26gxn11k8073bxv6jswfd8jmddlm64v09rgrlh";
   };
 
+  dontUseCmakeConfigure = true;
+
   preConfigure = ''
     mkdir -p $out/lib
     mkdir -p $out/include
+    mkdir -p $out/share/doc/${name}
 
     sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
         -e 's/METIS .*$/METIS =/' \
         -e 's/METIS_PATH .*$/METIS_PATH =/' \
-        -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
-        -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
+        -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION/'
   ''
   + stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
@@ -47,48 +48,56 @@ stdenv.mkDerivation {
         -e 's|^[[:space:]]*\(NVCCFLAGS     =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|'
   '';
 
-  makeFlags = [
-    "PREFIX=\"$(out)\""
-    "INSTALL_LIB=$(out)/lib"
-    "INSTALL_INCLUDE=$(out)/include"
-    "BLAS=-lopenblas"
-    "LAPACK="
-  ];
-
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
 
-  postInstall = ''
-    # Build and install shared library
+  buildPhase = ''
+    runHook preBuild
+
+    # Build individual shared libraries
+    make library        \
+        BLAS=-lopenblas \
+        LAPACK=""       \
+        ${stdenv.lib.optionalString openblas.blas64 "CFLAGS=-DBLAS64"}
+
+    # Build libsuitesparse.so which bundles all the individual libraries.
+    # Bundling is done by building the static libraries, extracting objects from
+    # them and combining the objects into one shared library.
+    mkdir -p static
+    make static AR_TARGET=$(pwd)/static/'$(LIBRARY).a'
     (
-        cd "$(mktemp -d)"
-        for i in "$out"/lib/lib*.a; do
+        cd static
+        for i in lib*.a; do
           ar -x $i
         done
-        ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lopenblas ${stdenv.lib.optionalString enableCuda "-lcublas"}
     )
-    for i in umfpack cholmod amd camd colamd spqr; do
-      ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT}
-    done
-
-    # Install documentation
-    outdoc=$out/share/doc/${name}
-    mkdir -p $outdoc
-    cp -r AMD/Doc $outdoc/amd
-    cp -r BTF/Doc $outdoc/bft
-    cp -r CAMD/Doc $outdoc/camd
-    cp -r CCOLAMD/Doc $outdoc/ccolamd
-    cp -r CHOLMOD/Doc $outdoc/cholmod
-    cp -r COLAMD/Doc $outdoc/colamd
-    cp -r CXSparse/Doc $outdoc/cxsparse
-    cp -r KLU/Doc $outdoc/klu
-    cp -r LDL/Doc $outdoc/ldl
-    cp -r RBio/Doc $outdoc/rbio
-    cp -r SPQR/Doc $outdoc/spqr
-    cp -r UMFPACK/Doc $outdoc/umfpack
+    ${if enableCuda then "${cudatoolkit}/bin/nvcc" else "${stdenv.cc.outPath}/bin/cc"} \
+        static/*.o                                                                     \
+        ${if stdenv.isDarwin then "-dynamiclib" else "--shared"}                       \
+        -o "lib/libsuitesparse${SHLIB_EXT}"                                            \
+        -lopenblas                                                                     \
+        ${stdenv.lib.optionalString enableCuda "-lcublas"}
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -r lib $out/
+    cp -r include $out/
+    cp -r share $out/
+
+    # Fix rpaths
+    cd $out
+    find -name \*.so\* -type f -exec \
+      patchelf --set-rpath "$out/lib:${stdenv.lib.makeLibraryPath buildInputs}" {} \;
+
+    runHook postInstall
   '';
 
-  nativeBuildInputs = [ gfortran ];
-  buildInputs = [ openblas ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ openblas gfortran.cc.lib ] ++ stdenv.lib.optionals enableCuda [cudatoolkit];
 
   meta = with stdenv.lib; {
     homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index ba3791a8a8bd..e9b12d169849 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, pixman, celt, alsaLib
 , openssl, libXrandr, libXfixes, libXext, libXrender, libXinerama
 , libjpeg, zlib, spice-protocol, python, pyparsing, glib, cyrus_sasl
-, lz4 }:
+, libcacard, lz4 }:
 
 with stdenv.lib;
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
                   libXrandr libXfixes libXrender libXext libXinerama
-                  python pyparsing glib cyrus_sasl lz4 ];
+                  python pyparsing glib cyrus_sasl libcacard lz4 ];
 
   nativeBuildInputs = [ pkgconfig spice-protocol ];
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-sasl"
-    "--disable-smartcard"
+    "--enable-smartcard"
     "--enable-client"
     "--enable-lz4"
   ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 166ea39493bf..92574091558a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.sqlite.org/;
     license = licenses.publicDomain;
     maintainers = with maintainers; [ eelco np ];
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }
diff --git a/pkgs/development/libraries/termbox/default.nix b/pkgs/development/libraries/termbox/default.nix
new file mode 100644
index 000000000000..0898289978a2
--- /dev/null
+++ b/pkgs/development/libraries/termbox/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  name = "termbox-${version}";
+  version = "1.1.2";
+  src = fetchFromGitHub {
+    owner = "nsf";
+    repo = "termbox";
+    rev = "v${version}";
+    sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs";
+  };
+  nativeBuildInputs = [ python3 ];
+  configurePhase = "python3 ./waf configure --prefix=$out";
+  buildPhase = "python3 ./waf build";
+  installPhase = "python3 ./waf install --destdir=$out";
+  meta = with stdenv.lib; {
+    description = "Library for writing text-based user interfaces";
+    license = licenses.mit;
+    homepage = "https://github.com/nsf/termbox#readme";
+    downloadPage = "https://github.com/nsf/termbox/releases";
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
+
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index 77c0b4a1a460..c139b5be1027 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "07anqypf7c719x9y683qz65cxllmzlgmlab2hlahrqcj4bq2k99c";
   };
 
+  outputs = [ "out" "dev" ];
+
   postPatch = ''
     sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 12c166beacbd..fb69d4bf63e7 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -15,6 +15,12 @@ in stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
 
+  # Fixes compilation with clang (on darwin) see https://github.com/ukoethe/vigra/issues/414
+  patches =
+    let clangPatch = fetchurl { url = "https://github.com/ukoethe/vigra/commit/81958d302494e137f98a8b1d7869841532f90388.patch";
+                                sha256 = "1i1w6smijgb5z8bg9jaq84ccy00k2sxm87s37lgjpyix901gjlgi"; };
+    in [ clangPatch ];
+
   buildInputs = [ boost cmake fftw fftwSinglePrec hdf5 ilmbase libjpeg libpng
                   libtiff numpy openexr python ];
 
@@ -34,6 +40,6 @@ in stdenv.mkDerivation rec {
     homepage = https://hci.iwr.uni-heidelberg.de/vigra;
     license = licenses.mit;
     maintainers = [ maintainers.viric ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index 2a07eba261b7..c93ba1b12909 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   name = "vulkan-headers-${version}";
-  version = "1.1.82.0";
+  version = "1.1.85";
 
   buildInputs = [ cmake ];
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
-    rev = "sdk-${version}";
-    sha256 = "1pp0kmgd89g8rz6qqfqmdmv209s0d6hbsshrzrlwrdm6dc25f20p";
+    rev = "2fd5a24ec4a6df303b2155b3f85b6b8c1d56f6c0";
+    sha256 = "0cj4bd396qddh3nxvr7grnpfz89g3sbvm21cx4k3ga52sp1rslpb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 5ffdc4375373..6f720857f7cf 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,6 +1,10 @@
-{ stdenv, fetchFromGitHub, cmake, python3, vulkan-headers, pkgconfig,
-  xlibsWrapper, libxcb, libXrandr, libXext, wayland, libGL_driver }:
-let version = "1.1.82.0"; in
+{ stdenv, fetchFromGitHub, cmake, python3, vulkan-headers, pkgconfig
+, xlibsWrapper, libxcb, libXrandr, libXext, wayland, libGL_driver }:
+
+let
+  version = "1.1.85";
+in
+
 assert version == vulkan-headers.version;
 stdenv.mkDerivation rec {
   name = "vulkan-loader-${version}";
@@ -9,8 +13,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-Loader";
-    rev = "sdk-${version}";
-    sha256 = "16i4s1adfh822ahj3ywp279lv6szwd2sn2q5pmvpg2kk6mbh410d";
+    rev = "b02f64293680c484e1d7ff6ecb88f89277c0dc8c";
+    sha256 = "1n4vjyxlmi2ygx34srwbvalc5gz95gcsrmdw0k10353xja755gmj";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/wcslib/default.nix b/pkgs/development/libraries/wcslib/default.nix
index 7c4d275e05fe..636021f1368e 100644
--- a/pkgs/development/libraries/wcslib/default.nix
+++ b/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "5.19.1";
+  version = "5.20";
   name = "wcslib-${version}";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${name}.tar.bz2";
-    sha256 ="160gvz9xk4hvliwb75ry770qdf899kc89ij6r0y7fh60lbjz1far";
+    sha256 ="1c8g9kv4dxrnawnqi4spi2p10s2xs7x75pdfxhbqxgcc97dkgh0b";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 171ef68cf569..9cdada9bf3b2 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fuse }:
 
 let
-  version = "1.0.2";
+  version = "1.0.3";
 in stdenv.mkDerivation rec {
   name = "xdg-desktop-portal-${version}";
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = "xdg-desktop-portal";
     rev = version;
-    sha256 = "1vl0150gz20x106di9yfa6l3zjw0nd2lr44rkq2147n2a254p79p";
+    sha256 = "113k5sr4l58rm8sgp4qbjrhyjg37c5ad54i58njsm98knb5r2ppv";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/yojimbo/default.nix b/pkgs/development/libraries/yojimbo/default.nix
new file mode 100644
index 000000000000..9a3416a368bb
--- /dev/null
+++ b/pkgs/development/libraries/yojimbo/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, premake5, doxygen, libsodium, mbedtls }:
+
+stdenv.mkDerivation rec {
+  name = "yojimbo";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "networkprotocol";
+    repo = "yojimbo";
+    rev = "e02219c102d9b440290539036992d77608eab3b0";
+    sha256 = "0jn25ddv73hwjals883a910m66kwj6glxxhnmn96bpzsvsaimnkr";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ premake5 doxygen ];
+  propagatedBuildInputs = [ libsodium mbedtls ];
+
+  buildPhase = ''
+    premake5 gmake
+    make all
+    premake5 docs
+  '';
+
+  installPhase = ''
+    install -Dm555 -t $out/lib bin/libyojimbo.a
+    install -Dm444 -t $out/include yojimbo.h
+    mkdir -p $out/share/doc/yojimbo
+    cp -r docs/html $out/share/doc/yojimbo
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A network library for client/server games with dedicated servers";
+    longDescription = ''
+      yojimbo is a network library for client/server games with dedicated servers.
+      It's designed around the networking requirements of competitive multiplayer games like first person shooters.
+      As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
+    '';
+    homepage = https://github.com/networkprotocol/yojimbo;
+    license = licenses.bsd3;
+    platforms = platforms.x86_64;
+    maintainers = with maintainers; [ paddygord ];
+  };
+}
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index d348f877f722..fe1c275aeda5 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -82,4 +82,6 @@ stdenv.mkDerivation (rec {
   preConfigure = ''
     export CHOST=${stdenv.hostPlatform.config}
   '';
+} // stdenv.lib.optionalAttrs (stdenv.hostPlatform.libc == "msvcrt") {
+  configurePhase = ":";
 })