summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-03-08 09:57:58 +0100
committerVladimír Čunát <vcunat@gmail.com>2016-03-08 09:58:19 +0100
commit09af15654f0c8091f1b9e0bbb2e523cdee194442 (patch)
treee648edef1ce4c64c533f2593aa22b8015cf0e506 /pkgs/development/libraries
parentf306e67e15bdbe9a8358c9f81319fc4fcbadc2eb (diff)
parent0ee75214f336474e127c2e3546c0406a0c4d5fa7 (diff)
downloadnixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar
nixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.gz
nixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.bz2
nixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.lz
nixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.xz
nixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.zst
nixpkgs-09af15654f0c8091f1b9e0bbb2e523cdee194442.zip
Merge master into closure-size
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/SDL/default.nix61
-rw-r--r--pkgs/development/libraries/ace/default.nix36
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix50
-rw-r--r--pkgs/development/libraries/biblesync/default.nix2
-rw-r--r--pkgs/development/libraries/botan/default.nix4
-rw-r--r--pkgs/development/libraries/botan/unstable.nix4
-rw-r--r--pkgs/development/libraries/cimg/default.nix2
-rw-r--r--pkgs/development/libraries/clutter/default.nix4
-rw-r--r--pkgs/development/libraries/cpptest/default.nix2
-rw-r--r--pkgs/development/libraries/cppzmq/default.nix7
-rw-r--r--pkgs/development/libraries/dirac/default.nix29
-rw-r--r--pkgs/development/libraries/dirac/dirac-1.0.2.patch362
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--pkgs/development/libraries/filter_audio/default.nix24
-rw-r--r--pkgs/development/libraries/gdal/default.nix13
-rw-r--r--pkgs/development/libraries/gettext/absolute-paths.diff21
-rw-r--r--pkgs/development/libraries/gettext/default.nix39
-rw-r--r--pkgs/development/libraries/gettext/expat.nix10
-rw-r--r--pkgs/development/libraries/glibc/builder.sh15
-rw-r--r--pkgs/development/libraries/glibc/common.nix100
-rw-r--r--pkgs/development/libraries/glibc/cve-2014-8121.patch230
-rw-r--r--pkgs/development/libraries/glibc/cve-2015-1781.patch27
-rw-r--r--pkgs/development/libraries/glibc/default.nix28
-rw-r--r--pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch25
-rw-r--r--pkgs/development/libraries/glibc/info.nix4
-rw-r--r--pkgs/development/libraries/glibc/locales.nix4
-rw-r--r--pkgs/development/libraries/glibc/security-4a28f4d5.patch53
-rw-r--r--pkgs/development/libraries/glibc/security-bdf1ff05.patch39
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix1
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch108
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix9
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix11
-rw-r--r--pkgs/development/libraries/gtkspellmm/default.nix2
-rw-r--r--pkgs/development/libraries/htmlcxx/default.nix2
-rw-r--r--pkgs/development/libraries/http-parser/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/wrapper.nix13
-rw-r--r--pkgs/development/libraries/hwloc/default.nix12
-rw-r--r--pkgs/development/libraries/jasper/default.nix1
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2016-1867.diff11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/attica.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/baloo.nix25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/default.nix114
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix20
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch37
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh81
-rwxr-xr-xpkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh57
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix12
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/karchive.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kauth/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kded.nix19
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix36
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix34
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix19
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch12
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix23
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/khtml.nix21
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch42
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix33
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch28
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kio/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kjs.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix21
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix23
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch26
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kpackage/series2
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kparts.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kpty.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kross.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/krunner.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch36
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix21
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/solid.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/srcs.nix565
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix11
-rw-r--r--pkgs/development/libraries/libbsd/default.nix6
-rw-r--r--pkgs/development/libraries/libconfig/default.nix4
-rw-r--r--pkgs/development/libraries/libcrossguid/default.nix34
-rw-r--r--pkgs/development/libraries/libdap/default.nix21
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix6
-rw-r--r--pkgs/development/libraries/libexttextcat/memory-leaks.patch37
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix19
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix8
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix13
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libminc/default.nix27
-rw-r--r--pkgs/development/libraries/libpsl/default.nix10
-rw-r--r--pkgs/development/libraries/libre/default.nix4
-rw-r--r--pkgs/development/libraries/librevenge/default.nix8
-rw-r--r--pkgs/development/libraries/libsodium/default.nix4
-rw-r--r--pkgs/development/libraries/libsoundio/default.nix4
-rw-r--r--pkgs/development/libraries/libssh/default.nix6
-rw-r--r--pkgs/development/libraries/libssh2/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/new-api/default.nix7
-rw-r--r--pkgs/development/libraries/libva/default.nix3
-rw-r--r--pkgs/development/libraries/libvdpau-va-gl/default.nix14
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix3
-rw-r--r--pkgs/development/libraries/libxmp/default.nix4
-rw-r--r--pkgs/development/libraries/libxslt/default.nix13
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/nco/default.nix22
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix6
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix13
-rw-r--r--pkgs/development/libraries/openssl/1.0.2.x.nix91
-rw-r--r--pkgs/development/libraries/openssl/default.nix158
-rw-r--r--pkgs/development/libraries/openssl/use-etc-ssl-certs.patch13
-rw-r--r--pkgs/development/libraries/pcre/cve-2015-3210.patch87
-rw-r--r--pkgs/development/libraries/pcre/cve-2015-5073.patch68
-rw-r--r--pkgs/development/libraries/pcre/default.nix8
-rw-r--r--pkgs/development/libraries/pixman/default.nix6
-rw-r--r--pkgs/development/libraries/pixman/fix-clang36.patch11
-rw-r--r--pkgs/development/libraries/postgis/default.nix8
-rw-r--r--pkgs/development/libraries/proj/default.nix4
-rw-r--r--pkgs/development/libraries/tk/8.6.nix4
-rw-r--r--pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch29
-rw-r--r--pkgs/development/libraries/uriparser/default.nix2
-rw-r--r--pkgs/development/libraries/vc/default.nix4
-rw-r--r--pkgs/development/libraries/vcg/default.nix27
-rw-r--r--pkgs/development/libraries/vmmlib/default.nix41
-rw-r--r--pkgs/development/libraries/vmmlib/disable-cpack.patch11
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix12
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix20
-rw-r--r--pkgs/development/libraries/xercesc/default.nix4
189 files changed, 3580 insertions, 1073 deletions
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index e9bbe34f754..6c3920ff8aa 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, audiofile, libcap
+{ stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap
 , openglSupport ? false, mesa ? null
 , alsaSupport ? true, alsaLib ? null
 , x11Support ? true, xlibsWrapper ? null, libXrandr ? null
@@ -61,36 +61,51 @@ stdenv.mkDerivation rec {
     "--without-x"
   ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib");
 
-  # Fix a build failure on OS X Mavericks
-  # Ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=2085
-  patches = stdenv.lib.optional stdenv.isDarwin [ (fetchurl {
-    url = "http://bugzilla-attachments.libsdl.org/attachment.cgi?id=1320";
-    sha1 = "3137feb503a89a8d606405373905b92dcf7e293b";
-  }) ];
+  patches = [
+    # Fix window resizing issues, e.g. for xmonad
+    # Ticket: http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+    (fetchpatch {
+      name = "fix_window_resizing.diff";
+      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=fix_window_resizing.diff;att=2;bug=665779";
+      sha256 = "1z35azc73vvi19pzi6byck31132a8w1vzrghp1x3hy4a4f9z4gc6";
+    })
+    # Fix drops of keyboard events for SDL_EnableUNICODE
+    (fetchpatch {
+      url = "http://hg.libsdl.org/SDL/raw-rev/0aade9c0203f";
+      sha256 = "1y9izncjlqvk1mkz1pkl9lrk9s452cmg2izjjlqqrhbn8279xy50";
+    })
+    # Ignore insane joystick axis events
+    (fetchpatch {
+      url = "http://hg.libsdl.org/SDL/raw-rev/95abff7adcc2";
+      sha256 = "0i8x0kx0pw12ld5bfxhyzs466y3c0n9dscw1ijhq1b96r72xyhqq";
+    })
+    # Workaround X11 bug to allow changing gamma
+    # Ticket: https://bugs.freedesktop.org/show_bug.cgi?id=27222
+    (fetchpatch {
+      url = "http://pkgs.fedoraproject.org/cgit/rpms/SDL.git/plain/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch?id=04a3a7b1bd88c2d5502292fad27e0e02d084698d";
+      sha256 = "0x52s4328kilyq43i7psqkqg7chsfwh0aawr50j566nzd7j51dlv";
+    })
+    # Fix a build failure on OS X Mavericks
+    # Ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=2085
+    (fetchpatch {
+      url = "http://hg.libsdl.org/SDL/raw-rev/e9466ead70e5";
+      sha256 = "0mpwdi09h89df2wxqw87m1rdz7pr46k0w6alk691k8kwv970z6pl";
+    })
+    (fetchpatch {
+      url = "http://hg.libsdl.org/SDL/raw-rev/bbfb41c13a87";
+      sha256 = "1336g7waaf1c8yhkz11xbs500h8bmvabh4h437ax8l1xdwcppfxv";
+    })
+  ];
 
   postFixup = ''moveToOutput share/aclocal "$dev" '';
 
-  crossAttrs =stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") {
-    patches = let
-      f = rev: sha256: fetchurl {
-        url = "http://hg.libsdl.org/SDL/raw-rev/${rev}";
-        inherit sha256;
-      };
-    in [
-      (f "e9466ead70e5" "0ygir3k83d0vxp7s3k48jn3j8n2bnv9wm6613wpx3ybnjrxabrip")
-      (f "bbfb41c13a87" "17v29ybjifvka19m8qf14rjc43nfdwk9v9inaizznarhb17amlnv")
-    ];
-    postPatch = ''
-      sed -i -e 's/ *-fpascal-strings//' configure
-    '';
-  };
-
-  passthru = {inherit openglSupport;};
+  passthru = { inherit openglSupport; };
 
   meta = with stdenv.lib; {
     description = "A cross-platform multimedia library";
     homepage    = http://www.libsdl.org/;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
+    license     = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
new file mode 100644
index 00000000000..10ba217175c
--- /dev/null
+++ b/pkgs/development/libraries/ace/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libtool, perl
+}:
+
+stdenv.mkDerivation rec {
+  name = "ace-${version}";
+  version = "6.3.3";
+  src = fetchurl {
+    url=http://download.dre.vanderbilt.edu/previous_versions/ACE-6.3.3.tar.bz2;
+    sha256 = "124qk205v8rx8p7rfigsargrpxjx3mh4nr99nlyk9csdc9gy8qpk";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ pkgconfig libtool perl ];
+
+  patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
+    --replace /usr/bin/perl "${perl}/bin/perl"'';
+  
+  preConfigure = ''
+    export INSTALL_PREFIX=$out
+    export ACE_ROOT=$(pwd)
+    export LD_LIBRARY_PATH="$ACE_ROOT/ace:$ACE_ROOT/lib"
+    echo '#include "ace/config-linux.h"' > ace/config.h
+    echo 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU'\
+    > include/makeinclude/platform_macros.GNU
+  '';
+
+meta = {
+    description = "ADAPTIVE Communication Environment";
+    homepage = http://www.dre.vanderbilt.edu/~schmidt/ACE.html;
+    license = stdenv.lib.licenses.doc;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.nico202 ];
+  };
+}
+
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
new file mode 100644
index 00000000000..6a881e4245a
--- /dev/null
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv, fetchFromGitHub, cmake, curl
+, # Allow building a limited set of APIs, e.g. ["s3" "ec2"].
+  apis ? ["*"]
+, # Whether to enable AWS' custom memory management.
+  customMemoryManagement ? true
+}:
+
+stdenv.mkDerivation rec {
+  name = "aws-sdk-cpp-${version}";
+  version = "0.9.6";
+
+  src = fetchFromGitHub {
+    owner = "awslabs";
+    repo = "aws-sdk-cpp";
+    rev = version;
+    sha256 = "022v7naa5vjvq3wfn4mcp99li61ffsk2fnc8qqi52cb1pyxz9sk1";
+  };
+
+  buildInputs = [ cmake curl ];
+
+  cmakeFlags =
+    lib.optional (!customMemoryManagement) "-DCUSTOM_MEMORY_MANAGEMENT=0"
+    ++ lib.optional (apis != ["*"])
+      "-DBUILD_ONLY=${lib.concatMapStringsSep ";" (api: "aws-cpp-sdk-" + api) apis}";
+
+  enableParallelBuilding = true;
+
+  preBuild =
+    ''
+      # Ensure that the unit tests can find the *.so files.
+      for i in testing-resources aws-cpp-sdk-*; do
+        export LD_LIBRARY_PATH=$(pwd)/$i:$LD_LIBRARY_PATH
+      done
+    '';
+
+  postInstall =
+    ''
+      # Move the .so files to a more reasonable location.
+      mv $out/lib/linux/*/Release/*.so $out/lib
+      rm -rf $out/lib/linux
+    '';
+
+  meta = {
+    description = "A C++ interface for Amazon Web Services";
+    homepage = https://github.com/awslabs/aws-sdk-cpp;
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/development/libraries/biblesync/default.nix b/pkgs/development/libraries/biblesync/default.nix
index 4b7be5ca3d4..d7b82764fc0 100644
--- a/pkgs/development/libraries/biblesync/default.nix
+++ b/pkgs/development/libraries/biblesync/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec{
   version = "1.1.2";
 
   src = fetchurl{
-    url = "http://downloads.sourceforge.net/project/gnomesword/BibleSync/1.1.2/${name}.tar.gz";
+    url = "mirror://sourceforge/project/gnomesword/BibleSync/1.1.2/${name}.tar.gz";
     sha256 = "0190q2da0ppif2242lahl8xfz01n9sijy60aq1a0545qcp0ilvl8";
   };
 
diff --git a/pkgs/development/libraries/botan/default.nix b/pkgs/development/libraries/botan/default.nix
index 6eba16847f8..3a3acbf67b9 100644
--- a/pkgs/development/libraries/botan/default.nix
+++ b/pkgs/development/libraries/botan/default.nix
@@ -2,7 +2,7 @@
 
 callPackage ./generic.nix (args // {
   baseVersion = "1.10";
-  revision = "10";
-  sha256 = "0qs1ps25k79jnzm31zjl6hj8kxzfwwjsdrlc9bz621218r3v2rvb";
+  revision = "12";
+  sha256 = "09xcbrs48c9sgy6cj37qbc69gi6wlkjd6r3fi4zr8xwmj5wkmz5g";
   extraConfigureFlags = "--with-gnump";
 })
diff --git a/pkgs/development/libraries/botan/unstable.nix b/pkgs/development/libraries/botan/unstable.nix
index 172c18480ad..b3fd76ab20c 100644
--- a/pkgs/development/libraries/botan/unstable.nix
+++ b/pkgs/development/libraries/botan/unstable.nix
@@ -2,7 +2,7 @@
 
 callPackage ./generic.nix (args // {
   baseVersion = "1.11";
-  revision = "25";
-  sha256 = "1spjryza9yznbsa26i1kg3hz4ifjdi6cjhfd2h2lqg07xyf2a66c";
+  revision = "28";
+  sha256 = "0cjr3zkara8js1fbm8ddcbd5mkizxh1wm6fja13psw5j8mpwj554";
   openssl = null;
 })
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index cd679183650..dc397adf491 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "1.5.9";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/cimg/CImg-${version}.zip";
+    url = "mirror://sourceforge/project/cimg/CImg-${version}.zip";
     sha256 = "1xn20643gcbl76kvy9ajhwbyjjb73mg65q32ma8mdkwn1qhn7f7c";
   };
 
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 37b2c73fe44..f101e3c1880 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
 , libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
-gobjectIntrospection 
+gobjectIntrospection, gtk3
 }:
 
 let
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
     [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
-      atk json_glib gobjectIntrospection
+      atk json_glib gobjectIntrospection gtk3
     ];
 
   configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
diff --git a/pkgs/development/libraries/cpptest/default.nix b/pkgs/development/libraries/cpptest/default.nix
index 8bffeebd024..e5aab430829 100644
--- a/pkgs/development/libraries/cpptest/default.nix
+++ b/pkgs/development/libraries/cpptest/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "cpptest-1.1.2";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/cpptest/cpptest/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/cpptest/cpptest/${name}/${name}.tar.gz";
     sha256 = "09v070a9dv6zq6hgj4v67i31zsis3s96psrnhlq9g4vhdcaxykwy";
   };
 
diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix
index c8ab48288a1..62563cfb968 100644
--- a/pkgs/development/libraries/cppzmq/default.nix
+++ b/pkgs/development/libraries/cppzmq/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "cppzmq-20151203";
+  name = "cppzmq-${version}";
+  version = "2016-01-20";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "cppzmq";
-    rev = "7f7c83411d83eafe57ae6ffc2972ad9455ac258e";
-    sha256 = "1h6fl7mgkv98gz0csbp525a4bp1w9nwm059gwmmv1wqc1l741pv7";
+    rev = "68a7b09cfce01c4c279fba2cf91686fcfc566848";
+    sha256 = "00dsqqlm8mxhm8kfdspxfln0wzwkyywscnf264afw02k6xf28ndm";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/dirac/default.nix b/pkgs/development/libraries/dirac/default.nix
new file mode 100644
index 00000000000..ac94e077b9a
--- /dev/null
+++ b/pkgs/development/libraries/dirac/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, doxygen }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.2";
+  name = "dirac-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/dirac/${name}.tar.gz";
+    sha256 = "1z803yzp17cj69wn11iyb13swqdd9xdzr58dsk6ghpr3ipqicsw1";
+  };
+
+  buildInputs = [ doxygen ];
+  enableParallelBuilding = true;
+
+  patches = [ ./dirac-1.0.2.patch ];
+
+  postInstall = ''
+    # keep only necessary binaries
+    find $out/bin \( -name '*RGB*' -or -name '*YUV*' -or -name create_dirac_testfile.pl \) -delete
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://sourceforge.net/projects/dirac;
+    description = "A general-purpose video codec based on wavelets";
+    platforms = platforms.all;
+    license = with licenses; [ mpl11 gpl2 lgpl21 ];
+    maintainer = maintainers.igsha;
+  };
+}
diff --git a/pkgs/development/libraries/dirac/dirac-1.0.2.patch b/pkgs/development/libraries/dirac/dirac-1.0.2.patch
new file mode 100644
index 00000000000..3d253b8f6d6
--- /dev/null
+++ b/pkgs/development/libraries/dirac/dirac-1.0.2.patch
@@ -0,0 +1,362 @@
+diff -aur dirac-1.0.2/libdirac_byteio/parseunit_byteio.cpp dirac-1.0.2-modif/libdirac_byteio/parseunit_byteio.cpp
+--- dirac-1.0.2/libdirac_byteio/parseunit_byteio.cpp	2008-05-02 09:57:19.000000000 +0400
++++ dirac-1.0.2-modif/libdirac_byteio/parseunit_byteio.cpp	2016-02-10 19:39:09.838443767 +0300
+@@ -124,12 +124,9 @@
+ 
+     if(prefix==PU_PREFIX)
+     {
+-        unsigned char next_parse_code;
+-
+-        next_parse_code = InputUnByte();
++        (void)InputUnByte();
+         // input next unit parse-offsets
+-        int next_unit_next_parse_offset;
+-        next_unit_next_parse_offset = ReadUintLit(PU_NEXT_PARSE_OFFSET_SIZE);
++        (void)ReadUintLit(PU_NEXT_PARSE_OFFSET_SIZE);
+ 
+         int next_unit_previous_parse_offset;
+         next_unit_previous_parse_offset = ReadUintLit(PU_PREVIOUS_PARSE_OFFSET_SIZE);
+diff -aur dirac-1.0.2/libdirac_common/mot_comp.cpp dirac-1.0.2-modif/libdirac_common/mot_comp.cpp
+--- dirac-1.0.2/libdirac_common/mot_comp.cpp	2008-10-01 05:26:47.000000000 +0400
++++ dirac-1.0.2-modif/libdirac_common/mot_comp.cpp	2016-02-10 19:50:18.453051800 +0300
+@@ -1064,10 +1064,10 @@
+         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
+ 
+         //weights for doing linear interpolation, calculated from the remainder values
+-        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
+-                                           rmdr.x * (2 - rmdr.y),          //tr
+-                                           (2 - rmdr.x) * rmdr.y,          //bl
+-                                           rmdr.x * rmdr.y };              //br
++        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
++                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
++                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
++                                           ValueType(rmdr.x * rmdr.y) };              //br
+ 
+ 
+        for(int c = 0, uY = ref_start.y,BuY=BChk(uY,trueRefYlen),BuY1=BChk(uY+1,trueRefYlen);
+@@ -1116,10 +1116,10 @@
+     const ImageCoords ref_start( ( start_pos.x<<1 ) + roundvec.x ,( start_pos.y<<1 ) + roundvec.y );
+ 
+     //weights for doing linear interpolation, calculated from the remainder values
+-    const ValueType linear_wts[4] = {  (4 - rmdr.x) * (4 - rmdr.y),    //tl
+-                                    rmdr.x * (4 - rmdr.y),          //tr
+-                                    (4 - rmdr.x) * rmdr.y,          //bl
+-                                    rmdr.x * rmdr.y };              //br
++    const ValueType linear_wts[4] = {  ValueType((4 - rmdr.x) * (4 - rmdr.y)),    //tl
++                                    ValueType(rmdr.x * (4 - rmdr.y)),          //tr
++                                    ValueType((4 - rmdr.x) * rmdr.y),          //bl
++                                    ValueType(rmdr.x * rmdr.y) };              //br
+ 
+     //An additional stage to make sure the block to be copied does not fall outside
+     //the reference image.
+diff -aur dirac-1.0.2/libdirac_common/mot_comp_mmx.cpp dirac-1.0.2-modif/libdirac_common/mot_comp_mmx.cpp
+--- dirac-1.0.2/libdirac_common/mot_comp_mmx.cpp	2008-01-09 13:50:23.000000000 +0300
++++ dirac-1.0.2-modif/libdirac_common/mot_comp_mmx.cpp	2016-02-10 19:59:51.792793538 +0300
+@@ -244,10 +244,10 @@
+         // We're 2doing bounds checking because we'll fall off the edge of the reference otherwise.
+ 
+         //weights for doing linear interpolation, calculated from the remainder values
+-        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
+-                                           rmdr.x * (2 - rmdr.y),          //tr
+-                                           (2 - rmdr.x) * rmdr.y,          //bl
+-                                           rmdr.x * rmdr.y };              //br
++        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
++                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
++                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
++                                           ValueType(rmdr.x * rmdr.y) };              //br
+ 
+         ValueType act_cols1[4], act_cols2[4];
+         int uX, uY, c, l;
+diff -aur dirac-1.0.2/libdirac_common/mv_codec.cpp dirac-1.0.2-modif/libdirac_common/mv_codec.cpp
+--- dirac-1.0.2/libdirac_common/mv_codec.cpp	2008-10-01 05:26:47.000000000 +0400
++++ dirac-1.0.2-modif/libdirac_common/mv_codec.cpp	2016-02-10 19:51:57.634838245 +0300
+@@ -159,7 +159,7 @@
+ // Main code function
+ void PredModeCodec::DoWorkCode( MvData& in_data )
+ {
+-    int step,max; 
++    int step; 
+     int split_depth;  
+ 
+     for (m_sb_yp = 0, m_sb_tlb_y = 0;  m_sb_yp < in_data.SBSplit().LengthY();  ++m_sb_yp, m_sb_tlb_y += 4)
+@@ -169,7 +169,7 @@
+             split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; 
+ 
+             step = 4  >>  (split_depth); 
+-            max = (1 << split_depth); 
++            //max = (1 << split_depth); 
+                         
+             //now do all the block modes and mvs in the mb            
+             for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step)
+@@ -334,7 +334,7 @@
+ // Main code function
+ void VectorElementCodec::DoWorkCode( MvData& in_data )
+ {
+-    int step,max;
++    int step;
+     int split_depth;
+ 
+     for (m_sb_yp = 0, m_sb_tlb_y = 0;  m_sb_yp < in_data.SBSplit().LengthY();  ++m_sb_yp, m_sb_tlb_y += 4)
+@@ -344,7 +344,7 @@
+             split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp];
+ 
+             step = 4  >>  (split_depth);
+-            max = (1 << split_depth);
++            //max = (1 << split_depth);
+                         
+             //now do all the block modes and mvs in the mb            
+             for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step)
+@@ -500,7 +500,7 @@
+ // Main code function
+ void DCCodec::DoWorkCode( MvData& in_data )
+ {
+-    int step,max; 
++    int step; 
+     int split_depth;  
+     
+     for (m_sb_yp = 0, m_sb_tlb_y = 0;  m_sb_yp < in_data.SBSplit().LengthY();  ++m_sb_yp, m_sb_tlb_y += 4)
+@@ -510,7 +510,7 @@
+             split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; 
+ 
+             step = 4  >>  (split_depth); 
+-            max = (1 << split_depth); 
++            //max = (1 << split_depth); 
+                         
+             //now do all the block modes and mvs in the mb            
+             for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step)
+diff -aur dirac-1.0.2/libdirac_common/wavelet_utils.cpp dirac-1.0.2-modif/libdirac_common/wavelet_utils.cpp
+--- dirac-1.0.2/libdirac_common/wavelet_utils.cpp	2008-10-20 08:21:02.000000000 +0400
++++ dirac-1.0.2-modif/libdirac_common/wavelet_utils.cpp	2016-02-10 19:58:16.205006445 +0300
+@@ -198,7 +198,6 @@
+     const bool field_coding = encparams.FieldCoding();
+     const ChromaFormat cformat = pparams.CFormat();
+     const float cpd = encparams.CPD()*cpd_scale_factor;
+-    const PictureSort psort = pparams.PicSort();
+ 
+     int xlen, ylen, xl, yl, xp, yp;
+     float xfreq, yfreq;
+diff -aur dirac-1.0.2/libdirac_encoder/picture_compress.cpp dirac-1.0.2-modif/libdirac_encoder/picture_compress.cpp
+--- dirac-1.0.2/libdirac_encoder/picture_compress.cpp	2009-01-21 08:20:57.000000000 +0300
++++ dirac-1.0.2-modif/libdirac_encoder/picture_compress.cpp	2016-02-10 20:08:17.935731263 +0300
+@@ -413,14 +413,12 @@
+ 
+         const int depth=m_encparams.TransformDepth();
+ 
+-        PicArray* comp_data[3];
+         CoeffArray* coeff_data[3];
+         OneDArray<unsigned int>* est_bits[3];
+         float lambda[3];
+ 
+         // Construction and definition of objects
+         for (int c=0;c<3;++c){
+-            comp_data[c] = &my_picture.Data((CompSort) c );
+ 	    coeff_data[c] = &my_picture.WltData((CompSort) c );
+             est_bits[c] =  new OneDArray<unsigned int>( Range( 1, 3*depth+1 ) );
+         }// c
+diff -aur dirac-1.0.2/libdirac_encoder/quant_chooser.cpp dirac-1.0.2-modif/libdirac_encoder/quant_chooser.cpp
+--- dirac-1.0.2/libdirac_encoder/quant_chooser.cpp	2009-01-21 08:22:05.000000000 +0300
++++ dirac-1.0.2-modif/libdirac_encoder/quant_chooser.cpp	2016-02-10 20:15:43.792954708 +0300
+@@ -340,7 +340,7 @@
+     {
+         for (int i=cblock.Xstart(); i<cblock.Xend(); ++i )
+         {
+-            if ( (std::abs(m_coeff_data[j][i])<<2) >= u_threshold )
++            if ( (int(std::abs(m_coeff_data[j][i]))<<2) >= u_threshold )
+                 can_skip = false;
+         }   
+     }
+@@ -349,13 +349,13 @@
+ 
+ CoeffType QuantChooser::BlockAbsMax( const Subband& node )
+ {
+-    int val( 0 );
++    CoeffType val( 0 );
+ 
+     for (int j=node.Yp() ; j<node.Yp()+node.Yl(); ++j)
+     {
+         for (int i=node.Xp() ; i<node.Xp()+node.Xl(); ++i)
+         {    
+-            val = std::max( val , std::abs(m_coeff_data[j][i]) );
++            val = std::max( val , CoeffType(std::abs(m_coeff_data[j][i])) );
+         }// i
+     }// j
+ 
+diff -aur dirac-1.0.2/libdirac_encoder/seq_compress.cpp dirac-1.0.2-modif/libdirac_encoder/seq_compress.cpp
+--- dirac-1.0.2/libdirac_encoder/seq_compress.cpp	2008-10-29 05:42:06.000000000 +0300
++++ dirac-1.0.2-modif/libdirac_encoder/seq_compress.cpp	2016-02-10 20:16:24.108885403 +0300
+@@ -663,7 +663,6 @@
+ 
+ int FrameSequenceCompressor::CodedToDisplay( const int cnum )
+ {
+-    int div;
+ 
+     if (m_L1_sep>0)
+     {
+@@ -672,7 +671,6 @@
+             return 0;
+         else if ((cnum-1)% m_L1_sep==0)
+         {//we have L1 or subsequent I pictures
+-            div=(cnum-1)/m_L1_sep;
+             return cnum+m_L1_sep-1;
+         }
+         else//we have L2 pictures
+diff -aur dirac-1.0.2/libdirac_motionest/me_utils.cpp dirac-1.0.2-modif/libdirac_motionest/me_utils.cpp
+--- dirac-1.0.2/libdirac_motionest/me_utils.cpp	2008-10-21 08:55:46.000000000 +0400
++++ dirac-1.0.2-modif/libdirac_motionest/me_utils.cpp	2016-02-10 20:04:40.068175649 +0300
+@@ -684,10 +684,10 @@
+         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
+ 
+        // weights for doing linear interpolation, calculated from the remainder values
+-        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
+-                                           rmdr.x * (2 - rmdr.y),          //tr
+-                                           (2 - rmdr.x) * rmdr.y,          //bl
+-                                           rmdr.x * rmdr.y };              //br
++        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
++                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
++                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
++                                           ValueType(rmdr.x * rmdr.y) };              //br
+ 
+         const int refXlen( m_ref_data.LengthX() );
+         const int refYlen( m_ref_data.LengthY() );
+@@ -848,10 +848,10 @@
+         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
+ 
+        // weights for doing linear interpolation, calculated from the remainder values
+-        const ValueType linear_wts[4] = {  (2 - rmdr.x) * (2 - rmdr.y),    //tl
+-                                           rmdr.x * (2 - rmdr.y),          //tr
+-                                           (2 - rmdr.x) * rmdr.y,          //bl
+-                                           rmdr.x * rmdr.y };              //br
++        const ValueType linear_wts[4] = {  ValueType((2 - rmdr.x) * (2 - rmdr.y)),    //tl
++                                           ValueType(rmdr.x * (2 - rmdr.y)),          //tr
++                                           ValueType((2 - rmdr.x) * rmdr.y),          //bl
++                                           ValueType(rmdr.x * rmdr.y) };              //br
+ 
+         const int refXlen( m_ref_data.LengthX() );
+         const int refYlen( m_ref_data.LengthY() );
+@@ -908,10 +908,10 @@
+     const int pic_next( m_pic_data.LengthX() - dparams.Xl() );// go down a row and back up
+ 
+     //weights for doing linear interpolation, calculated from the remainder values
+-    const ValueType linear_wts[4] = {  (4 - rmdr.x) * (4 - rmdr.y),    //tl
+-                                       rmdr.x * (4 - rmdr.y),          //tr
+-                                       (4 - rmdr.x) * rmdr.y,          //bl
+-                                       rmdr.x * rmdr.y };              //br
++    const ValueType linear_wts[4] = {  ValueType((4 - rmdr.x) * (4 - rmdr.y)),    //tl
++                                       ValueType(rmdr.x * (4 - rmdr.y)),          //tr
++                                       ValueType((4 - rmdr.x) * rmdr.y),          //bl
++                                       ValueType(rmdr.x * rmdr.y) };              //br
+ 
+     bool bounds_check( false );
+ 
+@@ -1039,10 +1039,10 @@
+     const int pic_next( m_pic_data.LengthX() - dparams.Xl() );// go down a row and back up
+ 
+     //weights for doing linear interpolation, calculated from the remainder values
+-    const ValueType linear_wts[4] = {  (4 - rmdr.x) * (4 - rmdr.y),    //tl
+-                                       rmdr.x * (4 - rmdr.y),          //tr
+-                                       (4 - rmdr.x) * rmdr.y,          //bl
+-                                       rmdr.x * rmdr.y };              //br
++    const ValueType linear_wts[4] = {  ValueType((4 - rmdr.x) * (4 - rmdr.y)),    //tl
++                                       ValueType(rmdr.x * (4 - rmdr.y)),          //tr
++                                       ValueType((4 - rmdr.x) * rmdr.y),          //bl
++                                       ValueType(rmdr.x * rmdr.y) };              //br
+ 
+     bool bounds_check( false );
+ 
+@@ -1403,10 +1403,10 @@
+     }
+     else
+     {
+-        const ValueType linear_wts[4] = {  (2 - rmdr1.x) * (2 - rmdr1.y),    //tl
+-                                           rmdr1.x * (2 - rmdr1.y),          //tr
+-                                           (2 - rmdr1.x) * rmdr1.y,          //bl
+-                                           rmdr1.x * rmdr1.y };              //br
++        const ValueType linear_wts[4] = {  ValueType((2 - rmdr1.x) * (2 - rmdr1.y)),    //tl
++                                           ValueType(rmdr1.x * (2 - rmdr1.y)),          //tr
++                                           ValueType((2 - rmdr1.x) * rmdr1.y),          //bl
++                                           ValueType(rmdr1.x * rmdr1.y) };              //br
+ 
+         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
+         for( int y=dparams.Yl(), ry=ref_start1.y, by=BChk(ry,m_ref_data1.LengthY()), by1=BChk(ry+1,m_ref_data1.LengthY()); 
+@@ -1513,10 +1513,10 @@
+     }
+     else
+     {
+-        const ValueType linear_wts[4] = {  (2 - rmdr2.x) * (2 - rmdr2.y),    //tl
+-                                           rmdr2.x * (2 - rmdr2.y),          //tr
+-                                           (2 - rmdr2.x) * rmdr2.y,          //bl
+-                                           rmdr2.x * rmdr2.y };              //br
++        const ValueType linear_wts[4] = {  ValueType((2 - rmdr2.x) * (2 - rmdr2.y)),    //tl
++                                           ValueType(rmdr2.x * (2 - rmdr2.y)),          //tr
++                                           ValueType((2 - rmdr2.x) * rmdr2.y),          //bl
++                                           ValueType(rmdr2.x * rmdr2.y) };              //br
+ 
+         // We're doing bounds checking because we'll fall off the edge of the reference otherwise.
+         for( int y=dparams.Yl(), ry=ref_start2.y, by=BChk(ry,m_ref_data2.LengthY()),by1=BChk(ry+1,m_ref_data2.LengthY()); 
+@@ -1564,14 +1564,14 @@
+     const MVector rmdr2( mv2.x & 3 , mv2.y & 3 );
+ 
+     //weights for doing linear interpolation, calculated from the remainder values
+-    const ValueType linear_wts1[4] = {  (4 - rmdr1.x) * (4 - rmdr1.y),    //tl
+-                                       rmdr1.x * (4 - rmdr1.y),          //tr
+-                                       (4 - rmdr1.x) * rmdr1.y,          //bl
+-                                       rmdr1.x * rmdr1.y };              //br
+-    const ValueType linear_wts2[4] = {  (4 - rmdr2.x) * (4 - rmdr2.y),    //tl
+-                                       rmdr2.x * (4 - rmdr2.y),          //tr
+-                                       (4 - rmdr2.x) * rmdr2.y,          //bl
+-                                       rmdr2.x * rmdr2.y };              //br
++    const ValueType linear_wts1[4] = {  ValueType((4 - rmdr1.x) * (4 - rmdr1.y)),    //tl
++                                        ValueType(rmdr1.x * (4 - rmdr1.y)),          //tr
++                                        ValueType((4 - rmdr1.x) * rmdr1.y),          //bl
++                                        ValueType(rmdr1.x * rmdr1.y) };              //br
++    const ValueType linear_wts2[4] = {  ValueType((4 - rmdr2.x) * (4 - rmdr2.y)),    //tl
++                                        ValueType(rmdr2.x * (4 - rmdr2.y)),          //tr
++                                        ValueType((4 - rmdr2.x) * rmdr2.y),          //bl
++                                        ValueType(rmdr2.x * rmdr2.y) };              //br
+ 
+     //Where to start in the upconverted images
+     const ImageCoords ref_start1( ( dparams.Xp()<<1 ) + roundvec1.x ,( dparams.Yp()<<1 ) + roundvec1.y );
+diff -aur dirac-1.0.2/util/conversion/common/bitmap.cpp dirac-1.0.2-modif/util/conversion/common/bitmap.cpp
+--- dirac-1.0.2/util/conversion/common/bitmap.cpp	2004-06-30 20:44:52.000000000 +0400
++++ dirac-1.0.2-modif/util/conversion/common/bitmap.cpp	2016-02-10 20:19:58.355494888 +0300
+@@ -142,14 +142,9 @@
+         char signature[2];
+         int fileSize;
+         int dataOffset;
+-        int size;
+         int planes;
+         int bitCount;
+         int compression;
+-        int imageSize;
+-        int xPixelsPerM, yPixelsPerM;
+-        int coloursUsed;
+-        int coloursImportant;
+         //Define buffer to read bytes into.
+         const int bufferSize = 54;
+         char buffer[bufferSize];
+@@ -175,7 +170,7 @@
+         //Reposition input buffer to skip over extra header data if necessary
+         //Should check success of operation (see The C++ Stand Lib, Josuttis, p665)
+         if (dataOffset>54) inbuf.pubseekoff(dataOffset-54, std::ios_base::cur, std::ios_base::in);
+-        size = read4bytes(buffer+14);
++        (void)read4bytes(buffer+14); // size
+         w = read4bytes(buffer+18);
+         h = read4bytes(buffer+22);
+         if ( fileSize != (dataOffset + height()*lineBufferSize()) ) input.setstate(std::ios::failbit);
+@@ -185,11 +180,11 @@
+         if ( bitCount != 24 ) input.setstate(std::ios::failbit);
+         compression = read4bytes(buffer+30);
+         if ( compression != 0 ) input.setstate(std::ios::failbit);
+-        imageSize = read4bytes(buffer+34);
+-        xPixelsPerM = read4bytes(buffer+38);
+-        yPixelsPerM = read4bytes(buffer+42);
+-        coloursUsed = read4bytes(buffer+46);
+-        coloursImportant = read4bytes(buffer+50);
++        (void)read4bytes(buffer+34); // imageSize
++        (void)read4bytes(buffer+38); // xPixelsPerM
++        (void)read4bytes(buffer+42); // yPixelsPerM
++        (void)read4bytes(buffer+46); // coloursUsed
++        (void)read4bytes(buffer+50); // coloursImportant
+         return input; }
+ 
+ }  // end namespace dirac_vu
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index 2f911b26ca1..af51571baaa 100644
--- a/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.5";
+  version = "${branch}.6";
   branch = "2.8";
-  sha256 = "0nk1j3i7qc1k3dygpq74pxq382vqg9kaf2hxl9jfw8rkad8rjv9v";
+  sha256 = "0qlfinkyrz4s9z50fmqzx601zf9i7h1yn7cgdwn5jm63kcr1wqa0";
 })
diff --git a/pkgs/development/libraries/filter_audio/default.nix b/pkgs/development/libraries/filter_audio/default.nix
deleted file mode 100644
index 3082e11efbf..00000000000
--- a/pkgs/development/libraries/filter_audio/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchFromGitHub, utillinux }:
-
-stdenv.mkDerivation rec {
-  name = "filter_audio-${version}";
-  version = "76428a6cda43ae77f3936f4527c5f86eb3a5e211";
-
-  src = fetchFromGitHub {
-    owner  = "irungentoo";
-    repo   = "filter_audio";
-    rev    = "${version}";
-    sha256 = "0c4wp9a7dzbj9ykfkbsxrkkyy0nz7vyr5map3z7q8bmv9pjylbk9";
-  };
-
-  buildInputs = [ utillinux ];
-  makeFlags = "PREFIX=$(out)";
-
-  meta = with stdenv.lib; {
-    description = "An easy to use audio filtering library made from webrtc code";
-    homepage    = https://github.com/irungentoo/filter_audio;
-    license     = licenses.bsd3;
-    maintainers = with maintainers; [ np ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 8cf84eb08c3..1607387160d 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -1,18 +1,22 @@
 { stdenv, fetchurl, composableDerivation, unzip, libjpeg, libtiff, zlib
 , postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
-, libpng }:
+, libpng
+, netcdf, hdf5 , curl
+, netcdfSupport ? true
+ }:
 
 composableDerivation.composableDerivation {} (fixed: rec {
-  version = "2.0.1";
+  version = "2.0.2";
   name = "gdal-${version}";
 
   src = fetchurl {
     url = "http://download.osgeo.org/gdal/${version}/${name}.tar.gz";
-    sha256 = "b55f794768e104a2fd0304eaa61bb8bda3dc7c4e14f2c9d0913baca3e55b83ab";
+    sha256 = "db7722caf8d9dd798ec18012b9cacf40a518918466126a88b9fd277bd7d40cc4";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl ]
-  ++ (with pythonPackages; [ python numpy wrapPython ]);
+  ++ (with pythonPackages; [ python numpy wrapPython ])
+  ++ (stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]);
 
   patches = [
     # This ensures that the python package is installed into gdal's prefix,
@@ -36,6 +40,7 @@ composableDerivation.composableDerivation {} (fixed: rec {
     "--with-python"               # optional
     "--with-static-proj4=${proj}" # optional
     "--with-geos=${geos}/bin/geos-config"# optional
+    (if netcdfSupport then "--with-netcdf=${netcdf}" else "")
   ];
 
   # Prevent this:
diff --git a/pkgs/development/libraries/gettext/absolute-paths.diff b/pkgs/development/libraries/gettext/absolute-paths.diff
new file mode 100644
index 00000000000..af37f61a9a4
--- /dev/null
+++ b/pkgs/development/libraries/gettext/absolute-paths.diff
@@ -0,0 +1,21 @@
+diff --git a/gettext-runtime/src/gettext.sh.in b/gettext-runtime/src/gettext.sh.in
+index 1dfa3bb..d6ef8a8 100644
+--- a/gettext-runtime/src/gettext.sh.in
++++ b/gettext-runtime/src/gettext.sh.in
+@@ -86,14 +86,14 @@ fi
+ # looks up the translation of MSGID and substitutes shell variables in the
+ # result.
+ eval_gettext () {
+-  gettext "$1" | (export PATH `envsubst --variables "$1"`; envsubst "$1")
++  @out@/bin/gettext "$1" | (export PATH `@out@/bin/envsubst --variables "$1"`; @out@/bin/envsubst "$1")
+ }
+ 
+ # eval_ngettext MSGID MSGID-PLURAL COUNT
+ # looks up the translation of MSGID / MSGID-PLURAL for COUNT and substitutes
+ # shell variables in the result.
+ eval_ngettext () {
+-  ngettext "$1" "$2" "$3" | (export PATH `envsubst --variables "$1 $2"`; envsubst "$1 $2")
++  @out@/bin/ngettext "$1" "$2" "$3" | (export PATH `@out@/bin/envsubst --variables "$1 $2"`; @out@/bin/envsubst "$1 $2")
+ }
+ 
+ # Note: This use of envsubst is much safer than using the shell built-in 'eval'
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index cebcf4e014b..940df56c03c 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,34 +1,37 @@
-{ stdenv, fetchurl, libiconv, xz }:
+{ stdenv, lib, fetchurl, libiconv, xz }:
 
-stdenv.mkDerivation (rec {
-  name = "gettext-0.19.6";
+stdenv.mkDerivation rec {
+  name = "gettext-${version}";
+  version = "0.19.7";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${name}.tar.gz";
-    sha256 = "0pb9vp4ifymvdmc31ks3xxcnfqgzj8shll39czmk8c1splclqjzd";
+    sha256 = "0gy2b2aydj8r0sapadnjw8cmb8j2rynj28d5qs1mfa800njd51jk";
   };
+  patches = [ ./absolute-paths.diff ];
 
   outputs = [ "out" "doc" ];
 
   LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
 
   configureFlags = [ "--disable-csharp" "--with-xz" ]
-     ++ (stdenv.lib.optionals stdenv.isCygwin
-          [ "--disable-java"
+     ++ lib.optionals stdenv.isCygwin [
+            "--disable-java"
             "--disable-native-java"
             # Share the cache among the various `configure' runs.
             "--config-cache"
             "--with-included-gettext"
             "--with-included-glib"
             "--with-included-libcroco"
-          ])
+        ]
      # avoid retaining reference to CF during stdenv bootstrap
-     ++ (stdenv.lib.optionals stdenv.isDarwin [
-        "gt_cv_func_CFPreferencesCopyAppValue=no"
-        "gt_cv_func_CFLocaleCopyCurrent=no"
-      ]);
+     ++ lib.optionals stdenv.isDarwin [
+            "gt_cv_func_CFPreferencesCopyAppValue=no"
+            "gt_cv_func_CFLocaleCopyCurrent=no"
+        ];
 
-  patchPhase = ''
+  postPatch = ''
+   substituteAllInPlace gettext-runtime/src/gettext.sh.in
    substituteInPlace gettext-tools/projects/KDE/trigger --replace "/bin/pwd" pwd
    substituteInPlace gettext-tools/projects/GNOME/trigger --replace "/bin/pwd" pwd
    substituteInPlace gettext-tools/src/project-id --replace "/bin/pwd" pwd
@@ -43,16 +46,16 @@ stdenv.mkDerivation (rec {
       echo gl_cv_func_wcwidth_works=yes > cachefile
       configureFlags="$configureFlags --cache-file=`pwd`/cachefile"
     fi
-  '' + stdenv.lib.optionalString stdenv.isCygwin ''
+  '' + lib.optionalString stdenv.isCygwin ''
     sed -i -e "s/\(am_libgettextlib_la_OBJECTS = \)error.lo/\\1/" gettext-tools/gnulib-lib/Makefile.in
   '';
 
-  buildInputs = [ xz xz.bin ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
+  buildInputs = [ xz xz.bin libiconv ];
 
   enableParallelBuilding = true;
 
   crossAttrs = {
-    buildInputs = stdenv.lib.optional (stdenv ? ccCross && stdenv.ccCross.libc ? libiconv)
+    buildInputs = lib.optional (stdenv ? ccCross && stdenv.ccCross.libc ? libiconv)
       stdenv.ccCross.libc.libiconv.crossDrv;
     # Gettext fails to guess the cross compiler
     configureFlags = "CXX=${stdenv.cross.config}-g++";
@@ -82,8 +85,8 @@ stdenv.mkDerivation (rec {
 
     homepage = http://www.gnu.org/software/gettext/;
 
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with lib.maintainers; [ zimbatm ];
+    platforms = lib.platforms.all;
   };
 }
 
@@ -100,4 +103,4 @@ stdenv.mkDerivation (rec {
    sed -i gettext-tools/gnulib-lib/Makefile.in \
           -e 's/am_libgettextlib_la_OBJECTS =/am_libgettextlib_la_OBJECTS = error.lo/g'
    '';
-})
+}
diff --git a/pkgs/development/libraries/gettext/expat.nix b/pkgs/development/libraries/gettext/expat.nix
deleted file mode 100644
index 35d2e1a0950..00000000000
--- a/pkgs/development/libraries/gettext/expat.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ runCommand, gettext, expat, makeWrapper }:
-
-runCommand "gettext-expat-${gettext.name}" { buildInputs = [ makeWrapper ]; } ''
-  mkdir $out
-  cp -rf ${gettext}/* $out/
-  chmod a+w $out/bin
-  for p in $out/bin/*; do
-    wrapProgram $p --prefix LD_LIBRARY_PATH : ${expat.out}/lib
-  done
-''
diff --git a/pkgs/development/libraries/glibc/builder.sh b/pkgs/development/libraries/glibc/builder.sh
index 46f47d9b99c..7843c9340a3 100644
--- a/pkgs/development/libraries/glibc/builder.sh
+++ b/pkgs/development/libraries/glibc/builder.sh
@@ -24,22 +24,11 @@ postInstall() {
 
     test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
 
-    # FIXME: Use `test -n $linuxHeaders' when `kernelHeaders' has been
-    # renamed.
-    if test -z "$hurdHeaders"; then
+    if test -n "$linuxHeaders"; then
         # Include the Linux kernel headers in Glibc, except the `scsi'
         # subdirectory, which Glibc provides itself.
         (cd $dev/include && \
-         ln -sv $(ls -d $kernelHeaders/include/* | grep -v 'scsi$') .)
-    fi
-
-    if test -f "$out/lib/libhurduser.so"; then
-        # libc.so, libhurduser.so, and libmachuser.so depend on each
-        # other, so add them to libc.so (a RUNPATH on libc.so.0.3
-        # would be ignored by the cross-linker.)
-        echo "adding \`libhurduser.so' and \`libmachuser.so' to the \`libc.so' linker script..."
-        sed -i "$out/lib/libc.so" \
-            -e"s|\(libc\.so\.[^ ]\+\>\)|\1 $out/lib/libhurduser.so $out/lib/libmachuser.so|g"
+         ln -sv $(ls -d $linuxHeaders/include/* | grep -v 'scsi$') .)
     fi
 
     # Fix for NIXOS-54 (ldd not working on x86_64).  Make a symlink
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 8a13cb6fe60..893f65c3e20 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -3,27 +3,22 @@
 
 cross:
 
-{ name, fetchurl, fetchgit ? null, stdenv, installLocales ? false
-, gccCross ? null, kernelHeaders ? null
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null
+{ name, fetchurl, lib, stdenv, installLocales ? false
+, gccCross ? null, linuxHeaders ? null
 , profilingLibraries ? false, meta
 , withGd ? false, gd ? null, libpng ? null
 , preConfigure ? "", ... }@args:
 
 let
 
-  version = "2.21";
-
+  version = "2.23";
+  sha256 = "1lk9a8jv5kyx8hp0wmfzjyk047q95ybyjqbyw5idl7414jxqml1b";
 in
 
 assert cross != null -> gccCross != null;
-assert mig != null -> machHeaders != null;
-assert machHeaders != null -> hurdHeaders != null;
-assert hurdHeaders != null -> libpthreadHeaders != null;
 
 stdenv.mkDerivation ({
-  inherit kernelHeaders installLocales;
+  inherit linuxHeaders installLocales;
 
   # The host/target system.
   crossConfig = if cross != null then cross.config else null;
@@ -32,9 +27,7 @@ stdenv.mkDerivation ({
 
   enableParallelBuilding = true;
 
-  /* Don't try to apply these patches to the Hurd's snapshot, which is
-     older.  */
-  patches = stdenv.lib.optionals (hurdHeaders == null)
+  patches =
     [ /* Have rpcgen(1) look for cpp(1) in $PATH.  */
       ./rpcgen-path.patch
 
@@ -56,13 +49,6 @@ stdenv.mkDerivation ({
          "/bin:/usr/bin", which is inappropriate on NixOS machines. This
          patch extends the search path by "/run/current-system/sw/bin". */
       ./fix_path_attribute_in_getconf.patch
-
-      ./security-4a28f4d5.patch
-      ./security-bdf1ff05.patch
-      ./cve-2014-8121.patch
-      ./cve-2015-1781.patch
-
-      ./glibc-locale-incompatibility.patch
     ];
 
   postPatch =
@@ -99,39 +85,37 @@ stdenv.mkDerivation ({
       "--sysconfdir=/etc"
       "--localedir=/var/run/current-system/sw/lib/locale"
       "libc_cv_ssp=no"
-      (if kernelHeaders != null
-       then "--with-headers=${kernelHeaders}/include"
+      (if linuxHeaders != null
+       then "--with-headers=${linuxHeaders}/include"
        else "--without-headers")
       (if profilingLibraries
        then "--enable-profile"
        else "--disable-profile")
-    ] ++ stdenv.lib.optionals (cross == null && kernelHeaders != null) [
+    ] ++ lib.optionals (cross == null && linuxHeaders != null) [
       "--enable-kernel=2.6.32"
-    ] ++ stdenv.lib.optionals (cross != null) [
+    ] ++ lib.optionals (cross != null) [
       (if cross.withTLS then "--with-tls" else "--without-tls")
       (if cross.float == "soft" then "--without-fp" else "--with-fp")
-    ] ++ stdenv.lib.optionals (cross != null
+    ] ++ lib.optionals (cross != null
           && cross.platform ? kernelMajor
           && cross.platform.kernelMajor == "2.6") [
       "--enable-kernel=2.6.0"
       "--with-__thread"
-    ] ++ stdenv.lib.optionals (cross == null && stdenv.isArm) [
+    ] ++ lib.optionals (cross == null && stdenv.isArm) [
       "--host=arm-linux-gnueabi"
       "--build=arm-linux-gnueabi"
 
       # To avoid linking with -lgcc_s (dynamic link)
       # so the glibc does not depend on its compiler store path
       "libc_cv_as_needed=no"
-    ] ++ stdenv.lib.optional withGd "--with-gd";
+    ] ++ lib.optional withGd "--with-gd";
 
   installFlags = [ "sysconfdir=$(out)/etc" ];
 
   outputs = [ "dev" "out" "bin" "static" ];
 
-  buildInputs = [ ]
-    ++ stdenv.lib.optionals (cross != null) [ gccCross ]
-    ++ stdenv.lib.optional (mig != null) mig
-    ++ stdenv.lib.optionals withGd [ gd libpng ];
+  buildInputs = lib.optionals (cross != null) [ gccCross ]
+    ++ lib.optionals withGd [ gd libpng ];
 
   # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
   # prevent a retained dependency on the bootstrap tools in the stdenv-linux
@@ -143,32 +127,22 @@ stdenv.mkDerivation ({
   # I.e. when gcc is compiled with --with-arch=i686, then the
   # preprocessor symbol `__i686' will be defined to `1'.  This causes
   # the symbol __i686.get_pc_thunk.dx to be mangled.
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686"
+  NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.system == "i686-linux") "-U__i686"
     + " -Wno-error=strict-prototypes";
 }
 
 # Remove the `gccCross' attribute so that the *native* glibc store path
 # doesn't depend on whether `gccCross' is null or not.
-// (removeAttrs args [ "gccCross" "fetchurl" "fetchgit" "withGd" "gd" "libpng" ]) //
+// (removeAttrs args [ "lib" "gccCross" "fetchurl" "withGd" "gd" "libpng" ]) //
 
 {
   name = name + "-${version}" +
-    stdenv.lib.optionalString (cross != null) "-${cross.config}";
-
-  src =
-    if hurdHeaders != null
-    then fetchgit {
-      # Shamefully the "official" glibc won't build on GNU, so use the one
-      # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch.
-      # See <http://www.gnu.org/software/hurd/source_repositories/glibc.html>.
-      url = "git://git.sv.gnu.org/hurd/glibc.git";
-      sha256 = "cecec9dd5a2bafc875c56b058b6d7628a22b250b53747513dec304f31ffdb82d";
-      rev = "d3cdecf18e6550b0984a42b43ed48c5fb26501e1";
-    }
-    else fetchurl {
-      url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
-      sha256 = "0f4prv4c0fcpi85wv4028wqxn075197gwxhgf0vp571fiw2pi3wd";
-    };
+    lib.optionalString (cross != null) "-${cross.config}";
+
+  src = fetchurl {
+    url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
+    inherit sha256;
+  };
 
   # Remove absolute paths from `configure' & co.; build out-of-tree.
   preConfigure = ''
@@ -184,17 +158,18 @@ stdenv.mkDerivation ({
 
     configureScript="`pwd`/../$sourceRoot/configure"
 
-    ${stdenv.lib.optionalString (stdenv.cc.libc != null)
+    ${lib.optionalString (stdenv.cc.libc != null)
       ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"''
     }
 
     ${preConfigure}
   '';
 
+  preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
+
   meta = {
     homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library"
-      + stdenv.lib.optionalString (hurdHeaders != null) ", for GNU/Hurd";
+    description = "The GNU C Library";
 
     longDescription =
       '' Any Unix-like operating system needs a C library: the library which
@@ -205,24 +180,9 @@ stdenv.mkDerivation ({
          most systems with the Linux kernel.
       '';
 
-    license = stdenv.lib.licenses.lgpl2Plus;
+    license = lib.licenses.lgpl2Plus;
 
-    maintainers = [ ];
-    #platforms = stdenv.lib.platforms.linux;
+    maintainers = [ lib.maintainers.eelco ];
+    #platforms = lib.platforms.linux;
   } // meta;
-}
-
-// stdenv.lib.optionalAttrs withGd {
-  preBuild = "unset NIX_DONT_SET_RPATH";
-}
-
-// stdenv.lib.optionalAttrs (hurdHeaders != null) {
-  # Work around the fact that the configure snippet that looks for
-  # <hurd/version.h> does not honor `--with-headers=$sysheaders' and that
-  # glibc expects Mach, Hurd, and pthread headers to be in the same place.
-  CPATH = "${hurdHeaders}/include:${machHeaders}/include:${libpthreadHeaders}/include";
-
-  # Install NSS stuff in the right place.
-  # XXX: This will be needed for all new glibcs and isn't Hurd-specific.
-  makeFlags = ''vardbdir="$out/var/db"'';
 })
diff --git a/pkgs/development/libraries/glibc/cve-2014-8121.patch b/pkgs/development/libraries/glibc/cve-2014-8121.patch
deleted file mode 100644
index 95a86259dba..00000000000
--- a/pkgs/development/libraries/glibc/cve-2014-8121.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-From 03d2730b44cc2236318fd978afa2651753666c55 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Wed, 29 Apr 2015 14:41:25 +0200
-Subject: [PATCH] CVE-2014-8121: Do not close NSS files database during
- iteration [BZ #18007]
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-Robin Hack discovered Samba would enter an infinite loop processing
-certain quota-related requests.  We eventually tracked this down to a
-glibc issue.
-
-Running a (simplified) test case under strace shows that /etc/passwd
-is continuously opened and closed:
-
-…
-open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
-lseek(3, 0, SEEK_CUR)                   = 0
-read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2717
-lseek(3, 2717, SEEK_SET)                = 2717
-close(3)                                = 0
-open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
-lseek(3, 0, SEEK_CUR)                   = 0
-lseek(3, 0, SEEK_SET)                   = 0
-read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2717
-lseek(3, 2717, SEEK_SET)                = 2717
-close(3)                                = 0
-open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
-lseek(3, 0, SEEK_CUR)                   = 0
-…
-
-The lookup function implementation in
-nss/nss_files/files-XXX.c:DB_LOOKUP has code to prevent that.  It is
-supposed skip closing the input file if it was already open.
-
-  /* Reset file pointer to beginning or open file.  */			      \
-  status = internal_setent (keep_stream);				      \
-									      \
-  if (status == NSS_STATUS_SUCCESS)					      \
-    {									      \
-      /* Tell getent function that we have repositioned the file pointer.  */ \
-      last_use = getby;							      \
-									      \
-      while ((status = internal_getent (result, buffer, buflen, errnop	      \
-					H_ERRNO_ARG EXTRA_ARGS_VALUE))	      \
-	     == NSS_STATUS_SUCCESS)					      \
-	{ break_if_match }						      \
-									      \
-      if (! keep_stream)						      \
-	internal_endent ();						      \
-    }									      \
-
-keep_stream is initialized from the stayopen flag in internal_setent.
-internal_setent is called from the set*ent implementation as:
-
-  status = internal_setent (stayopen);
-
-However, for non-host database, this flag is always 0, per the
-STAYOPEN magic in nss/getXXent_r.c.
-
-Thus, the fix is this:
-
--  status = internal_setent (stayopen);
-+  status = internal_setent (1);
-
-This is not a behavioral change even for the hosts database (where the
-application can specify the stayopen flag) because with a call to
-sethostent(0), the file handle is still not closed in the
-implementation of gethostent.
----
- ChangeLog                 |   8 ++++
- NEWS                      |  12 +++--
- nss/Makefile              |   2 +-
- nss/nss_files/files-XXX.c |   2 +-
- nss/tst-nss-getpwent.c    | 118 ++++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 136 insertions(+), 6 deletions(-)
- create mode 100644 nss/tst-nss-getpwent.c
-
-diff --git a/nss/Makefile b/nss/Makefile
-index d75dad2..65ab7b5 100644
---- a/nss/Makefile
-+++ b/nss/Makefile
-@@ -47,7 +47,7 @@ install-bin             := getent makedb
- makedb-modules = xmalloc hash-string
- extra-objs		+= $(makedb-modules:=.o)
- 
--tests			= test-netdb tst-nss-test1 test-digits-dots
-+tests			= test-netdb tst-nss-test1 test-digits-dots tst-nss-getpwent
- xtests			= bug-erange
- 
- # Specify rules for the nss_* modules.  We have some services.
-diff --git a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c
-index a7a45e5..a7ce5ea 100644
---- a/nss/nss_files/files-XXX.c
-+++ b/nss/nss_files/files-XXX.c
-@@ -134,7 +134,7 @@ CONCAT(_nss_files_set,ENTNAME) (int stayopen)
- 
-   __libc_lock_lock (lock);
- 
--  status = internal_setent (stayopen);
-+  status = internal_setent (1);
- 
-   if (status == NSS_STATUS_SUCCESS && fgetpos (stream, &position) < 0)
-     {
-diff --git a/nss/tst-nss-getpwent.c b/nss/tst-nss-getpwent.c
-new file mode 100644
-index 0000000..f2e8abc
---- /dev/null
-+++ b/nss/tst-nss-getpwent.c
-@@ -0,0 +1,118 @@
-+/* Copyright (C) 2015 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <pwd.h>
-+#include <stdbool.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+int
-+do_test (void)
-+{
-+  /* Count the number of entries in the password database, and fetch
-+     data from the first and last entries.  */
-+  size_t count = 0;
-+  struct passwd * pw;
-+  char *first_name = NULL;
-+  uid_t first_uid = 0;
-+  char *last_name = NULL;
-+  uid_t last_uid = 0;
-+  setpwent ();
-+  while ((pw  = getpwent ()) != NULL)
-+    {
-+      if (first_name == NULL)
-+	{
-+	  first_name = strdup (pw->pw_name);
-+	  if (first_name == NULL)
-+	    {
-+	      printf ("strdup: %m\n");
-+	      return 1;
-+	    }
-+	  first_uid = pw->pw_uid;
-+	}
-+
-+      free (last_name);
-+      last_name = strdup (pw->pw_name);
-+      if (last_name == NULL)
-+	{
-+	  printf ("strdup: %m\n");
-+	  return 1;
-+	}
-+      last_uid = pw->pw_uid;
-+      ++count;
-+    }
-+  endpwent ();
-+
-+  if (count == 0)
-+    {
-+      printf ("No entries in the password database.\n");
-+      return 0;
-+    }
-+
-+  /* Try again, this time interleaving with name-based and UID-based
-+     lookup operations.  The counts do not match if the interleaved
-+     lookups affected the enumeration.  */
-+  size_t new_count = 0;
-+  setpwent ();
-+  while ((pw  = getpwent ()) != NULL)
-+    {
-+      if (new_count == count)
-+	{
-+	  printf ("Additional entry in the password database.\n");
-+	  return 1;
-+	}
-+      ++new_count;
-+      struct passwd *pw2 = getpwnam (first_name);
-+      if (pw2 == NULL)
-+	{
-+	  printf ("getpwnam (%s) failed: %m\n", first_name);
-+	  return 1;
-+	}
-+      pw2 = getpwnam (last_name);
-+      if (pw2 == NULL)
-+	{
-+	  printf ("getpwnam (%s) failed: %m\n", last_name);
-+	  return 1;
-+	}
-+      pw2 = getpwuid (first_uid);
-+      if (pw2 == NULL)
-+	{
-+	  printf ("getpwuid (%llu) failed: %m\n",
-+		  (unsigned long long) first_uid);
-+	  return 1;
-+	}
-+      pw2 = getpwuid (last_uid);
-+      if (pw2 == NULL)
-+	{
-+	  printf ("getpwuid (%llu) failed: %m\n",
-+		  (unsigned long long) last_uid);
-+	  return 1;
-+	}
-+    }
-+  endpwent ();
-+  if (new_count < count)
-+    {
-+      printf ("Missing entry in the password database.\n");
-+      return 1;
-+    }
-+
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+#include "../test-skeleton.c"
-
diff --git a/pkgs/development/libraries/glibc/cve-2015-1781.patch b/pkgs/development/libraries/glibc/cve-2015-1781.patch
deleted file mode 100644
index 6831d5ac742..00000000000
--- a/pkgs/development/libraries/glibc/cve-2015-1781.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 2959eda9272a033863c271aff62095abd01bd4e3 Mon Sep 17 00:00:00 2001
-From: Arjun Shankar <arjun.is@lostca.se>
-Date: Tue, 21 Apr 2015 14:06:31 +0200
-Subject: [PATCH] CVE-2015-1781: resolv/nss_dns/dns-host.c buffer overflow
- [BZ#18287]
-
----
- ChangeLog                 | 6 ++++++
- NEWS                      | 9 ++++++++-
- resolv/nss_dns/dns-host.c | 3 ++-
- 3 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
-index b16b0dd..d8c5579 100644
---- a/resolv/nss_dns/dns-host.c
-+++ b/resolv/nss_dns/dns-host.c
-@@ -615,7 +615,8 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
-   int have_to_map = 0;
-   uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
-   buffer += pad;
--  if (__glibc_unlikely (buflen < sizeof (struct host_data) + pad))
-+  buflen = buflen > pad ? buflen - pad : 0;
-+  if (__glibc_unlikely (buflen < sizeof (struct host_data)))
-     {
-       /* The buffer is too small.  */
-     too_small:
-
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 26d2bda2aeb..15e4fc7f9f0 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -1,6 +1,4 @@
-{ stdenv, fetchurl, fetchgit ? null, kernelHeaders
-, machHeaders ? null, hurdHeaders ? null, libpthreadHeaders ? null
-, mig ? null
+{ lib, stdenv, fetchurl, linuxHeaders
 , installLocales ? true
 , profilingLibraries ? false
 , gccCross ? null
@@ -16,11 +14,10 @@ let
 in
   build cross ({
     name = "glibc"
-      + stdenv.lib.optionalString (hurdHeaders != null) "-hurd"
-      + stdenv.lib.optionalString debugSymbols "-debug"
-      + stdenv.lib.optionalString withGd "-gd";
+      + lib.optionalString debugSymbols "-debug"
+      + lib.optionalString withGd "-gd";
 
-    inherit fetchurl fetchgit stdenv kernelHeaders installLocales
+    inherit lib stdenv fetchurl linuxHeaders installLocales
       profilingLibraries gccCross withGd gd libpng;
 
     builder = ./builder.sh;
@@ -58,23 +55,6 @@ in
 
   //
 
-  (if hurdHeaders != null
-   then rec {
-     inherit machHeaders hurdHeaders libpthreadHeaders mig fetchgit;
-
-     propagatedBuildInputs = [ machHeaders hurdHeaders libpthreadHeaders ];
-
-     passthru = {
-       # When building GCC itself `propagatedBuildInputs' above is not
-       # honored, so we pass it here so that the GCC builder can do the right
-       # thing.
-       inherit propagatedBuildInputs;
-     };
-   }
-   else { })
-
-  //
-
   (if cross != null
    then {
       preConfigure = ''
diff --git a/pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch b/pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch
deleted file mode 100644
index 8ca2ce4cd88..00000000000
--- a/pkgs/development/libraries/glibc/glibc-locale-incompatibility.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-http://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-locale-incompatibility.patch
-
-This patch avoids an assertion failure when incompatible locale data
-is encountered:
-
-  https://sourceware.org/ml/libc-alpha/2015-09/msg00575.html
-
---- glibc-2.22/locale/loadlocale.c	2015-09-22 17:16:02.321981548 +0200
-+++ glibc-2.22/locale/loadlocale.c	2015-09-22 17:17:34.814659064 +0200
-@@ -120,10 +120,11 @@
- 	 _nl_value_type_LC_XYZ array.  There are all pointers.  */
-       switch (category)
- 	{
--#define CATTEST(cat) \
--	case LC_##cat:							      \
--	  assert (cnt < (sizeof (_nl_value_type_LC_##cat)		      \
--			 / sizeof (_nl_value_type_LC_##cat[0])));	      \
-+#define CATTEST(cat)						\
-+	case LC_##cat:						\
-+	  if (cnt >= (sizeof (_nl_value_type_LC_##cat)		\
-+		      / sizeof (_nl_value_type_LC_##cat[0])))	\
-+	    goto puntdata;					\
- 	  break
- 	  CATTEST (NUMERIC);
- 	  CATTEST (TIME);
diff --git a/pkgs/development/libraries/glibc/info.nix b/pkgs/development/libraries/glibc/info.nix
index f57e52f7b7a..84ec43e11a8 100644
--- a/pkgs/development/libraries/glibc/info.nix
+++ b/pkgs/development/libraries/glibc/info.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, texinfo, perl }:
+{ lib, stdenv, fetchurl, texinfo, perl }:
 
 let build = import ./common.nix; in
 
@@ -6,7 +6,7 @@ let build = import ./common.nix; in
 build null {
   name = "glibc-info";
 
-  inherit fetchurl stdenv;
+  inherit fetchurl stdenv lib;
 
   outputs = [ "out" ];
 
diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix
index 0cf074323fb..994390cf829 100644
--- a/pkgs/development/libraries/glibc/locales.nix
+++ b/pkgs/development/libraries/glibc/locales.nix
@@ -6,14 +6,14 @@
    http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
 */
 
-{ stdenv, fetchurl, writeText, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
+{ lib, stdenv, fetchurl, writeText, allLocales ? true, locales ? ["en_US.UTF-8/UTF-8"] }:
 
 let build = import ./common.nix; in
 
 build null {
   name = "glibc-locales";
 
-  inherit fetchurl stdenv;
+  inherit fetchurl stdenv lib;
   installLocales = true;
 
   builder = ./locales-builder.sh;
diff --git a/pkgs/development/libraries/glibc/security-4a28f4d5.patch b/pkgs/development/libraries/glibc/security-4a28f4d5.patch
deleted file mode 100644
index 25f994d859c..00000000000
--- a/pkgs/development/libraries/glibc/security-4a28f4d5.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 4a28f4d55a6cc33474c0792fe93b5942d81bf185 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Thu, 26 Feb 2015 14:55:24 +0100
-Subject: [PATCH] Fix read past end of pattern in fnmatch (bug 18032)
-
----
- ChangeLog            | 7 +++++++
- NEWS                 | 2 +-
- posix/fnmatch_loop.c | 5 ++---
- posix/tst-fnmatch3.c | 8 +++++---
- 4 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
-index c0cb2fc..72c5d8f 100644
---- a/posix/fnmatch_loop.c
-+++ b/posix/fnmatch_loop.c
-@@ -945,14 +945,13 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
- 		  }
- 		else if (c == L('[') && *p == L('.'))
- 		  {
--		    ++p;
- 		    while (1)
- 		      {
- 			c = *++p;
--			if (c == '\0')
-+			if (c == L('\0'))
- 			  return FNM_NOMATCH;
- 
--			if (*p == L('.') && p[1] == L(']'))
-+			if (c == L('.') && p[1] == L(']'))
- 			  break;
- 		      }
- 		    p += 2;
-diff --git a/posix/tst-fnmatch3.c b/posix/tst-fnmatch3.c
-index d27a557..75bc00a 100644
---- a/posix/tst-fnmatch3.c
-+++ b/posix/tst-fnmatch3.c
-@@ -21,9 +21,11 @@
- int
- do_test (void)
- {
--  const char *pattern = "[[:alpha:]'[:alpha:]\0]";
--
--  return fnmatch (pattern, "a", 0) != FNM_NOMATCH;
-+  if (fnmatch ("[[:alpha:]'[:alpha:]\0]", "a", 0) != FNM_NOMATCH)
-+    return 1;
-+  if (fnmatch ("[a[.\0.]]", "a", 0) != FNM_NOMATCH)
-+    return 1;
-+  return 0;
- }
- 
- #define TEST_FUNCTION do_test ()
-
diff --git a/pkgs/development/libraries/glibc/security-bdf1ff05.patch b/pkgs/development/libraries/glibc/security-bdf1ff05.patch
deleted file mode 100644
index b4175694f91..00000000000
--- a/pkgs/development/libraries/glibc/security-bdf1ff05.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From bdf1ff052a8e23d637f2c838fa5642d78fcedc33 Mon Sep 17 00:00:00 2001
-From: Paul Pluzhnikov <ppluzhnikov@google.com>
-Date: Sun, 22 Feb 2015 12:01:47 -0800
-Subject: [PATCH] Fix BZ #17269 -- _IO_wstr_overflow integer overflow
-
----
- ChangeLog       | 6 ++++++
- NEWS            | 6 +++---
- libio/wstrops.c | 8 +++++++-
- 3 files changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/libio/wstrops.c b/libio/wstrops.c
-index 43d847d..3993579 100644
---- a/libio/wstrops.c
-+++ b/libio/wstrops.c
-@@ -95,8 +95,11 @@ _IO_wstr_overflow (fp, c)
- 	  wchar_t *old_buf = fp->_wide_data->_IO_buf_base;
- 	  size_t old_wblen = _IO_wblen (fp);
- 	  _IO_size_t new_size = 2 * old_wblen + 100;
--	  if (new_size < old_wblen)
-+
-+	  if (__glibc_unlikely (new_size < old_wblen)
-+	      || __glibc_unlikely (new_size > SIZE_MAX / sizeof (wchar_t)))
- 	    return EOF;
-+
- 	  new_buf
- 	    = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size
- 									* sizeof (wchar_t));
-@@ -186,6 +189,9 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
-     return 1;
- 
-   _IO_size_t newsize = offset + 100;
-+  if (__glibc_unlikely (newsize > SIZE_MAX / sizeof (wchar_t)))
-+    return 1;
-+
-   wchar_t *oldbuf = wd->_IO_buf_base;
-   wchar_t *newbuf
-     = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize
-
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 3e9980e2fcf..b54ea52b880 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation {
   outputInfo = "docdev";
 
   configureFlags =
-    # FIXME: perhaps use $SSL_CERT_FILE instead
     lib.optional stdenv.isLinux "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt"
   ++ [
     "--disable-dependency-tracking"
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
index 04bcc42a032..49e059befdb 100644
--- a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -1,6 +1,108 @@
---- ./giscanner/utils.py.orig	2014-08-14 22:05:05.055334080 +0200
-+++ ./giscanner/utils.py	2014-08-14 22:05:24.687497334 +0200
-@@ -110,17 +110,11 @@
+diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
+index 89ec193..54f1d2e 100755
+--- a/giscanner/scannermain.py
++++ b/giscanner/scannermain.py
+@@ -94,6 +94,39 @@ def get_windows_option_group(parser):
+     return group
+ 
+ 
++def _get_default_fallback_libpath():
++    # Newer multiple-output-optimized stdenv has an environment variable
++    # $outputLib which in turn specifies another variable which then is used as
++    # the destination for the library contents (${!outputLib}/lib).
++    store_path = os.environ.get(os.environ.get("outputLib"))
++    if store_path is None:
++        outputs = os.environ.get("outputs", "out").split()
++        if "lib" in outputs:
++            # For multiple output derivations let's try whether there is a $lib
++            # environment variable and use that as the base store path.
++            store_path = os.environ.get("lib")
++        elif "out" in outputs:
++            # Otherwise we have a single output derivation, so the libraries
++            # most certainly will end up in "$out/lib".
++            store_path = os.environ.get("out")
++
++    if store_path is not None:
++        # Even if we have a $lib as output, there still should be a $lib/lib
++        # directory.
++        return os.path.join(store_path, 'lib')
++    else:
++        # If we haven't found a possible scenario, let's return an empty string
++        # so that the shared library won't be prepended with a path.
++        #
++        # Note that this doesn't mean that all hope is lost, because after all
++        # we can still use --fallback-library-path to set one.
++        #
++        # Also, we're not returning None, because that would make it very
++        # difficult to disable adding fallback paths altogether using something
++        # like: --fallback-library-path=""
++        return ""
++
++
+ def _get_option_parser():
+     parser = optparse.OptionParser('%prog [options] sources')
+     parser.add_option('', "--quiet",
+@@ -200,6 +233,10 @@ match the namespace prefix.""")
+     parser.add_option("", "--filelist",
+                       action="store", dest="filelist", default=[],
+                       help="file containing headers and sources to be scanned")
++    parser.add_option("", "--fallback-library-path",
++                      action="store", dest="fallback_libpath",
++                      default=_get_default_fallback_libpath(),
++                      help="Path to prepend to unknown shared libraries")
+ 
+     group = get_preprocessor_option_group(parser)
+     parser.add_option_group(group)
+diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
+index 838d343..ca7fc0d 100644
+--- a/giscanner/shlibs.py
++++ b/giscanner/shlibs.py
+@@ -53,10 +53,24 @@ def _resolve_libtool(options, binary, libraries):
+ # Match absolute paths on OS X to conform to how libraries are usually
+ # referenced on OS X systems.
+ def _ldd_library_pattern(library_name):
++    nix_store_dir = re.escape('@nixStoreDir@'.rstrip('/'))
+     pattern = "(?<![A-Za-z0-9_-])(lib*%s[^A-Za-z0-9_-][^\s\(\)]*)"
+-    if platform.system() == 'Darwin':
+-        pattern = "([^\s]*lib*%s[^A-Za-z0-9_-][^\s\(\)]*)"
+-    return re.compile(pattern % re.escape(library_name))
++    pattern = r'''
++        (
++          (?:
++            # First match Nix store paths because they need to be absolute.
++            (?:%s(?:/[^/]*)+)
++            # Everything else not a store path remains relative, because we
++            # would end up with temporary paths that are only valid during
++            # build time in the resulting GIR file.
++            | (?<=/)
++          )
++          # And finally the library itself:
++          (?:lib%s[^A-Za-z0-9_-][^\s\(\)]*)
++        )
++    '''
++    return re.compile(pattern % (nix_store_dir, re.escape(library_name)),
++                      re.VERBOSE)
+ 
+ 
+ # This is a what we do for non-la files. We assume that we are on an
+@@ -115,7 +129,11 @@ def _resolve_non_libtool(options, binary, libraries):
+                 m = pattern.search(line)
+                 if m:
+                     del patterns[library]
+-                    shlibs.append(m.group(1))
++                    match = m.group(1)
++                    if not match.startswith('/') \
++                       and len(options.fallback_libpath) > 0:
++                        match = os.path.join(options.fallback_libpath, match)
++                    shlibs.append(match)
+                     break
+ 
+         if len(patterns) > 0:
+diff --git a/giscanner/utils.py b/giscanner/utils.py
+index 660081e..c9c767a 100644
+--- a/giscanner/utils.py
++++ b/giscanner/utils.py
+@@ -109,17 +109,11 @@ def extract_libtool_shlib(la_file):
      if dlname is None:
          return None
  
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 1a2ba3db29a..8d1dabd826e 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintlOrEmpty, autoconf, automake, otool }:
+, libintlOrEmpty, autoconf, automake, otool
+, substituteAll, nixStoreDir ? builtins.storeDir
+}:
 # now that gobjectIntrospection creates large .gir files (eg gtk3 case)
 # it may be worth thinking about using multiple derivation outputs
 # In that case its about 6MB which could be separated
@@ -15,7 +17,10 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
     sha256 = "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233";
   };
-  patches = [ ./absolute_shlib_path.patch ];
+  patches = stdenv.lib.singleton (substituteAll {
+    src = ./absolute_shlib_path.patch;
+    inherit nixStoreDir;
+  });
 
   outputs = [ "dev" "out" ];
   outputBin = "dev";
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
index b306e737df1..3bd840dcd7e 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gst_all_1, boost, glib, qt4, cmake
+{ stdenv, fetchurl, fetchpatch, gst_all_1, boost, glib, qt4, cmake
 , automoc4, flex, bison, pkgconfig }:
 
 stdenv.mkDerivation rec {
@@ -10,13 +10,20 @@ stdenv.mkDerivation rec {
     sha256 = "9f3b492b74cad9be918e4c4db96df48dab9c012f2ae5667f438b64a4d92e8fd4";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://cgit.freedesktop.org/gstreamer/qt-gstreamer/patch/?id=e2ca8094aa8d0eac1c3a98df66fe94ce0c754088";
+      sha256 = "1qps0nlc26d74wk8h96xl5s3d9qrdx6c0ph0zpl1dnc691lgyf6s";
+    })
+  ];
+
   buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base glib qt4 ];
   propagatedBuildInputs = [ boost ];
   nativeBuildInputs = [ cmake automoc4 flex bison pkgconfig ];
 
   cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
 
-  meta = { 
+  meta = {
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gtkspellmm/default.nix b/pkgs/development/libraries/gtkspellmm/default.nix
index d24ec46d905..44bb8051ea6 100644
--- a/pkgs/development/libraries/gtkspellmm/default.nix
+++ b/pkgs/development/libraries/gtkspellmm/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   name = "gtkspellmm-${version}";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/gtkspell/gtkspellmm/" +
+    url = "mirror://sourceforge/project/gtkspell/gtkspellmm/" +
           "${name}.tar.gz";
     sha256 = "f9dcc0991621c08e7a972f33487afd6b37491468f0b654f50c741a7e6d810624";
   };
diff --git a/pkgs/development/libraries/htmlcxx/default.nix b/pkgs/development/libraries/htmlcxx/default.nix
index 63cc7477385..6557d8f8041 100644
--- a/pkgs/development/libraries/htmlcxx/default.nix
+++ b/pkgs/development/libraries/htmlcxx/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://htmlcxx.sourceforge.net/;
-    description = "htmlcxx is a simple non-validating css1 and html parser for C++.";
+    description = "htmlcxx is a simple non-validating css1 and html parser for C++";
     license = stdenv.lib.licenses.lgpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index e2f06cab5cf..6dd8efddaa6 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, gyp, utillinux, python, fixDarwinDylibNames }:
 
 let
-  version = "2.5.0";
+  version = "2.6.1";
 in stdenv.mkDerivation {
   name = "http-parser-${version}";
 
   src = fetchurl {
     url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
-    sha256 = "108lh05pl4i5w7hmkw07k9wklk5pbh705pw1qyz5zvp6yicbmd73";
+    sha256 = "1b9ahv77zryx1z6j7sax2asx0gj209wh2244q9crj7hj14h8bkj8";
   };
 
   patches = [ ./build-shared.patch ];
diff --git a/pkgs/development/libraries/hunspell/wrapper.nix b/pkgs/development/libraries/hunspell/wrapper.nix
new file mode 100644
index 00000000000..88f18e6283d
--- /dev/null
+++ b/pkgs/development/libraries/hunspell/wrapper.nix
@@ -0,0 +1,13 @@
+{ stdenv, lib, hunspell, makeWrapper, dicts ? [] }:
+with lib;
+let
+  searchPath = makeSearchPath "share/hunspell" dicts;
+in
+stdenv.mkDerivation {
+  name = (appendToName "with-dicts" hunspell).name;
+  buildInputs = [ makeWrapper ];
+  buildCommand = ''
+    makeWrapper ${hunspell}/bin/hunspell $out/bin/hunspell --prefix DICPATH : ${searchPath}
+  '';
+  inherit (hunspell) meta;
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index c357d808cac..5d07cfe3a2b 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -2,11 +2,11 @@
 , pciutils, numactl }:
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.6";
+  name = "hwloc-1.11.2";
 
   src = fetchurl {
-    url = "http://www.open-mpi.org/software/hwloc/v1.6/downloads/${name}.tar.bz2";
-    sha256 = "0y561bryiqp1f5af5lm432dcw93xwp1jw55si7wa6skxnd6ch25w";
+    url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
+    sha1 = "3d68de060808f04349538be4e63cde501cd53b0a";
   };
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
@@ -39,9 +39,9 @@ stdenv.mkDerivation rec {
              -e "s|-lnuma|-L$numalibdir -lnuma|g"
       '';
 
-  # XXX: A test hangs on Cygwin, see
-  # <http://hydra.bordeaux.inria.fr/build/51474/nixlog/1/raw>.
-  doCheck = !stdenv.isCygwin;
+  # Checks disabled because they're impure (hardware dependent) and
+  # fail on some build machines.
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Portable abstraction of hierarchical architectures for high-performance computing";
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 17395561eda..50bebca6b31 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    ./jasper-CVE-2016-1867.diff
     ./jasper-CVE-2014-8137-variant2.diff
     ./jasper-CVE-2014-8137-noabort.diff
     ./jasper-CVE-2014-8138.diff
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2016-1867.diff b/pkgs/development/libraries/jasper/jasper-CVE-2016-1867.diff
new file mode 100644
index 00000000000..b2dce8d8e70
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2016-1867.diff
@@ -0,0 +1,11 @@
+--- jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c	2007-01-19 22:43:07.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_t2cod.c	2016-01-14 14:22:24.569056412 +0100
+@@ -429,7 +429,7 @@
+ 	}
+
+ 	for (pi->compno = pchg->compnostart, pi->picomp =
+-	  &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend); ++pi->compno,
++	  &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend) && pi->compno < pi->numcomps; ++pi->compno,
+ 	  ++pi->picomp) {
+ 		pirlvl = pi->picomp->pirlvls;
+ 		pi->xstep = pi->picomp->hsamp * (1 << (pirlvl->prcwidthexpn +
\ No newline at end of file
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/attica.nix b/pkgs/development/libraries/kde-frameworks-5.19/attica.nix
new file mode 100644
index 00000000000..98721876c12
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/attica.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "attica";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix b/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix
new file mode 100644
index 00000000000..38c41d9271d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix
@@ -0,0 +1,25 @@
+{ kdeFramework, lib, extra-cmake-modules, kauth, kconfig
+, kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime
+, kio, lmdb, makeQtWrapper, qtbase, qtquick1, solid
+}:
+
+kdeFramework {
+  name = "baloo";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [
+    kconfig kcrash kdbusaddons lmdb qtquick1 solid
+  ];
+  propagatedBuildInputs = [
+    kauth kcoreaddons kfilemetadata ki18n kio kidletime qtbase
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/baloo_file"
+    wrapQtProgram "$out/bin/baloo_file_extractor"
+    wrapQtProgram "$out/bin/balooctl"
+    wrapQtProgram "$out/bin/baloosearch"
+    wrapQtProgram "$out/bin/balooshow"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix
new file mode 100644
index 00000000000..f981b0516f7
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, qtdeclarative
+}:
+
+kdeFramework {
+  name = "bluez-qt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtdeclarative ];
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt \
+      --replace /lib/udev/rules.d "$out/lib/udev/rules.d"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix
new file mode 100644
index 00000000000..44cc99daf26
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix
@@ -0,0 +1,10 @@
+{ kdeFramework
+, extra-cmake-modules
+, qtsvg
+}:
+
+kdeFramework {
+  name = "breeze-icons";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtsvg ];
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/default.nix
new file mode 100644
index 00000000000..bb96048d6ff
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/default.nix
@@ -0,0 +1,114 @@
+# Maintainer's Notes:
+#
+# How To Update
+#  1. Edit the URL in ./manifest.sh
+#  2. Run ./manifest.sh
+#  3. Fix build errors.
+
+{ pkgs, debug ? false }:
+
+let
+
+  inherit (pkgs) lib makeSetupHook stdenv;
+
+  mirror = "mirror://kde";
+  srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; };
+
+  packages = self: with self; {
+    kdeFramework = args:
+      let
+        inherit (args) name;
+        inherit (srcs."${name}") src version;
+      in stdenv.mkDerivation (args // {
+        name = "${name}-${version}";
+        inherit src;
+
+        outputs = args.outputs or [ "dev" "out" ];
+
+        cmakeFlags =
+          (args.cmakeFlags or [])
+          ++ [ "-DBUILD_TESTING=OFF" ]
+          ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+        meta = {
+          license = with lib.licenses; [
+            lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
+          ];
+          platforms = lib.platforms.linux;
+          homepage = "http://www.kde.org";
+        } // (args.meta or {});
+      });
+
+    attica = callPackage ./attica.nix {};
+    baloo = callPackage ./baloo.nix {};
+    bluez-qt = callPackage ./bluez-qt.nix {};
+    breeze-icons = callPackage ./breeze-icons.nix {};
+    extra-cmake-modules = callPackage ./extra-cmake-modules {};
+    frameworkintegration = callPackage ./frameworkintegration.nix {};
+    kactivities = callPackage ./kactivities.nix {};
+    kapidox = callPackage ./kapidox.nix {};
+    karchive = callPackage ./karchive.nix {};
+    kauth = callPackage ./kauth {};
+    kbookmarks = callPackage ./kbookmarks.nix {};
+    kcmutils = callPackage ./kcmutils {};
+    kcodecs = callPackage ./kcodecs.nix {};
+    kcompletion = callPackage ./kcompletion.nix {};
+    kconfig = callPackage ./kconfig.nix {};
+    kconfigwidgets = callPackage ./kconfigwidgets {};
+    kcoreaddons = callPackage ./kcoreaddons.nix {};
+    kcrash = callPackage ./kcrash.nix {};
+    kdbusaddons = callPackage ./kdbusaddons.nix {};
+    kdeclarative = callPackage ./kdeclarative.nix {};
+    kded = callPackage ./kded.nix {};
+    kdelibs4support = callPackage ./kdelibs4support {};
+    kdesignerplugin = callPackage ./kdesignerplugin.nix {};
+    kdewebkit = callPackage ./kdewebkit.nix {};
+    kdesu = callPackage ./kdesu.nix {};
+    kdnssd = callPackage ./kdnssd.nix {};
+    kdoctools = callPackage ./kdoctools {};
+    kemoticons = callPackage ./kemoticons.nix {};
+    kfilemetadata = callPackage ./kfilemetadata {};
+    kglobalaccel = callPackage ./kglobalaccel.nix {};
+    kguiaddons = callPackage ./kguiaddons.nix {};
+    khtml = callPackage ./khtml.nix {};
+    ki18n = callPackage ./ki18n.nix {};
+    kiconthemes = callPackage ./kiconthemes {};
+    kidletime = callPackage ./kidletime.nix {};
+    kimageformats = callPackage ./kimageformats.nix {};
+    kinit = callPackage ./kinit {};
+    kio = callPackage ./kio {};
+    kitemmodels = callPackage ./kitemmodels.nix {};
+    kitemviews = callPackage ./kitemviews.nix {};
+    kjobwidgets = callPackage ./kjobwidgets.nix {};
+    kjs = callPackage ./kjs.nix {};
+    kjsembed = callPackage ./kjsembed.nix {};
+    kmediaplayer = callPackage ./kmediaplayer.nix {};
+    knewstuff = callPackage ./knewstuff.nix {};
+    knotifications = callPackage ./knotifications.nix {};
+    knotifyconfig = callPackage ./knotifyconfig.nix {};
+    kpackage = callPackage ./kpackage {};
+    kparts = callPackage ./kparts.nix {};
+    kpeople = callPackage ./kpeople.nix {};
+    kplotting = callPackage ./kplotting.nix {};
+    kpty = callPackage ./kpty.nix {};
+    kross = callPackage ./kross.nix {};
+    krunner = callPackage ./krunner.nix {};
+    kservice = callPackage ./kservice {};
+    ktexteditor = callPackage ./ktexteditor {};
+    ktextwidgets = callPackage ./ktextwidgets.nix {};
+    kunitconversion = callPackage ./kunitconversion.nix {};
+    kwallet = callPackage ./kwallet.nix {};
+    kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
+    kwindowsystem = callPackage ./kwindowsystem.nix {};
+    kxmlgui = callPackage ./kxmlgui.nix {};
+    kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
+    modemmanager-qt = callPackage ./modemmanager-qt.nix {};
+    networkmanager-qt = callPackage ./networkmanager-qt.nix {};
+    oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
+    plasma-framework = callPackage ./plasma-framework {};
+    solid = callPackage ./solid.nix {};
+    sonnet = callPackage ./sonnet.nix {};
+    threadweaver = callPackage ./threadweaver.nix {};
+  };
+
+in packages
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix
new file mode 100644
index 00000000000..1c2ea70442d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix
@@ -0,0 +1,20 @@
+{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }:
+
+kdeFramework {
+  name = "extra-cmake-modules";
+
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+
+  outputs = [ "out" ];  # this package has no runtime components
+  setupHook = ./setup-hook.sh;
+
+  # It is OK to propagate these inputs as long as
+  # extra-cmake-modules is never a propagated input
+  # of some other derivation.
+  propagatedNativeBuildInputs = [ cmake pkgconfig qttools ];
+
+  meta = with lib; {
+    license = licenses.bsd2;
+    maintainers = [ maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch
new file mode 100644
index 00000000000..a74340a6dc9
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/nix-lib-path.patch
@@ -0,0 +1,37 @@
+Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
+===================================================================
+--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake
++++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
+@@ -200,32 +200,6 @@
+ # GNUInstallDirs code deals with re-configuring, but that is dealt with
+ # by the _define_* macros in this module).
+ set(_LIBDIR_DEFAULT "lib")
+-# Override this default 'lib' with 'lib64' iff:
+-#  - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
+-#  - we are NOT on debian
+-#  - we are on a 64 bits system
+-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
+-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
+-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
+-# See http://wiki.debian.org/Multiarch
+-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
+-   AND NOT CMAKE_CROSSCOMPILING)
+-  if (EXISTS "/etc/debian_version") # is this a debian system ?
+-    if(CMAKE_LIBRARY_ARCHITECTURE)
+-      set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+-    endif()
+-  else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
+-    if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
+-      message(AUTHOR_WARNING
+-        "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
+-        "Please enable at least one language before including KDEInstallDirs.")
+-    else()
+-      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+-        set(_LIBDIR_DEFAULT "lib64")
+-      endif()
+-    endif()
+-  endif()
+-endif()
+ 
+ set(_gnu_install_dirs_vars
+     BINDIR
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series
new file mode 100644
index 00000000000..b4569e50a5f
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/series
@@ -0,0 +1 @@
+nix-lib-path.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh
new file mode 100644
index 00000000000..56ed09f4ea5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh
@@ -0,0 +1,81 @@
+_ecmSetXdgDirs() {
+    addToSearchPathOnce XDG_DATA_DIRS "$1/share"
+    addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg"
+    addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg"
+}
+
+_ecmPropagateSharedData() {
+    local sharedPaths=( \
+        "config.cfg" \
+        "doc" \
+        "kconf_update" \
+        "kservices5" \
+        "kservicetypes5" \
+        "kxmlgui5" \
+        "knotifications5" \
+        "icons" \
+        "sounds" \
+        "templates" \
+        "wallpapers" \
+        "applications" \
+        "desktop-directories" \
+        "mime" \
+        "info" \
+        "dbus-1" \
+        "interfaces" \
+        "services" \
+        "system-services" )
+    for dir in ${sharedPaths[@]}; do
+        if [ -d "$1/share/$dir" ]; then
+            addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share"
+            propagateOnce propagatedUserEnvPkgs "$1"
+            break
+        fi
+    done
+}
+
+_ecmConfig() {
+    # Because we need to use absolute paths here, we must set *all* the paths.
+    cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
+    cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
+    cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
+    cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
+    cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
+    cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
+    cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins"
+    cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins"
+    cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports"
+    cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml"
+    cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
+    cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
+    cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share"
+    cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share"
+    cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML"
+    cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg"
+    cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update"
+    cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5"
+    cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5"
+    cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5"
+    cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5"
+    cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons"
+    cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
+    cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds"
+    cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates"
+    cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers"
+    cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications"
+    cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories"
+    cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages"
+    cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata"
+    cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man"
+    cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info"
+    cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1"
+    cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces"
+    cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services"
+    cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services"
+    cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc"
+    cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg"
+    cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart"
+}
+
+envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData)
+preConfigureHooks+=(_ecmConfig)
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh b/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh
new file mode 100755
index 00000000000..7937e6f8bed
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh
@@ -0,0 +1,57 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p coreutils findutils gnused nix wget
+
+set -x
+
+# The trailing slash at the end is necessary!
+RELEASE_URL="http://download.kde.org/stable/frameworks/5.19/"
+EXTRA_WGET_ARGS='-A *.tar.xz'
+
+mkdir tmp; cd tmp
+
+rm -f ../srcs.csv
+
+wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS
+
+find . | while read src; do
+    if [[ -f "${src}" ]]; then
+        # Sanitize file name
+        filename=$(basename "$src" | tr '@' '_')
+        nameVersion="${filename%.tar.*}"
+        name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,')
+        version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
+        echo "$name,$version,$src,$filename" >>../srcs.csv
+    fi
+done
+
+cat >../srcs.nix <<EOF
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+{ fetchurl, mirror }:
+
+{
+EOF
+
+gawk -F , "{ print \$1 }" ../srcs.csv | sort | uniq | while read name; do
+    versions=$(gawk -F , "/^$name,/ { print \$2 }" ../srcs.csv)
+    latestVersion=$(echo "$versions" | sort -rV | head -n 1)
+    src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" ../srcs.csv)
+    filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" ../srcs.csv)
+    url="${src:2}"
+    sha256=$(nix-hash --type sha256 --base32 --flat "$src")
+    cat >>../srcs.nix <<EOF
+  $name = {
+    version = "$latestVersion";
+    src = fetchurl {
+      url = "\${mirror}/$url";
+      sha256 = "$sha256";
+      name = "$filename";
+    };
+  };
+EOF
+done
+
+echo "}" >>../srcs.nix
+
+rm -f ../srcs.csv
+
+cd ..
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix
new file mode 100644
index 00000000000..26987c385ad
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, kbookmarks, kcompletion
+, kconfig, kconfigwidgets, ki18n, kiconthemes, kio, knotifications
+, kwidgetsaddons, libXcursor, qtx11extras
+}:
+
+kdeFramework {
+  name = "frameworkintegration";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kbookmarks kcompletion kconfig knotifications kwidgetsaddons
+    libXcursor
+  ];
+  propagatedBuildInputs = [ kconfigwidgets ki18n kio kiconthemes qtx11extras ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix b/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix
new file mode 100644
index 00000000000..3225098f439
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix
@@ -0,0 +1,22 @@
+{ kdeFramework, lib, extra-cmake-modules, boost, kcmutils, kconfig
+, kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n
+, kio, kservice, kwindowsystem, kxmlgui, makeQtWrapper, qtdeclarative
+}:
+
+kdeFramework {
+  name = "kactivities";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [
+    boost kcmutils kconfig kcoreaddons kdbusaddons kservice
+    kxmlgui
+  ];
+  propagatedBuildInputs = [
+    kdeclarative kglobalaccel ki18n kio kwindowsystem qtdeclarative
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kactivitymanagerd"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix b/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix
new file mode 100644
index 00000000000..647be8f052c
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix
@@ -0,0 +1,12 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, python
+}:
+
+kdeFramework {
+  name = "kapidox";
+  nativeBuildInputs = [ extra-cmake-modules python ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix b/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix
new file mode 100644
index 00000000000..a8d9a0003c3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "karchive";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch b/pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch
new file mode 100644
index 00000000000..c66f5ecd008
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kauth/cmake-install-paths.patch
@@ -0,0 +1,17 @@
+Index: kauth-5.18.0/KF5AuthConfig.cmake.in
+===================================================================
+--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in
++++ kauth-5.18.0/KF5AuthConfig.cmake.in
+@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I
+ 
+ set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
+ set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
+-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
+-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
+-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
++set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions")
++set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}")
++set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}")
+ 
+ find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
+ 
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix
new file mode 100644
index 00000000000..1352d8c5821
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules
+, kcoreaddons
+, polkit-qt
+}:
+
+kdeFramework {
+  name = "kauth";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ polkit-qt ];
+  propagatedBuildInputs = [ kcoreaddons ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/series b/pkgs/development/libraries/kde-frameworks-5.19/kauth/series
new file mode 100644
index 00000000000..d2689425c38
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kauth/series
@@ -0,0 +1 @@
+cmake-install-paths.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix
new file mode 100644
index 00000000000..1a469ab4db6
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix
@@ -0,0 +1,25 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kcodecs
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kiconthemes
+, kxmlgui
+}:
+
+kdeFramework {
+  name = "kbookmarks";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcodecs
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kiconthemes
+    kxmlgui
+  ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch
new file mode 100644
index 00000000000..0d861fa9501
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch
@@ -0,0 +1,25 @@
+From f14d2a275323a47104b33eb61c5b6910ae1a9f59 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Wed, 14 Oct 2015 06:43:53 -0500
+Subject: [PATCH] qdiriterator follow symlinks
+
+---
+ src/kpluginselector.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/kpluginselector.cpp b/src/kpluginselector.cpp
+index 9c3431d..d6b1ee2 100644
+--- a/src/kpluginselector.cpp
++++ b/src/kpluginselector.cpp
+@@ -305,7 +305,7 @@ void KPluginSelector::addPlugins(const QString &componentName,
+     QStringList desktopFileNames;
+     const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, componentName + QStringLiteral("/kpartplugins"), QStandardPaths::LocateDirectory);
+     Q_FOREACH (const QString &dir, dirs) {
+-        QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
++      QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             desktopFileNames.append(it.next());
+         }
+-- 
+2.5.2
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix
new file mode 100644
index 00000000000..dbbb783ac61
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfigwidgets
+, kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews
+, kpackage, kservice, kxmlgui
+}:
+
+kdeFramework {
+  name = "kcmutils";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcoreaddons kiconthemes kitemviews kpackage kxmlgui
+  ];
+  propagatedBuildInputs = [ kconfigwidgets kdeclarative ki18n kservice ];
+  patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix
new file mode 100644
index 00000000000..53a69a69b69
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "kcodecs";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix
new file mode 100644
index 00000000000..e393774f16a
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix
@@ -0,0 +1,14 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kconfig
+, kwidgetsaddons
+}:
+
+kdeFramework {
+  name = "kcompletion";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kconfig kwidgetsaddons ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix b/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix
new file mode 100644
index 00000000000..e132afe5988
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, makeQtWrapper
+}:
+
+kdeFramework {
+  name = "kconfig";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kreadconfig5"
+    wrapQtProgram "$out/bin/kwriteconfig5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
new file mode 100644
index 00000000000..7a6c0ee9053
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
@@ -0,0 +1,25 @@
+From 4f84780893d505b2d62a14633dd983baa8ec6e28 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Wed, 14 Oct 2015 06:47:01 -0500
+Subject: [PATCH] qdiriterator follow symlinks
+
+---
+ src/khelpclient.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/khelpclient.cpp b/src/khelpclient.cpp
+index 53a331e..80fbb01 100644
+--- a/src/khelpclient.cpp
++++ b/src/khelpclient.cpp
+@@ -48,7 +48,7 @@ void KHelpClient::invokeHelp(const QString &anchor, const QString &_appname)
+     QString docPath;
+     const QStringList desktopDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
+     Q_FOREACH (const QString &dir, desktopDirs) {
+-        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
++        QDirIterator it(dir, QStringList() << appname + QLatin1String(".desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+         while (it.hasNext()) {
+             const QString desktopPath(it.next());
+             KDesktopFile desktopFile(desktopPath);
+-- 
+2.5.2
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix
new file mode 100644
index 00000000000..0e14d06edd3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, kauth, kcodecs, kconfig
+, kdoctools, kguiaddons, ki18n, kwidgetsaddons, makeQtWrapper
+}:
+
+kdeFramework {
+  name = "kconfigwidgets";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [ kguiaddons ];
+  propagatedBuildInputs = [ kauth kconfig kcodecs ki18n kwidgetsaddons ];
+  patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/preparetips5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix
new file mode 100644
index 00000000000..f3a1db7bd48
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib, makeQtWrapper
+, extra-cmake-modules
+, shared_mime_info
+}:
+
+kdeFramework {
+  name = "kcoreaddons";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [ shared_mime_info ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/desktoptojson"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix b/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix
new file mode 100644
index 00000000000..bbab78ccb40
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kcoreaddons
+, kwindowsystem
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kcrash";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kcoreaddons ];
+  propagatedBuildInputs = [ kwindowsystem qtx11extras ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix
new file mode 100644
index 00000000000..d2ceab31d14
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, makeQtWrapper
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kdbusaddons";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  propagatedBuildInputs = [ qtx11extras ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kquitapp5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix
new file mode 100644
index 00000000000..74d107466cf
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix
@@ -0,0 +1,22 @@
+{ kdeFramework, lib, extra-cmake-modules, epoxy, kconfig
+, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage
+, kwidgetsaddons, kwindowsystem, makeQtWrapper, pkgconfig
+, qtdeclarative
+}:
+
+kdeFramework {
+  name = "kdeclarative";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [
+    epoxy kguiaddons kiconthemes kwidgetsaddons
+  ];
+  propagatedBuildInputs = [
+    kconfig kglobalaccel ki18n kio kpackage kwindowsystem qtdeclarative
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kpackagelauncherqml"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kded.nix b/pkgs/development/libraries/kde-frameworks-5.19/kded.nix
new file mode 100644
index 00000000000..47ae2d68c68
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kded.nix
@@ -0,0 +1,19 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kconfig
+, kcoreaddons
+, kcrash
+, kdbusaddons
+, kdoctools
+, kinit
+, kservice
+}:
+
+kdeFramework {
+  name = "kded";
+  buildInputs = [ kconfig kcoreaddons kcrash kdbusaddons kinit kservice ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix
new file mode 100644
index 00000000000..843db83a99b
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/default.nix
@@ -0,0 +1,36 @@
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules, docbook_xml_dtd_45, kauth
+, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons
+, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons
+, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels
+, kinit, knotifications, kparts, kservice, ktextwidgets
+, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui
+, networkmanager, qtsvg, qtx11extras, xlibs
+}:
+
+# TODO: debug docbook detection
+
+kdeFramework {
+  name = "kdelibs4support";
+  outputs = [ "dev" "out" ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  setupHook = ./setup-hook.sh;
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    kcompletion kconfig kded kservice kwidgetsaddons
+    kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM
+  ];
+  propagatedBuildInputs = [
+    kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons
+    kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n kio
+    kiconthemes kitemmodels kinit knotifications kparts ktextwidgets
+    kunitconversion kwindowsystem
+  ];
+  cmakeFlags = [
+    "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+    "-DDocBookXML4_DTD_VERSION=4.5"
+  ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch
new file mode 100644
index 00000000000..eabb7025448
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/nix-kde-include-dir.patch
@@ -0,0 +1,13 @@
+Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp
+===================================================================
+--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp
++++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp
+@@ -292,7 +292,7 @@ static QString relativeInstallPath(const
+             return QFile::decodeName(ICON_INSTALL_DIR "/");
+         }
+         if (strcmp("include", type) == 0) {
+-            return QFile::decodeName(INCLUDE_INSTALL_DIR "/");
++            return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR"));
+         }
+         break;
+     case 'l':
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series
new file mode 100644
index 00000000000..9b08ab20877
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/series
@@ -0,0 +1 @@
+nix-kde-include-dir.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh
new file mode 100644
index 00000000000..21ac2e83b5d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support/setup-hook.sh
@@ -0,0 +1 @@
+export NIX_KDE_INCLUDE_DIR="@dev@/include/"  # trailing slash is required!
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix
new file mode 100644
index 00000000000..cbc114ccca0
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix
@@ -0,0 +1,34 @@
+{ kdeFramework, lib, makeQtWrapper
+, extra-cmake-modules
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kdewebkit
+, kdoctools
+, kiconthemes
+, kio
+, kitemviews
+, kplotting
+, ktextwidgets
+, kwidgetsaddons
+, kxmlgui
+, sonnet
+}:
+
+kdeFramework {
+  name = "kdesignerplugin";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [
+    kcompletion kconfig kconfigwidgets kcoreaddons kdewebkit
+    kiconthemes kitemviews kplotting ktextwidgets kwidgetsaddons
+    kxmlgui
+  ];
+  propagatedBuildInputs = [ kio sonnet ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kgendesignerplugin"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix
new file mode 100644
index 00000000000..364fbd6a720
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n, kpty
+, kservice
+}:
+
+kdeFramework {
+  name = "kdesu";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kcoreaddons kservice ];
+  propagatedBuildInputs = [ ki18n kpty ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix
new file mode 100644
index 00000000000..d361313d1d4
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
+, ki18n, kio, kjobwidgets, kparts, kservice, kwallet, qtwebkit
+}:
+
+kdeFramework {
+  name = "kdewebkit";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kconfig kcoreaddons kjobwidgets kparts kservice kwallet ];
+  propagatedBuildInputs = [ ki18n kio qtwebkit ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix
new file mode 100644
index 00000000000..f00432b0c9c
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, avahi
+}:
+
+kdeFramework {
+  name = "kdnssd";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ avahi ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix
new file mode 100644
index 00000000000..f67c19f4239
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix
@@ -0,0 +1,19 @@
+{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45
+, docbook5_xsl, karchive, ki18n, makeQtWrapper, perl, perlPackages
+}:
+
+kdeFramework {
+  name = "kdoctools";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ karchive ];
+  propagatedBuildInputs = [ ki18n ];
+  propagatedNativeBuildInputs = [ makeQtWrapper perl perlPackages.URI ];
+  cmakeFlags = [
+    "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+    "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
+  ];
+  patches = [ ./kdoctools-no-find-docbook-xml.patch ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch
new file mode 100644
index 00000000000..4e3a33efab3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5c4863c..f731775 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,7 +46,6 @@ set_package_properties(LibXml2 PROPERTIES
+                       )
+ 
+ 
+-find_package(DocBookXML4 "4.5")
+ 
+ set_package_properties(DocBookXML4 PROPERTIES
+                        TYPE REQUIRED
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix
new file mode 100644
index 00000000000..d165f84e3a2
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, karchive
+, kconfig
+, kcoreaddons
+, kservice
+}:
+
+kdeFramework {
+  name = "kemoticons";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ karchive kconfig kcoreaddons ];
+  propagatedBuildInputs = [ kservice ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch
new file mode 100644
index 00000000000..732f7b69c82
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/cmake-install-paths.patch
@@ -0,0 +1,13 @@
+Index: kfilemetadata-5.18.0/src/CMakeLists.txt
+===================================================================
+--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt
++++ kfilemetadata-5.18.0/src/CMakeLists.txt
+@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K
+ 
+ install(EXPORT KF5FileMetaDataTargets
+         NAMESPACE KF5::
+-        DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData
++        DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData
+         FILE KF5FileMetaDataTargets.cmake)
+ 
+ install(FILES
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix
new file mode 100644
index 00000000000..9bb4831cf8d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/default.nix
@@ -0,0 +1,14 @@
+{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules
+, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
+}:
+
+kdeFramework {
+  name = "kfilemetadata";
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ];
+  propagatedBuildInputs = [ qtbase ki18n ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series
new file mode 100644
index 00000000000..d2689425c38
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata/series
@@ -0,0 +1 @@
+cmake-install-paths.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix
new file mode 100644
index 00000000000..c535b3590a3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix
@@ -0,0 +1,23 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kconfig
+, kcoreaddons
+, kcrash
+, kdbusaddons
+, kwindowsystem
+, makeQtWrapper
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kglobalaccel";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [ kconfig kcoreaddons kcrash kdbusaddons ];
+  propagatedBuildInputs = [ kwindowsystem qtx11extras ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kglobalaccel5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix
new file mode 100644
index 00000000000..bc4e9ab1184
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kguiaddons";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtx11extras ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix b/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix
new file mode 100644
index 00000000000..d40df466ebb
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix
@@ -0,0 +1,21 @@
+{ kdeFramework, lib, extra-cmake-modules, giflib, karchive
+, kcodecs, kglobalaccel, ki18n, kiconthemes, kio, kjs
+, knotifications, kparts, ktextwidgets, kwallet, kwidgetsaddons
+, kwindowsystem, kxmlgui, perl, phonon, qtx11extras, sonnet
+}:
+
+kdeFramework {
+  name = "khtml";
+  nativeBuildInputs = [ extra-cmake-modules perl ];
+  buildInputs = [
+    giflib karchive kiconthemes knotifications kwallet kwidgetsaddons
+    kxmlgui phonon
+  ];
+  propagatedBuildInputs = [
+    kcodecs kglobalaccel ki18n kio kjs kparts ktextwidgets
+    kwindowsystem qtx11extras sonnet
+  ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix b/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix
new file mode 100644
index 00000000000..268006512e7
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, gettext
+, python
+, qtdeclarative
+, qtscript
+}:
+
+kdeFramework {
+  name = "ki18n";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtdeclarative qtscript ];
+  propagatedNativeBuildInputs = [ gettext python ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch
new file mode 100644
index 00000000000..5b3b15d5d5b
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch
@@ -0,0 +1,13 @@
+Index: kiconthemes-5.17.0/src/kicontheme.cpp
+===================================================================
+--- kiconthemes-5.17.0.orig/src/kicontheme.cpp
++++ kiconthemes-5.17.0/src/kicontheme.cpp
+@@ -557,7 +557,7 @@ void KIconTheme::reconfigure()
+ // static
+ QString KIconTheme::defaultThemeName()
+ {
+-    return QStringLiteral("oxygen");
++    return QStringLiteral("breeze");
+ }
+ 
+ void KIconTheme::assignIconsToContextMenu(ContextMenus type,
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix
new file mode 100644
index 00000000000..b78b25582be
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix
@@ -0,0 +1,18 @@
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules, makeQtWrapper
+, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg
+}:
+
+kdeFramework {
+  name = "kiconthemes";
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [ kconfigwidgets kitemviews qtsvg ];
+  propagatedBuildInputs = [ breeze-icons ki18n ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kiconfinder5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series
new file mode 100644
index 00000000000..ab5cc8a3edb
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series
@@ -0,0 +1 @@
+default-theme-breeze.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix b/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix
new file mode 100644
index 00000000000..fc086560023
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix
@@ -0,0 +1,15 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, qtbase
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kidletime";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtx11extras ];
+  propagatedBuildInputs = [ qtbase ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix b/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix
new file mode 100644
index 00000000000..49d66bbcc2c
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, ilmbase
+}:
+
+kdeFramework {
+  name = "kimageformats";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch
new file mode 100644
index 00000000000..9c76079a382
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch
@@ -0,0 +1,42 @@
+From 723c9b1268a04127647a1c20eebe9804150566dd Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Sat, 13 Jun 2015 08:57:55 -0500
+Subject: [PATCH] kinit libpath
+
+---
+ src/kdeinit/kinit.cpp | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
+index 9e775b6..0ac5646 100644
+--- a/src/kdeinit/kinit.cpp
++++ b/src/kdeinit/kinit.cpp
+@@ -660,15 +660,17 @@ static pid_t launch(int argc, const char *_name, const char *args,
+         if (!libpath.isEmpty()) {
+             if (!l.load()) {
+                 if (libpath_relative) {
+-                    // NB: Because Qt makes the actual dlopen() call, the
+-                    //     RUNPATH of kdeinit is *not* respected - see
+-                    //     https://sourceware.org/bugzilla/show_bug.cgi?id=13945
+-                    //     - so we try hacking it in ourselves
+-                    QString install_lib_dir = QFile::decodeName(
+-                            CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
+-                    libpath = install_lib_dir + libpath;
+-                    l.setFileName(libpath);
++                  // Use QT_PLUGIN_PATH to find shared library directories
++                  // For KF5, the plugin path is /lib/qt5/plugins/, so kdeinit5
++                  // shared libraries should be in /lib/qt5/plugins/../../
++                  const QRegExp pathSepRegExp(QString::fromLatin1("[:\b]"));
++                  const QString up = QString::fromLocal8Bit("/../../");
++                  const QStringList paths = QString::fromLocal8Bit(qgetenv("QT_PLUGIN_PATH")).split(pathSepRegExp, QString::KeepEmptyParts);
++                  Q_FOREACH (const QString &path, paths) {
++                    l.setFileName(path + up + libpath);
+                     l.load();
++                    if (l.isLoaded()) break;
++                  }
+                 }
+             }
+             if (!l.isLoaded()) {
+-- 
+2.4.2
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix
new file mode 100644
index 00000000000..5f644d7c424
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcrash
+, kdoctools, ki18n, kio, kservice, kwindowsystem, libcap
+, libcap_progs
+}:
+
+# TODO: setuid wrapper
+
+kdeFramework {
+  name = "kinit";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools libcap_progs ];
+  buildInputs = [ kconfig kcrash kservice libcap ];
+  propagatedBuildInputs = [ ki18n kio kwindowsystem ];
+  patches = [ ./0001-kinit-libpath.patch ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix
new file mode 100644
index 00000000000..a2131ff3385
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix
@@ -0,0 +1,33 @@
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules, acl, karchive
+, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons
+, kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews
+, kjobwidgets, knotifications, kservice, ktextwidgets, kwallet
+, kwidgetsaddons, kwindowsystem, kxmlgui, makeQtWrapper
+, qtscript, qtx11extras, solid
+}:
+
+kdeFramework {
+  name = "kio";
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [
+    acl karchive kconfig kcoreaddons kdbusaddons kiconthemes
+    knotifications ktextwidgets kwallet kwidgetsaddons
+    qtscript
+  ];
+  propagatedBuildInputs = [
+    kbookmarks kcompletion kconfigwidgets ki18n kitemviews kjobwidgets
+    kservice kwindowsystem kxmlgui solid qtx11extras
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kcookiejar5"
+    wrapQtProgram "$out/bin/ktelnetservice5"
+    wrapQtProgram "$out/bin/ktrash5"
+    wrapQtProgram "$out/bin/kmailservice5"
+    wrapQtProgram "$out/bin/protocoltojson"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch b/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch
new file mode 100644
index 00000000000..c9ad46b41bb
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch
@@ -0,0 +1,28 @@
+Index: kio-5.17.0/src/core/ksambashare.cpp
+===================================================================
+--- kio-5.17.0.orig/src/core/ksambashare.cpp
++++ kio-5.17.0/src/core/ksambashare.cpp
+@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
+ 
+ bool KSambaSharePrivate::isSambaInstalled()
+ {
+-    if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
+-            || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
+-        return true;
++    const QByteArray pathEnv = qgetenv("PATH");
++    if (!pathEnv.isEmpty()) {
++        QLatin1Char pathSep(':');
++        QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
++        for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
++            it->append("/smbd");
++            if (QFile::exists(*it)) {
++                return true;
++            }
++        }
+     }
+ 
+-    //qDebug() << "Samba is not installed!";
+-
+     return false;
+ }
+ 
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/series b/pkgs/development/libraries/kde-frameworks-5.19/kio/series
new file mode 100644
index 00000000000..77ca1545004
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kio/series
@@ -0,0 +1 @@
+samba-search-path.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix
new file mode 100644
index 00000000000..a9024d771cc
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "kitemmodels";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix b/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix
new file mode 100644
index 00000000000..931019ce495
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "kitemviews";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix
new file mode 100644
index 00000000000..746edf12eea
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kcoreaddons
+, kwidgetsaddons
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kjobwidgets";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kcoreaddons kwidgetsaddons ];
+  propagatedBuildInputs = [ qtx11extras ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix b/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix
new file mode 100644
index 00000000000..768720f178c
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+}:
+
+kdeFramework {
+  name = "kjs";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kjs5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix b/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix
new file mode 100644
index 00000000000..22eef2d47bd
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, kdoctools, ki18n, kjs
+, makeQtWrapper, qtsvg
+}:
+
+kdeFramework {
+  name = "kjsembed";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [ qtsvg ];
+  propagatedBuildInputs = [ ki18n kjs ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kjscmd5"
+    wrapQtProgram "$out/bin/kjsconsole"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix
new file mode 100644
index 00000000000..460458b2232
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix
@@ -0,0 +1,15 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kparts
+, kxmlgui
+}:
+
+kdeFramework {
+  name = "kmediaplayer";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kxmlgui ];
+  propagatedBuildInputs = [ kparts ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix b/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix
new file mode 100644
index 00000000000..5bcd6f30146
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, attica, karchive
+, kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio
+, kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui
+}:
+
+kdeFramework {
+  name = "knewstuff";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    karchive kcompletion kconfig kcoreaddons kiconthemes
+    kitemviews ktextwidgets kwidgetsaddons
+  ];
+  propagatedBuildInputs = [ attica ki18n kio kservice kxmlgui ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix b/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix
new file mode 100644
index 00000000000..7e301dd0f26
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix
@@ -0,0 +1,21 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, kcodecs
+, kconfig
+, kcoreaddons
+, kwindowsystem
+, phonon
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "knotifications";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcodecs kconfig kcoreaddons phonon
+  ];
+  propagatedBuildInputs = [ kwindowsystem qtx11extras ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix
new file mode 100644
index 00000000000..dd99d2d4f1e
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig
+, ki18n, kio, phonon
+}:
+
+kdeFramework {
+  name = "knotifyconfig";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kcompletion kconfig phonon ];
+  propagatedBuildInputs = [ ki18n kio ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch
new file mode 100644
index 00000000000..e9d74444814
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch
@@ -0,0 +1,13 @@
+Index: kpackage-5.18.0/src/kpackage/package.cpp
+===================================================================
+--- kpackage-5.18.0.orig/src/kpackage/package.cpp
++++ kpackage-5.18.0/src/kpackage/package.cpp
+@@ -808,7 +808,7 @@ PackagePrivate::PackagePrivate()
+     : QSharedData(),
+       fallbackPackage(0),
+       metadata(0),
+-      externalPaths(false),
++      externalPaths(true),
+       valid(false),
+       checkedValid(false)
+ {
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix
new file mode 100644
index 00000000000..aea1b0d31a0
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix
@@ -0,0 +1,23 @@
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules
+, karchive
+, kconfig
+, kcoreaddons
+, kdoctools
+, ki18n
+, makeQtWrapper
+}:
+
+kdeFramework {
+  name = "kpackage";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [ karchive kconfig ];
+  propagatedBuildInputs = [ kcoreaddons ki18n ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  postInstall = ''
+    wrapQtProgram "$out/bin/kpackagetool5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch
new file mode 100644
index 00000000000..ddbf17d0006
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch
@@ -0,0 +1,26 @@
+Index: kpackage-5.18.0/src/kpackage/packageloader.cpp
+===================================================================
+--- kpackage-5.18.0.orig/src/kpackage/packageloader.cpp
++++ kpackage-5.18.0/src/kpackage/packageloader.cpp
+@@ -241,7 +241,7 @@ QList<KPluginMetaData> PackageLoader::li
+         } else {
+             //qDebug() << "Not cached";
+             // If there's no cache file, fall back to listing the directory
+-            const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories;
++            const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks;
+             const QStringList nameFilters = QStringList(QStringLiteral("metadata.desktop")) << QStringLiteral("metadata.json");
+ 
+             QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
+Index: kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp
+===================================================================
+--- kpackage-5.18.0.orig/src/kpackage/private/packagejobthread.cpp
++++ kpackage-5.18.0/src/kpackage/private/packagejobthread.cpp
+@@ -146,7 +146,7 @@ bool indexDirectory(const QString& dir,
+ 
+     QJsonArray plugins;
+ 
+-    QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories);
++    QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+     while (it.hasNext()) {
+         it.next();
+         const QString path = it.fileInfo().absoluteFilePath();
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series
new file mode 100644
index 00000000000..9b7f076efc7
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series
@@ -0,0 +1,2 @@
+allow-external-paths.patch
+qdiriterator-follow-symlinks.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix b/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix
new file mode 100644
index 00000000000..1c3e0b2cbc5
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
+, ki18n, kiconthemes, kio, kjobwidgets, knotifications, kservice
+, ktextwidgets, kwidgetsaddons, kxmlgui
+}:
+
+kdeFramework {
+  name = "kparts";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kconfig kcoreaddons kiconthemes kjobwidgets knotifications
+    kservice kwidgetsaddons
+  ];
+  propagatedBuildInputs = [ ki18n kio ktextwidgets kxmlgui ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix b/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix
new file mode 100644
index 00000000000..4c3877e7efd
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix
@@ -0,0 +1,15 @@
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n
+, kitemviews, kservice, kwidgetsaddons, qtdeclarative
+}:
+
+kdeFramework {
+  name = "kpeople";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcoreaddons kitemviews kservice kwidgetsaddons
+  ];
+  propagatedBuildInputs = [ ki18n qtdeclarative ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix b/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix
new file mode 100644
index 00000000000..c16f51b5ac3
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "kplotting";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix b/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix
new file mode 100644
index 00000000000..2e34e6f674c
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix
@@ -0,0 +1,10 @@
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n }:
+
+kdeFramework {
+  name = "kpty";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ kcoreaddons ki18n ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kross.nix b/pkgs/development/libraries/kde-frameworks-5.19/kross.nix
new file mode 100644
index 00000000000..7c6f079feaa
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kross.nix
@@ -0,0 +1,14 @@
+{ kdeFramework, lib, extra-cmake-modules, kcompletion, kcoreaddons
+, kdoctools, ki18n, kiconthemes, kio, kparts, kwidgetsaddons
+, kxmlgui, qtscript
+}:
+
+kdeFramework {
+  name = "kross";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ kcompletion kcoreaddons kxmlgui ];
+  propagatedBuildInputs = [ ki18n kiconthemes kio kparts kwidgetsaddons qtscript ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix b/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix
new file mode 100644
index 00000000000..12d2b54d0eb
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
+, ki18n, kio, kservice, plasma-framework, qtquick1, solid
+, threadweaver
+}:
+
+kdeFramework {
+  name = "krunner";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kconfig kcoreaddons kservice qtquick1 solid threadweaver
+  ];
+  propagatedBuildInputs = [ ki18n kio plasma-framework ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch
new file mode 100644
index 00000000000..3d8397d8ee2
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch
@@ -0,0 +1,25 @@
+From ae8919eb81abad369e4a26ffcd845b140983398d Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Wed, 14 Oct 2015 06:28:57 -0500
+Subject: [PATCH 1/2] qdiriterator follow symlinks
+
+---
+ src/sycoca/kbuildsycoca.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sycoca/kbuildsycoca.cpp b/src/sycoca/kbuildsycoca.cpp
+index 1deae14..250baa8 100644
+--- a/src/sycoca/kbuildsycoca.cpp
++++ b/src/sycoca/kbuildsycoca.cpp
+@@ -208,7 +208,7 @@ bool KBuildSycoca::build()
+         QStringList relFiles;
+         const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, m_resourceSubdir, QStandardPaths::LocateDirectory);
+         Q_FOREACH (const QString &dir, dirs) {
+-            QDirIterator it(dir, QDirIterator::Subdirectories);
++            QDirIterator it(dir, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
+             while (it.hasNext()) {
+                 const QString filePath = it.next();
+                 Q_ASSERT(filePath.startsWith(dir)); // due to the line below...
+-- 
+2.5.2
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch
new file mode 100644
index 00000000000..685c6852611
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch
@@ -0,0 +1,25 @@
+From 46d124da602d84b7611a7ff0ac0862168d451cdb Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Wed, 14 Oct 2015 06:31:29 -0500
+Subject: [PATCH 2/2] no canonicalize path
+
+---
+ src/sycoca/vfolder_menu.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sycoca/vfolder_menu.cpp b/src/sycoca/vfolder_menu.cpp
+index d3e31c3..d15d743 100644
+--- a/src/sycoca/vfolder_menu.cpp
++++ b/src/sycoca/vfolder_menu.cpp
+@@ -415,7 +415,7 @@ VFolderMenu::absoluteDir(const QString &_dir, const QString &baseDir, bool keepR
+     }
+ 
+     if (!relative) {
+-        QString resolved = QDir(dir).canonicalPath();
++      QString resolved = QDir::cleanPath(dir);
+         if (!resolved.isEmpty()) {
+             dir = resolved;
+         }
+-- 
+2.5.2
+
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix
new file mode 100644
index 00000000000..3a27d85b916
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix
@@ -0,0 +1,18 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
+, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem
+}:
+
+kdeFramework {
+  name = "kservice";
+  propagatedNativeBuildInputs = [ extra-cmake-modules ];
+  nativeBuildInputs = [ kdoctools ];
+  buildInputs = [ kcrash kdbusaddons ];
+  propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ];
+  patches = [
+    ./0001-qdiriterator-follow-symlinks.patch
+    ./0002-no-canonicalize-path.patch
+  ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix
new file mode 100644
index 00000000000..b8df6a5f4c0
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix
@@ -0,0 +1,22 @@
+{ kdeFramework, lib, copyPathsToStore
+, extra-cmake-modules, makeQtWrapper, perl
+, karchive, kconfig, kguiaddons, kiconthemes, kparts
+, libgit2
+, qtscript, qtxmlpatterns
+, ki18n, kio, sonnet
+}:
+
+kdeFramework {
+  name = "ktexteditor";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper perl ];
+  buildInputs = [
+    karchive kconfig kguiaddons kiconthemes kparts
+    libgit2
+    qtscript qtxmlpatterns
+  ];
+  propagatedBuildInputs = [ ki18n kio sonnet ];
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch
new file mode 100644
index 00000000000..19ab1e1e551
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch
@@ -0,0 +1,36 @@
+Index: ktexteditor-5.18.0/src/syntax/data/katehighlightingindexer.cpp
+===================================================================
+--- ktexteditor-5.18.0.orig/src/syntax/data/katehighlightingindexer.cpp
++++ ktexteditor-5.18.0/src/syntax/data/katehighlightingindexer.cpp
+@@ -55,19 +55,16 @@ QStringList readListing(const QString &f
+ 
+ int main(int argc, char *argv[])
+ {
+-    // get app instance
+-    QCoreApplication app(argc, argv);
+-
+     // ensure enough arguments are passed
+-    if (app.arguments().size() < 3)
++    if (argc < 3)
+         return 1;
+ 
+     // open schema
+     QXmlSchema schema;
+-    if (!schema.load(QUrl::fromLocalFile(app.arguments().at(2))))
++    if (!schema.load(QUrl::fromLocalFile(QString::fromLocal8Bit(argv[2]))))
+         return 2;
+ 
+-    const QString hlFilenamesListing = app.arguments().value(3);
++    const QString hlFilenamesListing = QString::fromLocal8Bit(argv[3]);
+     if (hlFilenamesListing.isEmpty()) {
+         return 1;
+     }
+@@ -152,7 +149,7 @@ int main(int argc, char *argv[])
+         return anyError;
+ 
+     // create outfile, after all has worked!
+-    QFile outFile(app.arguments().at(1));
++    QFile outFile(QString::fromLocal8Bit(argv[1]));
+     if (!outFile.open(QIODevice::WriteOnly | QIODevice::Truncate))
+         return 7;
+ 
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series
new file mode 100644
index 00000000000..46cd23829a2
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series
@@ -0,0 +1 @@
+no-qcoreapplication.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix
new file mode 100644
index 00000000000..e332d4ff9a8
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix
@@ -0,0 +1,16 @@
+{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig
+, kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem
+, sonnet
+}:
+
+kdeFramework {
+  name = "ktextwidgets";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcompletion kconfig kconfigwidgets kiconthemes kservice
+  ];
+  propagatedBuildInputs = [ ki18n kwindowsystem sonnet ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix
new file mode 100644
index 00000000000..3cf0f847d83
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix
@@ -0,0 +1,10 @@
+{ kdeFramework, lib, extra-cmake-modules, ki18n }:
+
+kdeFramework {
+  name = "kunitconversion";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ ki18n ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix b/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix
new file mode 100644
index 00000000000..5ade5f63a8d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix
@@ -0,0 +1,21 @@
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets
+, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes
+, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt
+, makeQtWrapper }:
+
+kdeFramework {
+  name = "kwallet";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [
+    kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes
+    knotifications kservice kwidgetsaddons libgcrypt
+  ];
+  propagatedBuildInputs = [ ki18n kwindowsystem ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kwalletd5"
+    wrapQtProgram "$out/bin/kwallet-query"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix
new file mode 100644
index 00000000000..d95f44d3fec
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "kwidgetsaddons";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix b/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix
new file mode 100644
index 00000000000..09ab1f2200d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, qtx11extras
+}:
+
+kdeFramework {
+  name = "kwindowsystem";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtx11extras ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix
new file mode 100644
index 00000000000..f081d5f9170
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix
@@ -0,0 +1,18 @@
+{ kdeFramework, lib, extra-cmake-modules, attica, kconfig
+, kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews
+, ktextwidgets, kwindowsystem, sonnet
+}:
+
+kdeFramework {
+  name = "kxmlgui";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    attica kconfig kiconthemes kitemviews ktextwidgets
+  ];
+  propagatedBuildInputs = [
+    kconfigwidgets kglobalaccel ki18n kwindowsystem sonnet
+  ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix
new file mode 100644
index 00000000000..20a300b68bc
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix
@@ -0,0 +1,10 @@
+{ kdeFramework, lib, extra-cmake-modules, ki18n, kio }:
+
+kdeFramework {
+  name = "kxmlrpcclient";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ ki18n kio ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix
new file mode 100644
index 00000000000..7d7f769d6a9
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, modemmanager
+}:
+
+kdeFramework {
+  name = "modemmanager-qt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ modemmanager ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix
new file mode 100644
index 00000000000..333378bd143
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, networkmanager
+}:
+
+kdeFramework {
+  name = "networkmanager-qt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  propagatedBuildInputs = [ networkmanager ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix
new file mode 100644
index 00000000000..ee350f8e153
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix
@@ -0,0 +1,13 @@
+{ kdeFramework
+, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "oxygen-icons5";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    license = lib.licenses.lgpl3Plus;
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix b/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix
new file mode 100644
index 00000000000..d8846f77723
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix
@@ -0,0 +1,25 @@
+{ kdeFramework, lib, extra-cmake-modules, kactivities, karchive
+, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative
+, kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio
+, knotifications, kpackage, kservice, kwindowsystem, kxmlgui
+, makeQtWrapper, qtscript, qtx11extras
+}:
+
+kdeFramework {
+  name = "plasma-framework";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
+  buildInputs = [
+    karchive kconfig kconfigwidgets kcoreaddons kdbusaddons kguiaddons
+    kiconthemes knotifications kxmlgui qtscript
+  ];
+  propagatedBuildInputs = [
+    kactivities kdeclarative kglobalaccel ki18n kio kpackage kservice kwindowsystem
+    qtx11extras
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/plasmapkg2"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/solid.nix b/pkgs/development/libraries/kde-frameworks-5.19/solid.nix
new file mode 100644
index 00000000000..afd125e3c59
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/solid.nix
@@ -0,0 +1,17 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, makeQtWrapper
+, qtdeclarative
+}:
+
+kdeFramework {
+  name = "solid";
+  nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ];
+  buildInputs = [ qtdeclarative ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/solid-hardware5"
+  '';
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix b/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix
new file mode 100644
index 00000000000..943fe04a1c9
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+, hunspell
+}:
+
+kdeFramework {
+  name = "sonnet";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ hunspell ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix b/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix
new file mode 100644
index 00000000000..b86c0b71224
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix
@@ -0,0 +1,565 @@
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+{ fetchurl, mirror }:
+
+{
+  attica = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/attica-5.19.0.tar.xz";
+      sha256 = "0cbvjnv2fcqsxspiy5pzmnnzrpfamlsc9j927kd6gpzai1ckf1lv";
+      name = "attica-5.19.0.tar.xz";
+    };
+  };
+  baloo = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/baloo-5.19.0.tar.xz";
+      sha256 = "02yy0w13h5wxm74a87zi439f6yd9miid6rb54nia0pgvcka98svg";
+      name = "baloo-5.19.0.tar.xz";
+    };
+  };
+  bluez-qt = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/bluez-qt-5.19.0.tar.xz";
+      sha256 = "0609i7rzhnnnp4fqnwscwp6y646ji8kl2hw5sy7azc87yllisnyv";
+      name = "bluez-qt-5.19.0.tar.xz";
+    };
+  };
+  breeze-icons = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/breeze-icons-5.19.0.tar.xz";
+      sha256 = "0bwix0jl1dscqfb7ygn9drpd9ivfx4g15vz6h01mswvxa9lz1vj0";
+      name = "breeze-icons-5.19.0.tar.xz";
+    };
+  };
+  extra-cmake-modules = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/extra-cmake-modules-5.19.0.tar.xz";
+      sha256 = "1dl3hhbara7iswb5wsc5dp17ar3ljw5f0nrncl8vry9smaz2zl63";
+      name = "extra-cmake-modules-5.19.0.tar.xz";
+    };
+  };
+  frameworkintegration = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/frameworkintegration-5.19.0.tar.xz";
+      sha256 = "00la7p7wcyqpxyi73h4fjrmm9d2gqzdaljn4468xya4bfns5ijy3";
+      name = "frameworkintegration-5.19.0.tar.xz";
+    };
+  };
+  kactivities = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kactivities-5.19.0.tar.xz";
+      sha256 = "0yml1sbn3z4jd4vsfs25kqrl03pmlcgamzbgpw3248sabhyg7ks3";
+      name = "kactivities-5.19.0.tar.xz";
+    };
+  };
+  kapidox = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kapidox-5.19.0.tar.xz";
+      sha256 = "0a9731xrkd6mnqh72592rx6gfnxxdfd7xl8pdpgdn7qs3394k1yz";
+      name = "kapidox-5.19.0.tar.xz";
+    };
+  };
+  karchive = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/karchive-5.19.0.tar.xz";
+      sha256 = "043spmi7s2d1bj8d3wbgzbhisip6h92kqjhlvg8gyv0a7vy54ymv";
+      name = "karchive-5.19.0.tar.xz";
+    };
+  };
+  kauth = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kauth-5.19.0.tar.xz";
+      sha256 = "0fm9ih2hkh2rpmlf98yw8z1r5bn2qmpva2k7mrv6ijd5h767fxss";
+      name = "kauth-5.19.0.tar.xz";
+    };
+  };
+  kbookmarks = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kbookmarks-5.19.0.tar.xz";
+      sha256 = "0q418jpdc348nqgdavsmxxka4g8sldpdi9n89i1pllfmq10kw9sd";
+      name = "kbookmarks-5.19.0.tar.xz";
+    };
+  };
+  kcmutils = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kcmutils-5.19.0.tar.xz";
+      sha256 = "0qhdjb3zvqq9ycfgb52lz4flgipyplj5ksz8h8y71bbs4w6lazd8";
+      name = "kcmutils-5.19.0.tar.xz";
+    };
+  };
+  kcodecs = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kcodecs-5.19.0.tar.xz";
+      sha256 = "1rzp314fv9n5168j7nhv1c8fjaszpmgdx6javrx4w0hyrjdfkg66";
+      name = "kcodecs-5.19.0.tar.xz";
+    };
+  };
+  kcompletion = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kcompletion-5.19.0.tar.xz";
+      sha256 = "05n0y5kf3bcc4wgn6k0js5cravv1k93xxzrgapm21323qgvfagwd";
+      name = "kcompletion-5.19.0.tar.xz";
+    };
+  };
+  kconfig = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kconfig-5.19.0.tar.xz";
+      sha256 = "0nk5hfl8yh0kgaa7xi0cc05dl6nf7prvbvxv0i99207xh9dafdmm";
+      name = "kconfig-5.19.0.tar.xz";
+    };
+  };
+  kconfigwidgets = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kconfigwidgets-5.19.0.tar.xz";
+      sha256 = "1nld27chcjwjgwv76s2j77ifmca235yp10bm08rjmvnfn6778ypv";
+      name = "kconfigwidgets-5.19.0.tar.xz";
+    };
+  };
+  kcoreaddons = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kcoreaddons-5.19.0.tar.xz";
+      sha256 = "07sm0givfdx28p302fkynzsd3xkpn1hbs43d4rscyx18yxfsldcw";
+      name = "kcoreaddons-5.19.0.tar.xz";
+    };
+  };
+  kcrash = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kcrash-5.19.0.tar.xz";
+      sha256 = "1dy03gp1sj96wn0zfa0dpbvz8pz0ia1j7p1wcif3iqk55pjxdgyl";
+      name = "kcrash-5.19.0.tar.xz";
+    };
+  };
+  kdbusaddons = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdbusaddons-5.19.0.tar.xz";
+      sha256 = "1bb5aik0kl3kab5399drfjxrm8iysgkf813xgr0y4k64c9kwfp28";
+      name = "kdbusaddons-5.19.0.tar.xz";
+    };
+  };
+  kdeclarative = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdeclarative-5.19.0.tar.xz";
+      sha256 = "03g02zy7wjzmpvqzxx32z8ap7jyj9sf432g1d3csb0dcbx2ny52g";
+      name = "kdeclarative-5.19.0.tar.xz";
+    };
+  };
+  kded = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kded-5.19.0.tar.xz";
+      sha256 = "0nyvg0h2aqy7qr57bad6wyc2rmcv9nhdq0py4fxc3irb6516p9hz";
+      name = "kded-5.19.0.tar.xz";
+    };
+  };
+  kdelibs4support = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/kdelibs4support-5.19.0.tar.xz";
+      sha256 = "0iqnb2j6gfy8006arwv65vljfhxdnk6aia0zppngb481jnd9n2pn";
+      name = "kdelibs4support-5.19.0.tar.xz";
+    };
+  };
+  kdesignerplugin = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdesignerplugin-5.19.0.tar.xz";
+      sha256 = "11inmvyair796rx4842naf1dnxqvc6bqqzrv700ycvisad646ws5";
+      name = "kdesignerplugin-5.19.0.tar.xz";
+    };
+  };
+  kdesu = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdesu-5.19.0.tar.xz";
+      sha256 = "19w8m7ji61bpd368lzkwlizcwa1l968l568lksgm2mm9pnyjjhgz";
+      name = "kdesu-5.19.0.tar.xz";
+    };
+  };
+  kdewebkit = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdewebkit-5.19.0.tar.xz";
+      sha256 = "04b5qanhxggffnvmi28lspyi8kj4kq7mxhxndar9fmkzzgvy70hj";
+      name = "kdewebkit-5.19.0.tar.xz";
+    };
+  };
+  kdnssd = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdnssd-5.19.0.tar.xz";
+      sha256 = "15a8w2i29mrbhadw6y123mr0cc45ijabnwdfp3lbkd40lk8nq314";
+      name = "kdnssd-5.19.0.tar.xz";
+    };
+  };
+  kdoctools = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kdoctools-5.19.0.tar.xz";
+      sha256 = "06g77n9wxpiv4skc1kz794ppfb2mkmd3fgn6an5kr301xc76cnpn";
+      name = "kdoctools-5.19.0.tar.xz";
+    };
+  };
+  kemoticons = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kemoticons-5.19.0.tar.xz";
+      sha256 = "0fiix2sf2wrvmrpx8whdr1bzm7gbv7pvg02y47w5bl6s9gh176g5";
+      name = "kemoticons-5.19.0.tar.xz";
+    };
+  };
+  kfilemetadata = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kfilemetadata-5.19.0.tar.xz";
+      sha256 = "11j8if3xhp3xxwibwm6nxb4lh8wx40ni3zf5hki327pxv4vpq3qr";
+      name = "kfilemetadata-5.19.0.tar.xz";
+    };
+  };
+  kglobalaccel = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kglobalaccel-5.19.0.tar.xz";
+      sha256 = "021j98f7217m83aqxpamg0lzlaiskdaqsd9iabc8wrp1g0nkm05d";
+      name = "kglobalaccel-5.19.0.tar.xz";
+    };
+  };
+  kguiaddons = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kguiaddons-5.19.0.tar.xz";
+      sha256 = "019xaf7vpgifcw8wibli9d2b50brhgdaypsqknh6mqq8q9g06jhy";
+      name = "kguiaddons-5.19.0.tar.xz";
+    };
+  };
+  khtml = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/khtml-5.19.0.tar.xz";
+      sha256 = "0hqa54a9nxy954vy8gf52y89xd3ibz9b4jgh6w347b1alp1zn145";
+      name = "khtml-5.19.0.tar.xz";
+    };
+  };
+  ki18n = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/ki18n-5.19.0.tar.xz";
+      sha256 = "0v3arc20y5d8afm9zfrz1skd2xg3ng62cq1xvxiq645w6mxf7y05";
+      name = "ki18n-5.19.0.tar.xz";
+    };
+  };
+  kiconthemes = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kiconthemes-5.19.0.tar.xz";
+      sha256 = "0riicirgda3w2b30dzsa2lq9xrr4y04qwhxyzq1p8gn2x4pp3g3n";
+      name = "kiconthemes-5.19.0.tar.xz";
+    };
+  };
+  kidletime = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kidletime-5.19.0.tar.xz";
+      sha256 = "0jlbzqv36ddhfhk8xkkgw0xhq8s371z9ama1cyv2xq8kk4vjywc6";
+      name = "kidletime-5.19.0.tar.xz";
+    };
+  };
+  kimageformats = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kimageformats-5.19.0.tar.xz";
+      sha256 = "1ydizc6b0ncndazk62h8y249yfcx381pwzyivfpka1f69zfgyvv5";
+      name = "kimageformats-5.19.0.tar.xz";
+    };
+  };
+  kinit = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kinit-5.19.0.tar.xz";
+      sha256 = "03l7pijqdnnsfg6yz9p73p7xa86sldayggl6rc5hpkzmgyczcfzm";
+      name = "kinit-5.19.0.tar.xz";
+    };
+  };
+  kio = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kio-5.19.0.tar.xz";
+      sha256 = "0c7smp7cajivx53shy65mp9zcc51pha9iyvh37dggfflxy3xf9nv";
+      name = "kio-5.19.0.tar.xz";
+    };
+  };
+  kitemmodels = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kitemmodels-5.19.0.tar.xz";
+      sha256 = "0skmim986qnncbzd84vm1wp1fr41jn04af2dgckirsk23d35bln7";
+      name = "kitemmodels-5.19.0.tar.xz";
+    };
+  };
+  kitemviews = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kitemviews-5.19.0.tar.xz";
+      sha256 = "118zv46mvrfwbvl06bb1m8axv92wnp4pfs36hsxvnjl7gfjk5xjn";
+      name = "kitemviews-5.19.0.tar.xz";
+    };
+  };
+  kjobwidgets = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kjobwidgets-5.19.0.tar.xz";
+      sha256 = "1qzf8nzy8rxkdai9aj2lyrww90245v0p2q115xiz73bsg9rahmji";
+      name = "kjobwidgets-5.19.0.tar.xz";
+    };
+  };
+  kjs = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/kjs-5.19.0.tar.xz";
+      sha256 = "08m01762hb25vm020g3v37bh40cgvcfrj45ql135klx96x9imfaf";
+      name = "kjs-5.19.0.tar.xz";
+    };
+  };
+  kjsembed = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/kjsembed-5.19.0.tar.xz";
+      sha256 = "1wmkgy8jgm21y2cvcbv1fdv29dxxla8n6ws78kzzbbw4cgqwwl48";
+      name = "kjsembed-5.19.0.tar.xz";
+    };
+  };
+  kmediaplayer = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/kmediaplayer-5.19.0.tar.xz";
+      sha256 = "1vhqr2c7q8vwzdj29vpmfjfhyal8wp9ffirrnqc98vb6sffs85ay";
+      name = "kmediaplayer-5.19.0.tar.xz";
+    };
+  };
+  knewstuff = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/knewstuff-5.19.0.tar.xz";
+      sha256 = "12acd12vxk9z83zg3yz8lvmmb8737z9lzd4hs9a3jcs1z5k2nhb4";
+      name = "knewstuff-5.19.0.tar.xz";
+    };
+  };
+  knotifications = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/knotifications-5.19.0.tar.xz";
+      sha256 = "0grgm0ws16gp2j77nslqpl1jpxbi0m6g59zr7v1xnmzdk2j6n4av";
+      name = "knotifications-5.19.0.tar.xz";
+    };
+  };
+  knotifyconfig = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/knotifyconfig-5.19.0.tar.xz";
+      sha256 = "161brvryxzdkny7sf6icn1jpyi6rnw6jc808gdf5g41v50xpnxfj";
+      name = "knotifyconfig-5.19.0.tar.xz";
+    };
+  };
+  kpackage = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kpackage-5.19.0.tar.xz";
+      sha256 = "1km4sjgxfljp2pnjnzj48q3c574zvj7341a57n4ifhjwj37yzxdv";
+      name = "kpackage-5.19.0.tar.xz";
+    };
+  };
+  kparts = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kparts-5.19.0.tar.xz";
+      sha256 = "05g59x2mrqygawzcwgw3igl5n96l649h0kpzh37sfq4i8kg15g7l";
+      name = "kparts-5.19.0.tar.xz";
+    };
+  };
+  kpeople = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kpeople-5.19.0.tar.xz";
+      sha256 = "1ksf6g71li1xk4q98cvwkam8m8g32x2815kj1gfwbg4g6iw74w98";
+      name = "kpeople-5.19.0.tar.xz";
+    };
+  };
+  kplotting = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kplotting-5.19.0.tar.xz";
+      sha256 = "169x4m9ms8yhfha8zclnl8wrnfhfqshpwwg4b5bd046pcrkqmnqq";
+      name = "kplotting-5.19.0.tar.xz";
+    };
+  };
+  kpty = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kpty-5.19.0.tar.xz";
+      sha256 = "0289vzfjwppwqj9h03flzhwm18dnxz11hqhdhr9990x7rw6a4n03";
+      name = "kpty-5.19.0.tar.xz";
+    };
+  };
+  kross = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/kross-5.19.0.tar.xz";
+      sha256 = "1nv7mrhn7wa4bs2a164x42d3b37akyvhkxqs8cg5fqp4vr2wkw0p";
+      name = "kross-5.19.0.tar.xz";
+    };
+  };
+  krunner = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/portingAids/krunner-5.19.0.tar.xz";
+      sha256 = "054s8309lxi27gpbg7iygbcxsp0pwrzbzww3h8zp2a9yiic4s5mx";
+      name = "krunner-5.19.0.tar.xz";
+    };
+  };
+  kservice = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kservice-5.19.0.tar.xz";
+      sha256 = "02lbia26r2462nwksizaxjfkhxfqqs732dp495yx8bjc7wcv3srm";
+      name = "kservice-5.19.0.tar.xz";
+    };
+  };
+  ktexteditor = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/ktexteditor-5.19.0.tar.xz";
+      sha256 = "0v3l44w4k43ajs81i8386hszk3x7rajjlb6z3jb7q98vhp91b5dp";
+      name = "ktexteditor-5.19.0.tar.xz";
+    };
+  };
+  ktextwidgets = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/ktextwidgets-5.19.0.tar.xz";
+      sha256 = "1xydb76r6x1p10bkr2nlqg3md78jw8zvqad0h42dgvl4f5xvjknp";
+      name = "ktextwidgets-5.19.0.tar.xz";
+    };
+  };
+  kunitconversion = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kunitconversion-5.19.0.tar.xz";
+      sha256 = "11g1vhqkrb1k748drj7klkbb7jca3dybakcmcgqf53g8vxfih8kb";
+      name = "kunitconversion-5.19.0.tar.xz";
+    };
+  };
+  kwallet = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kwallet-5.19.0.tar.xz";
+      sha256 = "0z0c62fdfx9syrq6z7bk0ihac4yqyxpycll7h3mijj29km4jnpjm";
+      name = "kwallet-5.19.0.tar.xz";
+    };
+  };
+  kwidgetsaddons = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kwidgetsaddons-5.19.0.tar.xz";
+      sha256 = "0b85ng0dj5gpzifqmhyzgx61nb37vq7d0gvfpfazlcp5n27ywivm";
+      name = "kwidgetsaddons-5.19.0.tar.xz";
+    };
+  };
+  kwindowsystem = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kwindowsystem-5.19.0.tar.xz";
+      sha256 = "115xs34r74j9zcsw69glnh8w59iyh764n3gniawwrk23c6yb8fch";
+      name = "kwindowsystem-5.19.0.tar.xz";
+    };
+  };
+  kxmlgui = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kxmlgui-5.19.0.tar.xz";
+      sha256 = "1al2xifiyvl3zpva9nqap8gb6vqfgmf2fnhkmymm02rwg4yn4gah";
+      name = "kxmlgui-5.19.0.tar.xz";
+    };
+  };
+  kxmlrpcclient = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/kxmlrpcclient-5.19.0.tar.xz";
+      sha256 = "0lji7cxvh2lmjz42lx6ymz962gr4cyqfzksz0n5vgzfk5z0vq98g";
+      name = "kxmlrpcclient-5.19.0.tar.xz";
+    };
+  };
+  modemmanager-qt = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/modemmanager-qt-5.19.0.tar.xz";
+      sha256 = "05x9jicryjw9fj02arpya8xsh79rsnljnqjfpwbb7pi38f9i8v4w";
+      name = "modemmanager-qt-5.19.0.tar.xz";
+    };
+  };
+  networkmanager-qt = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/networkmanager-qt-5.19.0.tar.xz";
+      sha256 = "0wi0mkygzbvvyil1nyzc3ihgilvpx6j7caqaa9k38p85g93vsq13";
+      name = "networkmanager-qt-5.19.0.tar.xz";
+    };
+  };
+  oxygen-icons5 = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/oxygen-icons5-5.19.0.tar.xz";
+      sha256 = "09vfwcyidj3bl0qr4sq78bkc69zp9x8dwp8bsay5y05q8591dkg0";
+      name = "oxygen-icons5-5.19.0.tar.xz";
+    };
+  };
+  plasma-framework = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/plasma-framework-5.19.0.tar.xz";
+      sha256 = "1588r1jag0s9hhw4qq7mr2mcdd3d9az5ngb3z1l58xdhvfcc4497";
+      name = "plasma-framework-5.19.0.tar.xz";
+    };
+  };
+  solid = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/solid-5.19.0.tar.xz";
+      sha256 = "02bnvhscb55r6q5hkyh7rqi6zsc3r974y3x9shi8l0xbs78snkgz";
+      name = "solid-5.19.0.tar.xz";
+    };
+  };
+  sonnet = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/sonnet-5.19.0.tar.xz";
+      sha256 = "02ringh0wyiq1n19c200bcyf5x2w5jhw0pcxvfjzjai1sjig03x7";
+      name = "sonnet-5.19.0.tar.xz";
+    };
+  };
+  threadweaver = {
+    version = "5.19.0";
+    src = fetchurl {
+      url = "${mirror}/stable/frameworks/5.19/threadweaver-5.19.0.tar.xz";
+      sha256 = "1jm1sw7xq76s2ggghm6qqdn7452myy9n7p5zzdb01qbaw2y1x4pw";
+      name = "threadweaver-5.19.0.tar.xz";
+    };
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix b/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix
new file mode 100644
index 00000000000..52817921cc7
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix
@@ -0,0 +1,11 @@
+{ kdeFramework, lib
+, extra-cmake-modules
+}:
+
+kdeFramework {
+  name = "threadweaver";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index bc88d8dc12c..541f70cabb8 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
-let name = "libbsd-0.7.0";
+let name = "libbsd-0.8.2";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1fqhbi0vd6xjxazf633x388cc8qyn58l78704s0h6k63wlbhwfqg";
+    sha256 = "02i5brb2007sxq3mn862mr7yxxm0g6nj172417hjyvjax7549xmj";
   };
 
   patchPhase = ''
@@ -15,7 +15,7 @@ in stdenv.mkDerivation {
       --replace "{exec_prefix}" "{prefix}"
   '';
 
-  meta = { 
+  meta = {
     description = "Common functions found on BSD systems";
     homepage = http://libbsd.freedesktop.org/;
     license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/libconfig/default.nix b/pkgs/development/libraries/libconfig/default.nix
index d6c238ff179..ff9cd25293a 100644
--- a/pkgs/development/libraries/libconfig/default.nix
+++ b/pkgs/development/libraries/libconfig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libconfig-${version}";
-  version = "1.4.9";
+  version = "1.5";
 
   src = fetchurl {
     url = "http://www.hyperrealm.com/libconfig/${name}.tar.gz";
-    sha256 = "0h9h8xjd36lky2r8jyc6hw085xwpslf0x6wyjvi960g6aa99gj09";
+    sha256 = "e31daa390d8e4461c8830512fe2e13ba1a3d6a02a2305a02429eec61e68703f6";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libcrossguid/default.nix b/pkgs/development/libraries/libcrossguid/default.nix
new file mode 100644
index 00000000000..cf142ac68c4
--- /dev/null
+++ b/pkgs/development/libraries/libcrossguid/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, libuuid }:
+
+stdenv.mkDerivation rec {
+  name = "lib" + pname + "-" + version;
+  pname = "crossguid";
+  version = "2016-02-21";
+
+  src = fetchFromGitHub {
+    owner = "graeme-hill";
+    repo = pname;
+    rev = "8f399e8bd4252be9952f3dfa8199924cc8487ca4";
+    sha256 = "1i29y207qqddvaxbn39pk2fbh3gx8zvdprfp35wasj9rw2wjk3s9";
+  };
+
+  buildInputs = [ libuuid ];
+
+  buildPhase = ''
+    g++ -c guid.cpp -o guid.o $CXXFLAGS -std=c++11 -DGUID_LIBUUID
+    ar rvs libcrossguid.a guid.o
+  '';
+  installPhase = ''
+    mkdir -p $out/{lib,include}
+    install -D -m644 libcrossguid.a "$out/lib/libcrossguid.a"
+    install -D -m644 guid.h "$out/include/guid.h"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Lightweight cross platform C++ GUID/UUID library";
+    license = licenses.mit;
+    maintainers = with maintainers; [ edwtjo ];
+    homepage = https://github.com/graeme-hill/crossguid;
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libdap/default.nix b/pkgs/development/libraries/libdap/default.nix
new file mode 100644
index 00000000000..2e76c510bdd
--- /dev/null
+++ b/pkgs/development/libraries/libdap/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, bison, libuuid, curl, libxml2, flex }:
+
+stdenv.mkDerivation rec {
+  version = "3.15.1";
+  name = "libdap-${version}";
+
+  buildInputs = [ bison libuuid curl libxml2 flex ];
+
+  src = fetchurl {
+    url = "http://www.opendap.org/pub/source/${name}.tar.gz";
+    sha256 = "6ee13cc69ae0b5e7552ddfd17013ebb385859bba66f42a2cfba3b3be7aa4ef0f";
+  };
+
+  meta = { 
+    description = "A C++ SDK which contains an implementation of DAP";
+    homepage = http://www.opendap.org/download/libdap;
+    license = stdenv.lib.licenses.lgpl2;
+    maintainers = [ stdenv.lib.maintainers.bzizou ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index 818177ff49d..3bdcfeda6a5 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.3.1";
+  name = "libebml-1.3.3";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
-    sha256 = "15a2d15rq0x9lp7rfsv0jxaw5c139xs7s5dwr5bmd9dc3arr8n0r";
+    sha256 = "16alhwd1yz5bv3765xfn5azwk37805lg1f61195gjq8rlkd49yrm";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index a75fada7484..6aaadb0b02e 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libexttextcat-3.3.1";
+  name = "libexttextcat-3.4.1";
 
   src = fetchurl {
     url = "http://dev-www.libreoffice.org/src/libexttextcat/${name}.tar.xz";
-    sha256 = "1a7ablpipfbiyhl6wsraj5z8pj3qkqgnrms73wzsqhpbyww334h4";
+    sha256 = "0g1spzpsfbv3y8k9m1v53imz18437q93iq101hind7m4x00j6wpl";
   };
 
-  patches = [ ./memory-leaks.patch ];
-
   meta = {
     description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
     homepage = http://www.freedesktop.org/wiki/Software/libexttextcat;
diff --git a/pkgs/development/libraries/libexttextcat/memory-leaks.patch b/pkgs/development/libraries/libexttextcat/memory-leaks.patch
deleted file mode 100644
index 0be4ffdc93a..00000000000
--- a/pkgs/development/libraries/libexttextcat/memory-leaks.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Combined upstream commits 980592386f23db8b0dc84c434805cb167d0cc091 and
-5ef4ad86ec934282cba891922ec2d13784da3354.
-diff -u b/src/textcat.c b/src/textcat.c
---- b/src/textcat.c
-+++ b/src/textcat.c
-@@ -212,8 +212,6 @@
-                                 sizeof(char) * (tmp_size + 1));
-             if (tmp == NULL)
-             {
--                free(finger_print_file_name);
--                finger_print_file_name_size = 0;
-                 goto BAILOUT;
-             }
-             else
-@@ -226,10 +224,7 @@
-         strcat(finger_print_file_name, segment[0]);
- 
-         if (fp_Read(h->fprint[h->size], finger_print_file_name, 400) == 0)
--        {
--            textcat_Done(h);
-             goto BAILOUT;
--        }
-         h->fprint_disable[h->size] = 0xF0;  /* 0xF0 is the code for enabled
-                                                languages, 0x0F is for disabled 
-                                              */
-@@ -242,9 +237,10 @@
-     return h;
- 
-   BAILOUT:
-+    free(finger_print_file_name);
-     fclose(fp);
-+    textcat_Done(h);
-     return NULL;
--
- }
- 
- extern candidate_t *textcat_GetClassifyFullOutput(void *handle)
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
new file mode 100644
index 00000000000..d8e1c29875c
--- /dev/null
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libfilezilla-${version}";
+  version = "0.4.0.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/filezilla/libfilezilla/${version}/${name}.tar.bz2";
+    sha256 = "1ldiyhjv4jg2jyj3d56mlgyj9lx0qkf1857wvsy51lp9aj96h0v0";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://lib.filezilla-project.org/;
+    description = "A modern C++ library, offering some basic functionality to build high-performing, platform-independent programs";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ pSub ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index e03ed24e8fc..f36113090ce 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -3,11 +3,11 @@
 assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.6.4";
+  name = "libgcrypt-1.6.5";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "09k06gs27gxfha07sa9rpf4xh6mvphj9sky7n09ymx75w9zjrg69";
+    sha256 = "0959mwfzsxhallxdqlw359xg180ll2skxwyy35qawmfl89cbr7pl";
   };
 
   outputs = [ "dev" "out" "info" ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index ce5614a46ff..4db3913bdd2 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, libevdev, mtdev, udev
+, libevdev, mtdev, udev, libwacom
 , documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation
 , eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support
 , testsSupport ? false, check ? null, valgrind ? null
@@ -15,11 +15,11 @@ in
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libinput-1.1.6";
+  name = "libinput-1.2.0";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "0qqw988ippn8mihw9hy2ifzc77zdyhn5chzilp7pa9wlqh15wvzj";
+    sha256 = "0b3f67xsy1s84cvzw22mjfkbcv6pj4p4yns4h3m0fmb7zqbvjm0p";
   };
 
   configureFlags = [
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libevdev mtdev udev ]
+  buildInputs = [ libevdev mtdev udev libwacom ]
     ++ optionals eventGUISupport [ cairo glib gtk3 ]
     ++ optionals documentationSupport [ doxygen graphviz ]
     ++ optionals testsSupport [ check valgrind ];
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index b4032f3c22d..134f6b1bf27 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -1,17 +1,16 @@
-{ stdenv, fetchurl, libebml }:
+{ stdenv, fetchurl, pkgconfig, libebml }:
 
 stdenv.mkDerivation rec {
-  name = "libmatroska-1.4.1";
+  name = "libmatroska-1.4.4";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2";
-    sha256 = "1dzglkl0hpimld1kahkrrp857hw5pg1r7xxbpnx7jmlj7s3j2vq8";
+    sha256 = "1mvb54q3gag9dj0pkwci8w75gp6mm14gi85y0ld3ar1rdngsmvyk";
   };
 
-  configurePhase = "cd make/linux";
-  makeFlags = "prefix=$(out) LIBEBML_INCLUDE_DIR=${libebml}/include LIBEBML_LIB_DIR=${libebml}/lib"
-    + stdenv.lib.optionalString stdenv.isDarwin " CXX=clang++";
-  propagatedBuildInputs = [ libebml ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libebml ];
 
   meta = with stdenv.lib; {
     description = "A library to parse Matroska files";
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 19d0b84f69e..2bc18a5a61d 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.81";
+  version = "0.7.82";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "0hzfrg7n7wlnwq28hmpxczis1k8x73wbwlsmfkshvqcwi7lva0cs";
+    sha256 = "1mqmk1q2phwqwrak54jc9hfwjllhhr4nqyigisrh9rcvd6wx6r86";
   };
 
   buildInputs = [ automake autoconf libtool pkgconfig libzen zlib ];
diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix
new file mode 100644
index 00000000000..217ce20c6cf
--- /dev/null
+++ b/pkgs/development/libraries/libminc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, cmake, zlib, netcdf, hdf5 }:
+
+stdenv.mkDerivation rec {
+  _name = "libminc";
+  name  = "${_name}-2.3.00";
+
+  src = fetchurl {
+    url = "https://github.com/BIC-MNI/${_name}/archive/${_name}-2-3-00.tar.gz";
+    sha256 = "04ngqx4wkssxs9qqcgq2bvfs1cldcycmpcx587wy3b3m6lwf004c";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ zlib netcdf hdf5 ];
+
+  cmakeFlags = [ "-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
+                 "-DLIBMINC_MINC1_SUPPORT=ON" ];
+
+  checkPhase = "ctest";
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/BIC-MNI/libminc;
+    description = "Medical imaging library based on HDF5";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 535c5cfeb65..231216cbc69 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -3,22 +3,22 @@
 
 let
 
-  listVersion = "2016-02-09";
+  listVersion = "2016-02-25";
   listSources = fetchFromGitHub {
-    sha256 = "17jxkwdd2l6aycg2q5img8gad3pb9k6fgikf87dybl3ydn0bpdja";
-    rev = "73668f743df8125477d38690807e3a9a1e1e9f19";
+    sha256 = "0i9aa0bl3x50z0ba4n06pajpfncw8n780hhql13b1vppgfc6s4i7";
+    rev = "84fd7e2a090f53ba4378f2a0e08cdaaa882ce3e5";
     repo = "list";
     owner = "publicsuffix";
   };
 
-  libVersion = "0.12.0";
+  libVersion = "0.13.0";
 
 in stdenv.mkDerivation rec {
   name = "libpsl-${version}";
   version = "${libVersion}-list-${listVersion}";
 
   src = fetchFromGitHub {
-    sha256 = "13w3lc752az2swymg408f3w2lbqs0f2h5ri6d5jw1vv9z0ij9xlw";
+    sha256 = "12inl984r2qks51wyrzgll83y7k79q2lbhyc545dpk19qnfvp7gz";
     rev = "libpsl-${libVersion}";
     repo = "libpsl";
     owner = "rockdaboot";
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index 17226ef17c4..243b4b9420a 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl}:
 stdenv.mkDerivation rec {
-  version = "0.4.14";
+  version = "0.4.15";
   name = "libre-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "0ylv7v77jsny0a5wfc8i6dxsp8bjlmlz2gcyyv7x49c76pk0gdcy";
+    sha256 = "0yvjc3hvjk29irdii2h1hpq4cg9l1c71jfvglz67y1pc89z63yax";
   };
   buildInputs = [zlib openssl];
   makeFlags = [
diff --git a/pkgs/development/libraries/librevenge/default.nix b/pkgs/development/libraries/librevenge/default.nix
index dc7634c958c..ac5feb1ddc8 100644
--- a/pkgs/development/libraries/librevenge/default.nix
+++ b/pkgs/development/libraries/librevenge/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="librevenge";
-    version="0.0.3";
+    version="0.0.4";
     name="${baseName}-${version}";
-    hash="1r0n5q7rw32h5fhnxfl7f4pwvprn9agpf117nhn71jrjqx57irvw";
-    url="mirror://sourceforge/project/libwpd/librevenge/librevenge-0.0.3/librevenge-0.0.3.tar.xz";
-    sha256="1r0n5q7rw32h5fhnxfl7f4pwvprn9agpf117nhn71jrjqx57irvw";
+    hash="1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk";
+    url="mirror://sourceforge/project/libwpd/librevenge/librevenge-0.0.4/librevenge-0.0.4.tar.xz";
+    sha256="1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index 42450275ad5..a69dff20799 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-1.0.6";
+  name = "libsodium-1.0.8";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0ngvcjwg6m9nivzi208yvz8yvmk6kxnvyr25w907kaicgpm063cl";
+    sha256 = "09hr604k9gdss2r321x5dv3wn11fdl87nswr18g68lkqab993wf0";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/libsoundio/default.nix b/pkgs/development/libraries/libsoundio/default.nix
index 9f9f89ec812..a35ab14e253 100644
--- a/pkgs/development/libraries/libsoundio/default.nix
+++ b/pkgs/development/libraries/libsoundio/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, alsaLib, libjack2-git, libpulseaudio }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.3";
+  version = "1.1.0";
   name = "libsoundio-${version}";
 
   src = fetchFromGitHub {
     owner = "andrewrk";
     repo = "libsoundio";
     rev = "${version}";
-    sha256 = "0xnv0rsan57i07ky823jczylbcpbzjk6j06fw9x0md65arcgcqfy";
+    sha256 = "0mw197l4bci1cjc2z877gxwsvk8r43dr7qiwci2hwl2cjlcnqr2p";
   };
 
   buildInputs = [ cmake alsaLib libjack2-git libpulseaudio ];
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index e33d0c89b7d..adfd11d9b19 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, cmake, zlib, openssl, libsodium }:
 
 stdenv.mkDerivation rec {
-  name = "libssh-0.7.2";
+  name = "libssh-0.7.3";
 
   src = fetchurl {
-    url = "https://red.libssh.org/attachments/download/177/${name}.tar.xz";
-    sha256 = "0qmfxgx88dbzcbyvh40gddn0fcg9adyyskg8pnsclha1cywlab53";
+    url = "https://red.libssh.org/attachments/download/195/${name}.tar.xz";
+    sha256 = "165g49i4kmm3bfsjm0n8hm21kadv79g9yjqyq09138jxanz4dvr6";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 26a4e1d504a..855e57c0550 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurlBoot, openssl, zlib, windows}:
 
 stdenv.mkDerivation rec {
-  name = "libssh2-1.6.0";
+  name = "libssh2-1.7.0";
 
   src = fetchurlBoot {
     url = "${meta.homepage}/download/${name}.tar.gz";
-    sha256 = "05c2is69c50lyikkh29nk6zhghjk4i7hjx0zqfhq47aald1jj82s";
+    sha256 = "116mh112w48vv9k3f15ggp5kxw5sj4b88dzb5j69llsh7ba1ymp4";
   };
 
   outputs = [ "dev" "out" "docdev" ];
diff --git a/pkgs/development/libraries/libtoxcore/new-api/default.nix b/pkgs/development/libraries/libtoxcore/new-api/default.nix
index 70363b83025..1ccb1b9d5a3 100644
--- a/pkgs/development/libraries/libtoxcore/new-api/default.nix
+++ b/pkgs/development/libraries/libtoxcore/new-api/default.nix
@@ -2,13 +2,13 @@
 , libvpx, check, libconfig, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "tox-core-dev-20160105";
+  name = "tox-core-dev-20160131";
 
   src = fetchFromGitHub {
     owner  = "irungentoo";
     repo   = "toxcore";
-    rev    = "b9ef24875ce1d9bf5f04f0164ae95f729330a295";
-    sha256 = "0hxwp4nk5an3a2pmha6x2729mxm57j52vnrsq47gir31c0hk6x2x";
+    rev    = "94cc8b11ff473064526737936f64b6f9a19c239d";
+    sha256 = "0njara08p5vmhs6kp04b7gxw8l6xrlmwnlb76n2g96v0rn0i9k2w";
   };
 
   NIX_LDFLAGS = "-lgcc_s";
@@ -52,4 +52,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 3b4c6235686..9e22aa1d37c 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -24,8 +24,7 @@ stdenv.mkDerivation rec {
     "--enable-glx"
   ];
 
-  installFlags = lib.optional (!minimal) "dummy_drv_video_ladir=$(out)/lib/dri";
-  postInstall = "";
+  installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
 
   meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/vaapi;
diff --git a/pkgs/development/libraries/libvdpau-va-gl/default.nix b/pkgs/development/libraries/libvdpau-va-gl/default.nix
index 51fb858d8be..0cbac567a45 100644
--- a/pkgs/development/libraries/libvdpau-va-gl/default.nix
+++ b/pkgs/development/libraries/libvdpau-va-gl/default.nix
@@ -1,21 +1,19 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, libX11, libpthreadstubs, libvdpau, glib
-, libva, ffmpeg, mesa_glu }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, libX11, libpthreadstubs, libXau, libXdmcp
+, libXext, libvdpau, glib, libva, ffmpeg, mesa_glu }:
 
-let
-  version = "0.3.4";
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "libvdpau-va-gl-${version}";
+  version = "0.3.6";
 
   src = fetchFromGitHub {
     owner = "i-rinat";
     repo = "libvdpau-va-gl";
     rev = "v${version}";
-    sha256 = "1909f3srm2iy2hv4m6jxg1nxrh9xgsnjs07wfzw3ais1fww0i2nn";
+    sha256 = "06lcg6zfj6mn17svz7s0y6ijdah55l9rnp9r440lcbixivjbgyn5";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ libX11 libpthreadstubs libvdpau glib libva ffmpeg mesa_glu ];
+  buildInputs = [ libX11 libpthreadstubs libXau libXdmcp libXext libvdpau glib libva ffmpeg mesa_glu ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/i-rinat/libvdpau-va-gl;
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index da0773335a4..3337a89dd1c 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ xorg.libX11 ];
 
-  configureFlags = [ "--with-module-dir=${mesa_noglu.driverLink}/lib/vdpau" ];
+  configureFlags = stdenv.lib.optional stdenv.isLinux
+    "--with-module-dir=${mesa_noglu.driverLink}/lib/vdpau";
 
   installFlags = [ "moduledir=$(out)/lib/vdpau" ];
 
diff --git a/pkgs/development/libraries/libxmp/default.nix b/pkgs/development/libraries/libxmp/default.nix
index 4bc9e8ed1c4..8aa8bf600a8 100644
--- a/pkgs/development/libraries/libxmp/default.nix
+++ b/pkgs/development/libraries/libxmp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libxmp-4.3.8";
+  name = "libxmp-4.3.11";
 
   meta = with stdenv.lib; {
     description = "Extended module player library";
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/xmp/libxmp/${name}.tar.gz";
-    sha256 = "0h06091hlpgc6ds4pjmfq8sx4snw7av3nhny180q4pwfyasjb6ny";
+    sha256 = "0r9qhps2a8nc850bislkgjzlamwl671r1sag1mi8k1a9gxq4n9kx";
   };
 }
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 2784093d50a..0eda42879ec 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, findXMLCatalogs }:
+{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs }:
 
 stdenv.mkDerivation rec {
   name = "libxslt-1.1.28";
@@ -8,14 +8,21 @@ stdenv.mkDerivation rec {
     sha256 = "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz";
   };
 
+  patches = stdenv.lib.optional stdenv.isSunOS ./patch-ah.patch
+    ++ [
+      (fetchpatch {
+        name = "CVE-2015-7995.patch";
+        url = "http://git.gnome.org/browse/libxslt/patch/?id=7ca19df892ca22";
+        sha256 = "1xzg0q94dzbih9nvqp7g9ihz0a3qb0w23l1158m360z9smbi8zbd";
+      })
+    ];
+
   outputs = [ "dev" "out" "bin" "doc" ];
 
   buildInputs = [ libxml2 ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
 
-  patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ];
-
   configureFlags = [
     "--without-python"
     "--without-crypto"
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index f61f2723752..de4d295ebe3 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -2,14 +2,14 @@
 
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 let
-  version = "2015.10.12";
+  version = "2016.02.09";
 in
 stdenv.mkDerivation {
   name = "live555-${version}";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     url = "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz";
-    sha256 = "05qwws4hda4x3l4ym22k55cc9j07w7g5vj3r18dancgf0fla40j4";
+    sha256 = "02z2f8z5cy0ajnh9pgar40lsxdknfw5cbyw52138hxnpr6adrvak";
   };
 
   postPatch = "sed 's,/bin/rm,rm,g' -i genMakefiles";
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 7c7b82d9eef..ef0caed69d7 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mbedtls-1.3.14";
+  name = "mbedtls-1.3.16";
 
   src = fetchurl {
     url = "https://polarssl.org/download/${name}-gpl.tgz";
-    sha256 = "1y3gr3kfai3d13j08r4pv42sh47nbfm4nqi9jq8c9d06qidr2xmy";
+    sha256 = "f413146c177c52d4ad8f48015e2fb21dd3a029ca30a2ea000cbc4f9bd092c933";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 00771f1f727..523d4360bc4 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -86,12 +86,16 @@ stdenv.mkDerivation {
     # TODO: Figure out how to enable opencl without having a runtime dependency on clang
     "--disable-opencl"
 
-    "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast"
+    (if "armv7l-linux" == stdenv.system
+      then null
+      else "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast")
     "--enable-shared-glapi"
     "--enable-sysfs"
     "--enable-driglx-direct" # seems enabled anyway
     "--enable-glx-tls"
-    "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast"
+    (if "armv7l-linux" == stdenv.system
+      then "--with-dri-drivers="
+      else "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast")
     "--with-egl-platforms=x11,wayland,drm"
 
     "--enable-gallium-llvm"
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
new file mode 100644
index 00000000000..f801e25d91f
--- /dev/null
+++ b/pkgs/development/libraries/nco/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl }:
+
+stdenv.mkDerivation rec {
+  version = "4.5.5";
+  name = "nco-${version}";
+
+  buildInputs = [ netcdf netcdfcxx4 gsl udunits antlr which curl ];
+
+  src = fetchurl {
+    url = "https://github.com/nco/nco/archive/${version}.tar.gz";
+    sha256 = "bc6f5b976fdfbdec51f2ebefa158fa54672442c2fd5f042ba884f9f32c2ad666";
+  };
+
+  meta = { 
+    description = "NetCDF Operator toolkit";
+    longDescription = "The NCO (netCDF Operator) toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5";
+    homepage = http://nco.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.bzizou ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 5cd5f0cb629..01248e3e27a 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -34,12 +34,12 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${prefix}nghttp2-${version}";
-  version = "1.3.4";
+  version = "1.7.1";
 
   # Don't use fetchFromGitHub since this needs a bootstrap curl
   src = fetchurl {
-    url = "http://pub.wak.io/nixos/tarballs/nghttp2-${version}.tar.bz2";
-    sha256 = "63c1d70e50f0c8514e261be88b66720df095269791aa008d76c09e0c3a4c085f";
+    url = "http://http.debian.net/debian/pool/main/n/nghttp2/nghttp2_${version}.orig.tar.bz2";
+    sha256 = "0nbrww5gyjn4il33wz5b4sql5nifi12y2jbkmfbvxwlxlywm48kf";
   };
 
   # Configure script searches for a symbol which does not exist in jemalloc on Darwin
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 89dc32b61f2..4a466ad133a 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, cmake
-, alsaSupport ? true, alsaLib ? null
-, pulseSupport ? true, libpulseaudio ? null
+, alsaSupport ? !stdenv.isDarwin, alsaLib ? null
+, pulseSupport ? !stdenv.isDarwin, libpulseaudio ? null
+, CoreServices, AudioUnit, AudioToolbox
 }:
 
 with stdenv.lib;
@@ -9,17 +10,18 @@ assert alsaSupport -> alsaLib != null;
 assert pulseSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "1.16.0";
+  version = "1.17.2";
   name = "openal-soft-${version}";
 
   src = fetchurl {
     url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
-    sha256 = "0pqdykdclycfnk66v166srjrry936y39d1dz9wl92qz27wqwsg9g";
+    sha256 = "051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3";
   };
 
   buildInputs = [ cmake ]
     ++ optional alsaSupport alsaLib
-    ++ optional pulseSupport libpulseaudio;
+    ++ optional pulseSupport libpulseaudio
+    ++ optional stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
   NIX_LDFLAGS = []
     ++ optional alsaSupport "-lasound"
@@ -30,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://kcat.strangesoft.net/openal.html;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ftrvxmtrx];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/openssl/1.0.2.x.nix b/pkgs/development/libraries/openssl/1.0.2.x.nix
deleted file mode 100644
index c94033d0fef..00000000000
--- a/pkgs/development/libraries/openssl/1.0.2.x.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ stdenv, fetchurl, perl
-, withCryptodev ? false, cryptodevHeaders }:
-
-with stdenv.lib;
-let
-  opensslCrossSystem = attrByPath [ "openssl" "system" ]
-    (throw "openssl needs its platform name cross building" null)
-    stdenv.cross;
-in
-stdenv.mkDerivation rec {
-  name = "openssl-1.0.2f";
-
-  src = fetchurl {
-    urls = [
-      "http://www.openssl.org/source/${name}.tar.gz"
-      "http://openssl.linux-mirror.org/source/${name}.tar.gz"
-    ];
-    sha256 = "932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c";
-  };
-
-  patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch;
-
-  nativeBuildInputs = [ perl ];
-  buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
-
-  # On x86_64-darwin, "./config" misdetects the system as
-  # "darwin-i386-cc".  So specify the system type explicitly.
-  configureScript =
-    if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
-    else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
-    else "./config";
-
-  configureFlags = [
-    "shared"
-    "--libdir=lib"
-    "--openssldir=etc/ssl"
-  ] ++ stdenv.lib.optionals withCryptodev [
-    "-DHAVE_CRYPTODEV"
-    "-DUSE_CRYPTODEV_DIGESTS"
-  ];
-
-  makeFlags = [
-    "MANDIR=$(out)/share/man"
-  ];
-
-  # Parallel building is broken in OpenSSL.
-  enableParallelBuilding = false;
-
-  postInstall = ''
-    # If we're building dynamic libraries, then don't install static
-    # libraries.
-    if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
-        rm "$out/lib/"*.a
-    fi
-
-    # remove dependency on Perl at runtime
-    rm -r $out/etc/ssl/misc $out/bin/c_rehash
-  '';
-
-  postFixup = ''
-    # Check to make sure we don't depend on perl
-    if grep -r '${perl}' $out; then
-      echo "Found an erroneous dependency on perl ^^^" >&2
-      exit 1
-    fi
-  '';
-
-  crossAttrs = {
-    # upstream patch: https://rt.openssl.org/Ticket/Display.html?id=2558
-    postPatch = ''
-       sed -i -e 's/[$][(]CROSS_COMPILE[)]windres/$(WINDRES)/' Makefile.shared
-    '';
-    preConfigure=''
-      # It's configure does not like --build or --host
-      export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
-      # WINDRES and RANLIB need to be prefixed when cross compiling;
-      # the openssl configure script doesn't do that for us
-      export WINDRES=${stdenv.cross.config}-windres
-      export RANLIB=${stdenv.cross.config}-ranlib
-    '';
-    configureScript = "./Configure";
-  };
-
-  meta = {
-    homepage = http://www.openssl.org/;
-    description = "A cryptographic library that implements the SSL and TLS protocols";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    priority = 10; # resolves collision with ‘man-pages’
-  };
-}
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 86d94b58d23..5fa9556b3f1 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -2,58 +2,60 @@
 , withCryptodev ? false, cryptodevHeaders }:
 
 with stdenv.lib;
+
 let
-  opensslCrossSystem = attrByPath [ "openssl" "system" ]
-    (throw "openssl needs its platform name cross building" null)
-    stdenv.cross;
-in
-stdenv.mkDerivation rec {
-  name = "openssl-1.0.1r";
-
-  src = fetchurl {
-    urls = [
-      "http://www.openssl.org/source/${name}.tar.gz"
-      "http://openssl.linux-mirror.org/source/${name}.tar.gz"
-    ];
-    sha256 = "0iik7a3b0mrfrxzngdf7ywfscg9inbw77y0jp2ccw0gdap9xhjvq";
-  };
 
-  patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch
-    ++ optional (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")) ./darwin-arch.patch;
+  opensslCrossSystem = stdenv.cross.openssl.system or 
+    (throw "openssl needs its platform name cross building");
+
+  common = { version, sha256 }: stdenv.mkDerivation rec {
+    name = "openssl-${version}";
+
+    src = fetchurl {
+      url = "http://www.openssl.org/source/${name}.tar.gz";
+      inherit sha256;
+    };
+
+    patches =
+      [ ./use-etc-ssl-certs.patch ]
+      ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch
+      ++ optional
+           (versionOlder version "1.0.2" && (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")))
+           ./darwin-arch.patch;
 
   outputs = [ "dev" "out" "man" "bin" ];
   setOutputFlags = false;
 
-  nativeBuildInputs = [ perl ];
-  buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
-
-  # On x86_64-darwin, "./config" misdetects the system as
-  # "darwin-i386-cc".  So specify the system type explicitly.
-  configureScript =
-    if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
-    else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
-    else "./config";
-
-  configureFlags = [
-    "shared"
-    "--libdir=lib"
-    "--openssldir=etc/ssl"
-  ] ++ stdenv.lib.optionals withCryptodev [
-    "-DHAVE_CRYPTODEV"
-    "-DUSE_CRYPTODEV_DIGESTS"
-  ];
+    nativeBuildInputs = [ perl ];
+    buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
+
+    # On x86_64-darwin, "./config" misdetects the system as
+    # "darwin-i386-cc".  So specify the system type explicitly.
+    configureScript =
+      if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc"
+      else if stdenv.system == "x86_64-solaris" then "./Configure solaris64-x86_64-gcc"
+      else "./config";
+
+    configureFlags = [
+      "shared"
+      "--libdir=lib"
+      "--openssldir=etc/ssl"
+    ] ++ stdenv.lib.optionals withCryptodev [
+      "-DHAVE_CRYPTODEV"
+      "-DUSE_CRYPTODEV_DIGESTS"
+    ];
 
   makeFlags = [ "MANDIR=$(man)/share/man" ];
 
-  # Parallel building is broken in OpenSSL.
-  enableParallelBuilding = false;
+    # Parallel building is broken in OpenSSL.
+    enableParallelBuilding = false;
 
-  postInstall = ''
-    # If we're building dynamic libraries, then don't install static
-    # libraries.
-    if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
-        rm "$out/lib/"*.a
-    fi
+    postInstall = ''
+      # If we're building dynamic libraries, then don't install static
+      # libraries.
+      if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
+          rm "$out/lib/"*.a
+      fi
 
     mkdir -p $bin
     mv $out/bin $bin/
@@ -61,39 +63,55 @@ stdenv.mkDerivation rec {
     mkdir $dev
     mv $out/include $dev/
 
-    # remove dependency on Perl at runtime
+      # remove dependency on Perl at runtime
     rm -r $out/etc/ssl/misc
-  '';
 
-  postFixup = ''
-    # Check to make sure the main output doesn't depend on perl
-    if grep -r '${perl}' $out; then
-      echo "Found an erroneous dependency on perl ^^^" >&2
-      exit 1
-    fi
-  '';
-
-  crossAttrs = {
-    # upstream patch: https://rt.openssl.org/Ticket/Display.html?id=2558
-    postPatch = ''
-       sed -i -e 's/[$][(]CROSS_COMPILE[)]windres/$(WINDRES)/' Makefile.shared
+      rmdir $out/etc/ssl/{certs,private}
     '';
-    preConfigure=''
-      # It's configure does not like --build or --host
-      export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
-      # WINDRES and RANLIB need to be prefixed when cross compiling;
-      # the openssl configure script doesn't do that for us
-      export WINDRES=${stdenv.cross.config}-windres
-      export RANLIB=${stdenv.cross.config}-ranlib
+
+    postFixup = ''
+    # Check to make sure the main output doesn't depend on perl
+      if grep -r '${perl}' $out; then
+        echo "Found an erroneous dependency on perl ^^^" >&2
+        exit 1
+      fi
     '';
-    configureScript = "./Configure";
+
+    crossAttrs = {
+      # upstream patch: https://rt.openssl.org/Ticket/Display.html?id=2558
+      postPatch = ''
+         sed -i -e 's/[$][(]CROSS_COMPILE[)]windres/$(WINDRES)/' Makefile.shared
+      '';
+      preConfigure=''
+        # It's configure does not like --build or --host
+        export configureFlags="${concatStringsSep " " (configureFlags ++ [ opensslCrossSystem ])}"
+        # WINDRES and RANLIB need to be prefixed when cross compiling;
+        # the openssl configure script doesn't do that for us
+        export WINDRES=${stdenv.cross.config}-windres
+        export RANLIB=${stdenv.cross.config}-ranlib
+      '';
+      configureScript = "./Configure";
+    };
+
+    meta = {
+      homepage = http://www.openssl.org/;
+      description = "A cryptographic library that implements the SSL and TLS protocols";
+      platforms = stdenv.lib.platforms.all;
+      maintainers = [ stdenv.lib.maintainers.simons ];
+      priority = 10; # resolves collision with ‘man-pages’
+    };
   };
 
-  meta = {
-    homepage = http://www.openssl.org/;
-    description = "A cryptographic library that implements the SSL and TLS protocols";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.simons ];
-    priority = 10; # resolves collision with ‘man-pages’
+in {
+
+  openssl_1_0_1 = common {
+    version = "1.0.1r";
+    sha256 = "0iik7a3b0mrfrxzngdf7ywfscg9inbw77y0jp2ccw0gdap9xhjvq";
   };
+
+  openssl_1_0_2 = lowPrio (common {
+    version = "1.0.2f";
+    sha256 = "932b4ee4def2b434f85435d9e3e19ca8ba99ce9a065a61524b429a9d5e9b2e9c";
+  });
+
 }
diff --git a/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch b/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch
new file mode 100644
index 00000000000..813c6bdf44a
--- /dev/null
+++ b/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch
@@ -0,0 +1,13 @@
+diff -ru -x '*~' openssl-1.0.1r-orig/crypto/cryptlib.h openssl-1.0.1r/crypto/cryptlib.h
+--- openssl-1.0.1r-orig/crypto/cryptlib.h	2016-01-28 14:38:30.000000000 +0100
++++ openssl-1.0.1r/crypto/cryptlib.h	2016-02-03 12:54:29.193165176 +0100
+@@ -81,8 +81,8 @@
+ 
+ # ifndef OPENSSL_SYS_VMS
+ #  define X509_CERT_AREA          OPENSSLDIR
+ #  define X509_CERT_DIR           OPENSSLDIR "/certs"
+-#  define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
++#  define X509_CERT_FILE          "/etc/ssl/certs/ca-certificates.crt"
+ #  define X509_PRIVATE_DIR        OPENSSLDIR "/private"
+ # else
+ #  define X509_CERT_AREA          "SSLROOT:[000000]"
diff --git a/pkgs/development/libraries/pcre/cve-2015-3210.patch b/pkgs/development/libraries/pcre/cve-2015-3210.patch
deleted file mode 100644
index c97849fb70c..00000000000
--- a/pkgs/development/libraries/pcre/cve-2015-3210.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 68ff1beb43bb3d4d8838f3285c97023d1e50513a Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Fri, 15 May 2015 17:17:03 +0000
-Subject: [PATCH] Fix buffer overflow for named recursive back reference when
- the name is duplicated.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream commit ported to pcre-8.37:
-
-commit 4b79af6b4cbeb5326ae5e4d83f3e935e00286c19
-Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date:   Fri May 15 17:17:03 2015 +0000
-
-    Fix buffer overflow for named recursive back reference when the name is
-    duplicated.
-
-    git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1558 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-This fixes CVE-2015-3210.
-
-Signed-off-by: Petr Písař <ppisar@redhat.com>
----
- pcre_compile.c       | 16 ++++++++++++++--
- testdata/testinput2  |  2 ++
- testdata/testoutput2 |  2 ++
- 3 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 0efad26..6f06912 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7173,14 +7173,26 @@ for (;; ptr++)
-           number. If the name is not found, set the value to 0 for a forward
-           reference. */
- 
-+          recno = 0;
-           ng = cd->named_groups;
-           for (i = 0; i < cd->names_found; i++, ng++)
-             {
-             if (namelen == ng->length &&
-                 STRNCMP_UC_UC(name, ng->name, namelen) == 0)
--              break;
-+              {
-+              open_capitem *oc;
-+              recno = ng->number;
-+              if (is_recurse) break;
-+              for (oc = cd->open_caps; oc != NULL; oc = oc->next)         
-+                {          
-+                if (oc->number == recno)                                     
-+                  {               
-+                  oc->flag = TRUE;                                      
-+                  break;
-+                  }                                                         
-+                }                          
-+              }    
-             }
--          recno = (i < cd->names_found)? ng->number : 0;
- 
-           /* Count named back references. */
- 
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 58fe53b..83bb471 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4152,4 +4152,6 @@ backtracking verbs. --/
- 
- /((?2){73}(?2))((?1))/
- 
-+"(?J)(?'d'(?'d'\g{d}))"
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index b718df0..7dff52a 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14423,4 +14423,6 @@ Failed: lookbehind assertion is not fixed length at offset 17
- 
- /((?2){73}(?2))((?1))/
- 
-+"(?J)(?'d'(?'d'\g{d}))"
-+
- /-- End of testinput2 --/
--- 
-2.4.3
-
diff --git a/pkgs/development/libraries/pcre/cve-2015-5073.patch b/pkgs/development/libraries/pcre/cve-2015-5073.patch
deleted file mode 100644
index 16fd45c87b1..00000000000
--- a/pkgs/development/libraries/pcre/cve-2015-5073.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 354e1f8e921dcb9cf2f3a5eac93cd826d01a7d8a Mon Sep 17 00:00:00 2001
-From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Tue, 23 Jun 2015 16:34:53 +0000
-Subject: [PATCH] Fix buffer overflow for forward reference within backward
- assertion with excess closing parenthesis. Bugzilla 1651.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is upstream commit ported to 8.37:
-
-commit 764692f9aea9eab50fdba6cb537441d8b34c6c37
-Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date:   Tue Jun 23 16:34:53 2015 +0000
-
-    Fix buffer overflow for forward reference within backward assertion with excess
-    closing parenthesis. Bugzilla 1651.
-
-    git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1571 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-It fixes CVE-2015-5073.
-
-Signed-off-by: Petr Písař <ppisar@redhat.com>
----
- pcre_compile.c       | 2 +-
- testdata/testinput2  | 2 ++
- testdata/testoutput2 | 3 +++
- 3 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 6f06912..b66b1f6 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -9392,7 +9392,7 @@ OP_RECURSE that are not fixed length get a diagnosic with a useful offset. The
- exceptional ones forgo this. We scan the pattern to check that they are fixed
- length, and set their lengths. */
- 
--if (cd->check_lookbehind)
-+if (errorcode == 0 && cd->check_lookbehind)
-   {
-   pcre_uchar *cc = (pcre_uchar *)codestart;
- 
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 83bb471..5cc9ce6 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4154,4 +4154,6 @@ backtracking verbs. --/
- 
- "(?J)(?'d'(?'d'\g{d}))"
- 
-+/(?=di(?<=(?1))|(?=(.))))/
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 7dff52a..4decb8d 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14425,4 +14425,7 @@ Failed: lookbehind assertion is not fixed length at offset 17
- 
- "(?J)(?'d'(?'d'\g{d}))"
- 
-+/(?=di(?<=(?1))|(?=(.))))/
-+Failed: unmatched parentheses at offset 23
-+
- /-- End of testinput2 --/
--- 
-2.4.3
-
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 0056ac3ffac..b8cee186bb6 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -7,17 +7,15 @@ with stdenv.lib;
 assert elem variant [ null "cpp" "pcre16" "pcre32" ];
 
 stdenv.mkDerivation rec {
-  name = "pcre-8.37";
+  name = "pcre-8.38";
 
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "17bqykp604p7376wj3q2nmjdhrb6v1ny8q08zdwi7qvc02l9wrsi";
+    sha256 = "1pvra19ljkr5ky35y2iywjnsckrs9ch2anrf5b0dc91hw8v2vq5r";
   };
 
   patches =
-    [ ./cve-2015-3210.patch
-      ./cve-2015-5073.patch
-    ];
+    [ ];
 
   outputs = [ "dev" "out" "bin" "doc" "man" ];
 
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index 30cceb59c00..dc378711d36 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, pkgconfig, libpng, glib /*just passthru*/ }:
 
 stdenv.mkDerivation rec {
-  name = "pixman-0.32.8";
+  name = "pixman-0.34.0";
 
   src = fetchurl {
     url = "mirror://xorg/individual/lib/${name}.tar.bz2";
-    sha1 = "5c57045622265b877c9bf02d531973eadf942140";
+    sha256 = "184lazwdpv67zrlxxswpxrdap85wminh1gmq1i5lcz6iycw39fir";
   };
 
-  patches = stdenv.lib.optional stdenv.isDarwin ./fix-clang36.patch;
+  patches = [];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = stdenv.lib.optional doCheck libpng;
diff --git a/pkgs/development/libraries/pixman/fix-clang36.patch b/pkgs/development/libraries/pixman/fix-clang36.patch
deleted file mode 100644
index 7db3c7ecaba..00000000000
--- a/pkgs/development/libraries/pixman/fix-clang36.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/pixman/pixman-mmx.c	2014-04-24 08:34:14.000000000 +0400
-+++ b/pixman/pixman-mmx.c	2015-01-30 20:19:28.000000000 +0300
-@@ -89,7 +89,7 @@
-     return __A;
- }
- 
--#  ifdef __OPTIMIZE__
-+#  if defined(__OPTIMIZE__) && !(defined (__clang__) && defined(__clang_major__) && defined(__clang_minor__) && __clang_major__ == 3 && __clang_minor__ >= 6)
- extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
- _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
- {
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index 7c247dd6c1d..5f41eb61c29 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -5,7 +5,7 @@ args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, p
   ### NixOS - usage:
   ==================
 
-    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql94; }).v_2_1_4 ];
+    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql95; }).v_2_2_1 ];
 
 
   ### important Postgis implementation details:
@@ -84,9 +84,9 @@ let
 
 in rec {
 
-  v_2_1_4 = pgDerivationBaseNewer.merge ( fix : {
-    version = "2.1.4";
-    sha256 = "1z00n5654r7l38ydkn2grbwl5gg0mravjwxfdipp7j18hjiw4wyd";
+  v_2_2_1 = pgDerivationBaseNewer.merge ( fix : {
+    version = "2.2.1";
+    sha256 = "02gsi1cm63kf0r7881444lrkzdjqhhpz9a5zav3al0q24nq01r8g";
     sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
     builtInputs = [gdal json_c pkgconfig];
     dontDisableStatic = true;
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index 14f459cc6fe..bc9178f6367 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -8,11 +8,13 @@ stdenv.mkDerivation {
     sha256 = "15kpcmz3qjxfrs6vq48mgyvb4vxscmwgkzrdcn71a60wxp8rmgv0";
   };
 
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "Cartographic Projections Library";
     homepage = http://trac.osgeo.org/proj/;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix
index 110151227bd..c10771c9109 100644
--- a/pkgs/development/libraries/tk/8.6.nix
+++ b/pkgs/development/libraries/tk/8.6.nix
@@ -1,4 +1,4 @@
-{ callPackage, fetchurl, tcl, ... } @ args:
+{ callPackage, fetchurl, tcl, stdenv, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
 
@@ -7,7 +7,7 @@ callPackage ./generic.nix (args // rec {
     sha256 = "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88";
   };
 
-  patches = [ ./different-prefix-with-tcl.patch ];
+  patches = [ ./different-prefix-with-tcl.patch ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./Fix-bad-install_name-for-libtk8.6.dylib.patch ];
 
 })
 
diff --git a/pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch b/pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch
new file mode 100644
index 00000000000..528a75e1c91
--- /dev/null
+++ b/pkgs/development/libraries/tk/Fix-bad-install_name-for-libtk8.6.dylib.patch
@@ -0,0 +1,29 @@
+From f90278dac42135acd55200b7d2153f44d72fec53 Mon Sep 17 00:00:00 2001
+From: Josef Knedl <josef.kemetmueller@aon.at>
+Date: Wed, 24 Feb 2016 00:37:40 +0100
+Subject: [PATCH] Fix bad install_name for libtk8.6.dylib
+
+This follows: https://trac.macports.org/ticket/37395
+and https://trac.macports.org/changeset/100816
+Alternative would be to use Quartz build instead:
+https://sourceforge.net/p/tktoolkit/bugs/3048/
+---
+ unix/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unix/Makefile.in b/unix/Makefile.in
+index f21fdbb..1b89256 100644
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
+@@ -283,7 +283,7 @@ CC_SEARCH_FLAGS	= @CC_SEARCH_FLAGS@
+ LD_SEARCH_FLAGS	= @LD_SEARCH_FLAGS@
+ 
+ # support for embedded libraries on Darwin / Mac OS X
+-DYLIB_INSTALL_DIR	= ${LIB_RUNTIME_DIR}
++DYLIB_INSTALL_DIR	= $(libdir)
+ 
+ # support for building the Aqua resource file
+ TK_RSRC_FILE		= @TK_RSRC_FILE@
+-- 
+2.7.1
+
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index 76aec25a792..9089889f4dd 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "uriparser-0.8.2";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/uriparser/Sources/0.8.2/${name}.tar.bz2";
+    url = "mirror://sourceforge/project/uriparser/Sources/0.8.2/${name}.tar.bz2";
     sha256 = "13sh7slys3y5gfscc40g2r3hkjjywjvxlcqr77ifjrazc6q6cvkd";
   };
 
diff --git a/pkgs/development/libraries/vc/default.nix b/pkgs/development/libraries/vc/default.nix
index c96c2c47cb9..f73f35a2376 100644
--- a/pkgs/development/libraries/vc/default.nix
+++ b/pkgs/development/libraries/vc/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.0";
+  version = "1.2.0";
   name = "Vc-${version}";
 
   src = fetchFromGitHub {
     owner = "VcDevel";
     repo = "Vc";
     rev = version;
-    sha256 = "1i27zpwcpsfabvf1vpyx5rlzkkgqfd55c3c0jq5fghywyj6743j8";
+    sha256 = "0qlfvcxv3nmf5drz5bc9kynaljr513pbn7snwgvghm150skmkpfl";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/vcg/default.nix b/pkgs/development/libraries/vcg/default.nix
new file mode 100644
index 00000000000..59fadbbbc1f
--- /dev/null
+++ b/pkgs/development/libraries/vcg/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchsvn, eigen }:
+
+stdenv.mkDerivation rec {
+  name = "vcg-2016-02-14";
+
+  src = fetchsvn {
+    url = "svn://svn.code.sf.net/p/vcg/code/trunk/vcglib";
+    rev = 5688;
+    sha256 = "0hkvz2d8prrjdcc7h0xhfd9hq86lmqg17ml045x4bkiciimx0w5s";
+  };
+
+  propagatedBuildInputs = [ eigen ];
+
+  installPhase = ''
+    mkdir -p $out/include
+    cp -r vcg wrap $out/include
+    find $out -name \*.h -exec sed -i 's,<eigenlib/,<eigen3/,g' {} \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://vcg.isti.cnr.it/vcglib/install.html;
+    description = "C++ library for manipulation, processing and displaying with OpenGL of triangle and tetrahedral meshes";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/vmmlib/default.nix b/pkgs/development/libraries/vmmlib/default.nix
new file mode 100644
index 00000000000..3a7f8770e6c
--- /dev/null
+++ b/pkgs/development/libraries/vmmlib/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, blas }:
+
+stdenv.mkDerivation rec {
+  version = "1.6.2";
+  name = "vmmlib-${version}";
+  buildInputs = [ stdenv pkgconfig cmake boost blas ];
+
+  src = fetchFromGitHub {
+    owner = "VMML";
+    repo = "vmmlib";
+    rev = "release-${version}";
+    sha256 = "0sn6jl1r5k6ka0vkjsdnn14hb95dqq8158dapby6jk72wqj9kdml";
+  };
+
+  patches = [ 
+		./disable-cpack.patch   #disable the need of cpack/rpm
+	    ];
+  
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    description = "A vector and matrix math library implemented using C++ templates";
+
+    longDescription = ''vmmlib is a vector and matrix math library implemented 
+            using C++ templates. Its basic functionality includes a vector 
+            and a matrix class, with additional functionality for the 
+            often-used 3d and 4d vectors and 3x3 and 4x4 matrices.
+            More advanced functionality include solvers, frustum 
+            computations and frustum culling classes, and spatial data structures'';
+
+    license     = licenses.bsd2;
+    homepage    = http://github.com/VMML/vmmlib/;
+    maintainers = [ maintainers.adev ];
+    platforms   = platforms.all;
+  };  
+}
+
diff --git a/pkgs/development/libraries/vmmlib/disable-cpack.patch b/pkgs/development/libraries/vmmlib/disable-cpack.patch
new file mode 100644
index 00000000000..8b9a7983a92
--- /dev/null
+++ b/pkgs/development/libraries/vmmlib/disable-cpack.patch
@@ -0,0 +1,11 @@
+diff -ur a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt	1970-01-01 00:00:01.000000000 +0000
++++ b/CMakeLists.txt	2016-02-19 08:49:30.053759000 +0000
+@@ -178,6 +178,5 @@
+ install(FILES ${DOCS} DESTINATION share/vmmlib COMPONENT dev)
+ 
+ include(DoxygenRule) # must be after all targets
+-include(CPackConfig)
+ include(CTest)
+-include(PackageConfig)
++
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 3637bec63ce..a80beb1d847 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, python, ruby, bison, gperf, cmake
+{ stdenv, fetchurl, fetchpatch, perl, python, ruby, bison, gperf, cmake
 , pkgconfig, gettext, gobjectIntrospection, libnotify
 , gtk2, gtk3, wayland, libwebp, enchant
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     homepage = "http://webkitgtk.org/";
     license = licenses.bsd2;
     platforms = platforms.linux;
+    hydraPlatforms = [];
     maintainers = with maintainers; [ iyzsong koral ];
   };
 
@@ -28,7 +29,14 @@ stdenv.mkDerivation rec {
     sha256 = "0mghsbfnmmf6nsf7cb3ah76s77aigkzf3k6kw96wgh6all6jdy6v";
   };
 
-  patches = [ ./finding-harfbuzz-icu.patch ];
+  patches = [ ./finding-harfbuzz-icu.patch
+    (fetchpatch {
+      name = "glibc-isnan.patch";
+      url = "http://trac.webkit.org/changeset/194518/trunk/Source/JavaScriptCore"
+        + "/runtime/Options.cpp?format=diff&new=194518";
+      sha256 = "0pzdv1zmlym751n9d310cx3yp752yzsc49cysbvgnrib4dh68nbm";
+    })
+  ];
 
   cmakeFlags = [ "-DPORT=GTK" "-DUSE_LIBHYPHEN=0" ];
 
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 3a6f8873b84..31ac49a2ce4 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, fetchurl, autoconf, automake, libtool }:
+{ stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "wolfssl-${version}";
-  version = "3.7.0";
+  version = "3.8.0";
 
-  src = fetchurl {
-    url    = "https://github.com/wolfSSL/wolfssl/archive/v${version}.tar.gz";
-    sha256 = "1r1awivral4xjjvnna9lrfz2rh84rcbp04834rymbsz0kbyykgb6";
+  src = fetchFromGitHub {
+    owner = "wolfSSL";
+    repo = "wolfssl";
+    rev = "v${version}";
+    sha256 = "0vc2120a9gfxg3rv018ch1g84ia2cpplcqbpy8v6vpfb79rn1nf5";
   };
 
-  nativeBuildInputs = [ autoconf automake libtool ];
-
-  preConfigure = ''
-    ./autogen.sh
-  '';
+  nativeBuildInputs = [ autoreconfHook ];
 
   meta = with stdenv.lib; {
-    description = "A small, fast, portable implementation of TLS/SSL for embedded devices.";
+    description = "A small, fast, portable implementation of TLS/SSL for embedded devices";
     homepage    = "https://www.wolfssl.com/";
     platforms   = platforms.all;
     maintainers = with maintainers; [ mcmtroffaes ];
diff --git a/pkgs/development/libraries/xercesc/default.nix b/pkgs/development/libraries/xercesc/default.nix
index 1c1426d969e..5020ab3f2df 100644
--- a/pkgs/development/libraries/xercesc/default.nix
+++ b/pkgs/development/libraries/xercesc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xerces-c-${version}";
-  version = "3.1.1";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "mirror://apache/xerces/c/3/sources/${name}.tar.gz";
-    sha256 = "0dl7jr26vlh5p3hps86xrwyafq6f21schc9q4zyxb48b3vvqa9x4";
+    sha256 = "0jav1cbwcyq4miy790dd62yrypf7n0j98vdin9ny30f9nwyzgm7k";
   };
 
   meta = {