summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/SDL/default.nix61
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix50
-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/fontconfig-ultimate/confd.nix19
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-cache.nix27
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.xsl10
-rw-r--r--pkgs/development/libraries/freetype/default.nix29
-rw-r--r--pkgs/development/libraries/freetype/enable-validation.patch22
-rw-r--r--pkgs/development/libraries/freetype/fix-pcf.patch132
-rw-r--r--pkgs/development/libraries/gettext/absolute-paths.diff21
-rw-r--r--pkgs/development/libraries/gettext/default.nix4
-rw-r--r--pkgs/development/libraries/glibc/common.nix1
-rw-r--r--pkgs/development/libraries/glibc/cve-2015-7547.patch573
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix1
-rw-r--r--pkgs/development/libraries/hwloc/default.nix12
-rw-r--r--pkgs/development/libraries/ijs/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/attica.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/baloo.nix25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/bluez-qt.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/breeze-icons.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/default.nix112
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/0001-extra-cmake-modules-paths.patch74
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/default.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/setup-hook.sh27
-rwxr-xr-xpkgs/development/libraries/kde-frameworks-5.18/fetchsrcs.sh57
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/frameworkintegration.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kactivities.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kapidox.nix12
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/karchive.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kauth/default.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kauth/kauth-policy-install.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kbookmarks.nix25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kcmutils/0001-qdiriterator-follow-symlinks.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kcmutils/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kcodecs.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kcompletion.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kconfig.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kconfigwidgets/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kcoreaddons.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kcrash.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdbusaddons.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdeclarative.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kded.nix19
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdelibs4support.nix32
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdesignerplugin.nix34
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdesu.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdewebkit.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdnssd.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdoctools/default.nix20
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdoctools/kdoctools-no-find-docbook-xml.patch12
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kdoctools/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kemoticons.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kfilemetadata.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kglobalaccel.nix23
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kguiaddons.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/khtml.nix21
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/ki18n.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/default-theme-breeze.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/default.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kidletime.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kimageformats.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kinit/0001-kinit-libpath.patch42
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kinit/default.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kio/default.nix33
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kio/samba-search-path.patch28
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kio/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kitemmodels.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kitemviews.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kjobwidgets.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kjs.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kjsembed.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kmediaplayer.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/knewstuff.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/knotifications.nix21
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/knotifyconfig.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kpackage/allow-external-paths.patch13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kpackage/default.nix23
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kpackage/qdiriterator-follow-symlinks.patch26
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kpackage/series2
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kparts.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kpeople.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kplotting.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kpty.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kross.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/krunner.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kservice/0001-qdiriterator-follow-symlinks.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kservice/0002-no-canonicalize-path.patch25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kservice/default.nix19
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kservice/setup-hook.sh43
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/default.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/no-qcoreapplication.patch36
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/series1
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/ktextwidgets.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kunitconversion.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kwallet.nix21
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kwidgetsaddons.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kwindowsystem.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kxmlgui.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/kxmlrpcclient.nix10
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/modemmanager-qt.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/networkmanager-qt.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/oxygen-icons5.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/plasma-framework/default.nix25
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/solid.nix17
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/sonnet.nix13
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/srcs.nix565
-rw-r--r--pkgs/development/libraries/kde-frameworks-5.18/threadweaver.nix11
-rw-r--r--pkgs/development/libraries/libspectre/default.nix2
-rw-r--r--pkgs/development/libraries/libspectre/libspectre-0.2.7-gs918.patch42
-rw-r--r--pkgs/development/libraries/libva/default.nix21
-rw-r--r--pkgs/development/libraries/libvdpau-va-gl/default.nix27
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix7
-rw-r--r--pkgs/development/libraries/libxslt/default.nix13
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix6
-rw-r--r--pkgs/development/libraries/openssl/1.0.2.x.nix91
-rw-r--r--pkgs/development/libraries/openssl/default.nix178
-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/qpdf/default.nix5
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/default.nix10
-rw-r--r--pkgs/development/libraries/vcg/default.nix27
127 files changed, 1413 insertions, 2899 deletions
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 1c7d13471ff..7ca594e9bc4 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
@@ -60,34 +60,49 @@ stdenv.mkDerivation rec {
     "--without-x"
   ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib}/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";
+    })
+  ];
 
-  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/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/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/fontconfig-ultimate/confd.nix b/pkgs/development/libraries/fontconfig-ultimate/confd.nix
index e522cead822..160fef5f07e 100644
--- a/pkgs/development/libraries/fontconfig-ultimate/confd.nix
+++ b/pkgs/development/libraries/fontconfig-ultimate/confd.nix
@@ -1,13 +1,18 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub }:
 
+let version = "2015-12-06"; in
 stdenv.mkDerivation {
-  name = "fontconfig-ultimate-20141123";
-  src = fetchurl {
-    url = "https://github.com/bohoomil/fontconfig-ultimate/archive/2014-11-23.tar.gz";
-    sha256 = "0czfm3hxc41x5mscwrba7p1vhm2w62j1qg7z8kfdrf21z8fvgznw";
+  name = "fontconfig-ultimate-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "02a811szxkq4q088nxfpdzp6rv0brvgkdhwigk09qffygxd776g6";
+    rev = version;
+    repo = "fontconfig-ultimate";
+    owner = "bohoomil";
   };
 
   phases = "$prePhases unpackPhase installPhase $postPhases";
+
   installPhase = ''
     mkdir -p $out/etc/fonts/conf.d
     cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
@@ -22,8 +27,8 @@ stdenv.mkDerivation {
     rm $out/etc/fonts/conf.d/83-*.conf
 
     # Inclusion of local and user configs handled by global configuration
-    rm $out/etc/fonts/conf.d/97-local.conf
-    rm $out/etc/fonts/conf.d/98-user.conf
+    rm $out/etc/fonts/conf.d/29-local.conf
+    rm $out/etc/fonts/conf.d/28-user.conf
 
     cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
 
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
new file mode 100644
index 00000000000..1321948c3c8
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
@@ -0,0 +1,27 @@
+{ runCommand, lib, writeText, fontconfig, fontbhttf, fontDirectories }:
+
+runCommand "fc-cache"
+  rec {
+    buildInputs = [ fontconfig ];
+    passAsFile = [ "fontDirs" ];
+    fontDirs = ''
+      <!-- Font directories -->
+      ${lib.concatStringsSep "\n" (map (font: "<dir>${font}</dir>") fontDirectories)}
+    '';
+  }
+  ''
+    export FONTCONFIG_FILE=$(pwd)/fonts.conf
+
+    cat > fonts.conf << EOF
+    <?xml version='1.0'?>
+    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+    <fontconfig>
+      <include>${fontconfig}/etc/fonts/fonts.conf</include>
+      <cachedir>$out</cachedir>
+    EOF
+    cat "$fontDirsPath" >> fonts.conf
+    echo "</fontconfig>" >> fonts.conf
+
+    mkdir -p $out
+    fc-cache -sv
+  ''
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
index 1b79834c894..b59fcd0187b 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
@@ -23,16 +23,16 @@
     <fontconfig>
       <xsl:apply-templates select="child::node()[name() != 'dir' and name() != 'cachedir' and name() != 'include']" />
 
-      <!-- fontconfig distribution conf.d -->
-      <include><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
-      <!-- versioned system-wide config -->
-      <include ignore_missing="yes">/etc/fonts/<xsl:value-of select="$fontconfigConfigVersion" />/conf.d</include>
-
       <!-- the first cachedir will be used to store the cache -->
       <cachedir prefix="xdg">fontconfig</cachedir>
       <!-- /var/cache/fontconfig is useful for non-nixos systems -->
       <cachedir>/var/cache/fontconfig</cachedir>
 
+      <!-- fontconfig distribution conf.d -->
+      <include><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
+      <!-- versioned system-wide config -->
+      <include ignore_missing="yes">/etc/fonts/<xsl:value-of select="$fontconfigConfigVersion" />/conf.d</include>
+
       <dir prefix="xdg">fonts</dir>
       <xsl:for-each select="str:tokenize($fontDirectories)">
         <dir><xsl:value-of select="." /></dir>
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index e9e393075b3..61d8cb582a0 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, which, zlib, bzip2, libpng, gnumake
+, glib /* passthru only */
+
   # FreeType supports sub-pixel rendering.  This is patented by
   # Microsoft, so it is disabled by default.  This option allows it to
   # be enabled.  See http://www.freetype.org/patents.html.
-, glib/*passthru only*/
 , useEncumberedCode ? true
 }:
 
 let
-  version = "2.5.4";
+  version = "2.6.2";
 
-  fetch_bohoomil = name: sha256: fetchpatch {
-    url = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/e4c99bcf5ac9595e2c64393c0661377685c0ad24/01_freetype2-iu/ + name;
+  # Don't use fetchpatch. It mangles them. That's an hour I'll never get back.
+  fetchbohoomil = name: sha256: fetchurl {
+    url = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/254b688f96d4a37f78fb594303a43160fc15c7cd/freetype/ + name;
     inherit sha256;
   };
 in
@@ -20,15 +22,17 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "1fxsbk4lp6ymifldzrb86g3x6mz771jmrzphkz92mcrkddk2qkiv";
+    sha256 = "14mqrfgl18q2by1yzv6vcxi97zjy4kppcgsqf312mhfwgkpvvxms";
   };
 
-  patches = [ ./enable-validation.patch ] # from Gentoo, bohoomil has the same patch as well
-    ++ [ ./fix-pcf.patch ]
+  patches = []
     ++ optionals useEncumberedCode [
-      (fetch_bohoomil "02-ftsmooth-2.5.4.patch" "11w4wb7gwgpijc788mpkxj92d7rfdwrdv7jzrpxwv5w5cgpx9iw9")
-      (fetch_bohoomil "03-upstream-2014.12.07.patch" "0gq7y63mg3gc5z69nfkv2kl7xad0bjzsvnl6j1j9q79jjbvaqdq0")
-      (fetch_bohoomil "04-infinality-2.5.4-2014.12.07.patch" "1gph7z9s2221gy5dxn01v3lga0m9yib8yqsaqj5km74bqx1vlalh")
+      (fetchbohoomil "01-freetype-2.6.2-enable-valid.patch"
+        "1szq0zha7n41f4pq179wgfkam034mp2xn0xc36sdl5sjp9s9hv08")
+      (fetchbohoomil "02-upstream-2015.12.05.patch"
+        "0781r9n35kpn8db8nma0l47cpkzh0hbp84ziii5sald90dnrqdj4")
+      (fetchbohoomil "03-infinality-2.6.2-2015.12.05.patch"
+        "0wcjf9hiymplgqm3szla633i417pb57vpzzs2dyl1dnmcxgqa2y8")
     ];
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
@@ -46,10 +50,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # compat hacks
-  postInstall = glib.flattenInclude + ''
-    ln -s . "$out"/include/freetype
-  '';
+  postInstall = glib.flattenInclude;
 
   crossAttrs = {
     # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
diff --git a/pkgs/development/libraries/freetype/enable-validation.patch b/pkgs/development/libraries/freetype/enable-validation.patch
deleted file mode 100644
index 44f3bf6e1c9..00000000000
--- a/pkgs/development/libraries/freetype/enable-validation.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Enables gxvalid and otvalid modules for use with ftvalid.
-
---- freetype-2.2.1/modules.cfg.orig	2006-07-07 21:01:09.000000000 -0400
-+++ freetype-2.2.1/modules.cfg	2006-07-07 21:01:54.000000000 -0400
-@@ -110,7 +110,7 @@
- AUX_MODULES += cache
- 
- # TrueType GX/AAT table validation.  Needs ftgxval.c below.
--# AUX_MODULES += gxvalid
-+AUX_MODULES += gxvalid
- 
- # Support for streams compressed with gzip (files with suffix .gz).
- #
-@@ -124,7 +124,7 @@
- 
- # OpenType table validation.  Needs ftotval.c below.
- #
--# AUX_MODULES += otvalid
-+AUX_MODULES += otvalid
- 
- # Auxiliary PostScript driver component to share common code.
- #
diff --git a/pkgs/development/libraries/freetype/fix-pcf.patch b/pkgs/development/libraries/freetype/fix-pcf.patch
deleted file mode 100644
index bb301bcd9ca..00000000000
--- a/pkgs/development/libraries/freetype/fix-pcf.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-Upstream fixes for pcf fonts.
-
-http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=74af85c4b62b35e55b0ce9dec55ee10cbc4962a2
-http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=06842c7b49c21f13c0ab61201daab6ff5a358fcc
-
-diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
-index 998cbed..e3caf82 100644
---- a/src/pcf/pcfread.c
-+++ b/src/pcf/pcfread.c
-@@ -2,7 +2,7 @@
- 
-     FreeType font driver for pcf fonts
- 
--  Copyright 2000-2010, 2012, 2013 by
-+  Copyright 2000-2010, 2012-2014 by
-   Francesco Zappa Nardelli
- 
- Permission is hereby granted, free of charge, to any person obtaining a copy
-@@ -78,7 +78,7 @@ THE SOFTWARE.
-     FT_FRAME_START( 16  ),
-       FT_FRAME_ULONG_LE( type ),
-       FT_FRAME_ULONG_LE( format ),
--      FT_FRAME_ULONG_LE( size ),
-+      FT_FRAME_ULONG_LE( size ),   /* rounded up to a multiple of 4 */
-       FT_FRAME_ULONG_LE( offset ),
-     FT_FRAME_END
-   };
-@@ -95,9 +95,11 @@ THE SOFTWARE.
-     FT_Memory  memory = FT_FACE( face )->memory;
-     FT_UInt    n;
- 
-+    FT_ULong   size;
- 
--    if ( FT_STREAM_SEEK ( 0 )                          ||
--         FT_STREAM_READ_FIELDS ( pcf_toc_header, toc ) )
-+
-+    if ( FT_STREAM_SEEK( 0 )                          ||
-+         FT_STREAM_READ_FIELDS( pcf_toc_header, toc ) )
-       return FT_THROW( Cannot_Open_Resource );
- 
-     if ( toc->version != PCF_FILE_VERSION                 ||
-@@ -154,14 +156,35 @@ THE SOFTWARE.
-         break;
-     }
- 
--    /* we now check whether the `size' and `offset' values are reasonable: */
--    /* `offset' + `size' must not exceed the stream size                   */
-+    /*
-+     *  We now check whether the `size' and `offset' values are reasonable:
-+     *  `offset' + `size' must not exceed the stream size.
-+     *
-+     *  Note, however, that X11's `pcfWriteFont' routine (used by the
-+     *  `bdftopcf' program to create PDF font files) has two special
-+     *  features.
-+     *
-+     *  - It always assigns the accelerator table a size of 100 bytes in the
-+     *    TOC, regardless of its real size, which can vary between 34 and 72
-+     *    bytes.
-+     *
-+     *  - Due to the way the routine is designed, it ships out the last font
-+     *    table with its real size, ignoring the TOC's size value.  Since
-+     *    the TOC size values are always rounded up to a multiple of 4, the
-+     *    difference can be up to three bytes for all tables except the
-+     *    accelerator table, for which the difference can be as large as 66
-+     *    bytes.
-+     *
-+     */
-+
-     tables = face->toc.tables;
--    for ( n = 0; n < toc->count; n++ )
-+    size   = stream->size;
-+
-+    for ( n = 0; n < toc->count - 1; n++ )
-     {
-       /* we need two checks to avoid overflow */
--      if ( ( tables->size   > stream->size                ) ||
--           ( tables->offset > stream->size - tables->size ) )
-+      if ( ( tables->size   > size                ) ||
-+           ( tables->offset > size - tables->size ) )
-       {
-         error = FT_THROW( Invalid_Table );
-         goto Exit;
-@@ -169,6 +192,15 @@ THE SOFTWARE.
-       tables++;
-     }
- 
-+    /* no check of `tables->size' for last table element ... */
-+    if ( ( tables->offset > size ) )
-+    {
-+      error = FT_THROW( Invalid_Table );
-+      goto Exit;
-+    }
-+    /* ... instead, we adjust `tables->size' to the real value */
-+    tables->size = size - tables->offset;
-+
- #ifdef FT_DEBUG_LEVEL_TRACE
- 
-     {
-@@ -733,8 +765,8 @@ THE SOFTWARE.
- 
-     FT_TRACE4(( "  number of bitmaps: %d\n", nbitmaps ));
- 
--    /* XXX: PCF_Face->nmetrics is singed FT_Long, see pcf.h */
--    if ( face->nmetrics < 0 || nbitmaps != ( FT_ULong )face->nmetrics )
-+    /* XXX: PCF_Face->nmetrics is signed FT_Long, see pcf.h */
-+    if ( face->nmetrics < 0 || nbitmaps != (FT_ULong)face->nmetrics )
-       return FT_THROW( Invalid_File_Format );
- 
-     if ( FT_NEW_ARRAY( offsets, nbitmaps ) )
-diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
-index e3caf82..a29a9e3 100644
---- a/src/pcf/pcfread.c
-+++ b/src/pcf/pcfread.c
-@@ -192,14 +192,15 @@ THE SOFTWARE.
-       tables++;
-     }
- 
--    /* no check of `tables->size' for last table element ... */
-+    /* only check `tables->offset' for last table element ... */
-     if ( ( tables->offset > size ) )
-     {
-       error = FT_THROW( Invalid_Table );
-       goto Exit;
-     }
--    /* ... instead, we adjust `tables->size' to the real value */
--    tables->size = size - tables->offset;
-+    /* ... and adjust `tables->size' to the real value if necessary */
-+    if ( tables->size > size - tables->offset )
-+      tables->size = size - tables->offset;
- 
- #ifdef FT_DEBUG_LEVEL_TRACE
- 
diff --git a/pkgs/development/libraries/gettext/absolute-paths.diff b/pkgs/development/libraries/gettext/absolute-paths.diff
new file mode 100644
index 00000000000..6d5cf1c1ba2
--- /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 `envsubst --variables "$1"`; 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 `envsubst --variables "$1 $2"`; 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 566263c15ed..ff7e9bc5bfd 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -7,6 +7,7 @@ stdenv.mkDerivation (rec {
     url = "mirror://gnu/gettext/${name}.tar.gz";
     sha256 = "0pb9vp4ifymvdmc31ks3xxcnfqgzj8shll39czmk8c1splclqjzd";
   };
+  patches = [ ./absolute-paths.diff ];
 
   outputs = [ "out" "doc" ];
 
@@ -30,7 +31,8 @@ stdenv.mkDerivation (rec {
         "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
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 2c13ac59146..7c7f8602bab 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation ({
       ./security-bdf1ff05.patch
       ./cve-2014-8121.patch
       ./cve-2015-1781.patch
+      ./cve-2015-7547.patch
 
       ./glibc-locale-incompatibility.patch
     ];
diff --git a/pkgs/development/libraries/glibc/cve-2015-7547.patch b/pkgs/development/libraries/glibc/cve-2015-7547.patch
new file mode 100644
index 00000000000..9bf0bcc388c
--- /dev/null
+++ b/pkgs/development/libraries/glibc/cve-2015-7547.patch
@@ -0,0 +1,573 @@
+
+CVE-2015-7547
+
+2016-02-15  Carlos O'Donell  <carlos@redhat.com>
+
+	[BZ #18665]
+	* resolv/nss_dns/dns-host.c (gaih_getanswer_slice): Always set
+	*herrno_p.
+	(gaih_getanswer): Document functional behviour. Return tryagain
+	if any result is tryagain.
+	* resolv/res_query.c (__libc_res_nsearch): Set buffer size to zero
+	when freed.
+	* resolv/res_send.c: Add copyright text.
+	(__libc_res_nsend): Document that MAXPACKET is expected.
+	(send_vc): Document. Remove buffer reuse.
+	(send_dg): Document. Remove buffer reuse. Set *thisanssizp to set the
+	size of the buffer. Add Dprint for truncated UDP buffer.
+
+diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
+index a255d5e..47cfe27 100644
+--- a/resolv/nss_dns/dns-host.c
++++ b/resolv/nss_dns/dns-host.c
+@@ -1031,7 +1031,10 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
+   int h_namelen = 0;
+ 
+   if (ancount == 0)
+-    return NSS_STATUS_NOTFOUND;
++    {
++      *h_errnop = HOST_NOT_FOUND;
++      return NSS_STATUS_NOTFOUND;
++    }
+ 
+   while (ancount-- > 0 && cp < end_of_message && had_error == 0)
+     {
+@@ -1208,7 +1211,14 @@ gaih_getanswer_slice (const querybuf *answer, int anslen, const char *qname,
+   /* Special case here: if the resolver sent a result but it only
+      contains a CNAME while we are looking for a T_A or T_AAAA record,
+      we fail with NOTFOUND instead of TRYAGAIN.  */
+-  return canon == NULL ? NSS_STATUS_TRYAGAIN : NSS_STATUS_NOTFOUND;
++  if (canon != NULL)
++    {
++      *h_errnop = HOST_NOT_FOUND;
++      return NSS_STATUS_NOTFOUND;
++    }
++
++  *h_errnop = NETDB_INTERNAL;
++  return NSS_STATUS_TRYAGAIN;
+ }
+ 
+ 
+@@ -1222,11 +1232,101 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
+ 
+   enum nss_status status = NSS_STATUS_NOTFOUND;
+ 
++  /* Combining the NSS status of two distinct queries requires some
++     compromise and attention to symmetry (A or AAAA queries can be
++     returned in any order).  What follows is a breakdown of how this
++     code is expected to work and why. We discuss only SUCCESS,
++     TRYAGAIN, NOTFOUND and UNAVAIL, since they are the only returns
++     that apply (though RETURN and MERGE exist).  We make a distinction
++     between TRYAGAIN (recoverable) and TRYAGAIN' (not-recoverable).
++     A recoverable TRYAGAIN is almost always due to buffer size issues
++     and returns ERANGE in errno and the caller is expected to retry
++     with a larger buffer.
++
++     Lastly, you may be tempted to make significant changes to the
++     conditions in this code to bring about symmetry between responses.
++     Please don't change anything without due consideration for
++     expected application behaviour.  Some of the synthesized responses
++     aren't very well thought out and sometimes appear to imply that
++     IPv4 responses are always answer 1, and IPv6 responses are always
++     answer 2, but that's not true (see the implemetnation of send_dg
++     and send_vc to see response can arrive in any order, particlarly
++     for UDP). However, we expect it holds roughly enough of the time
++     that this code works, but certainly needs to be fixed to make this
++     a more robust implementation.
++
++     ----------------------------------------------
++     | Answer 1 Status /   | Synthesized | Reason |
++     | Answer 2 Status     | Status      |        |
++     |--------------------------------------------|
++     | SUCCESS/SUCCESS     | SUCCESS     | [1]    |
++     | SUCCESS/TRYAGAIN    | TRYAGAIN    | [5]    |
++     | SUCCESS/TRYAGAIN'   | SUCCESS     | [1]    |
++     | SUCCESS/NOTFOUND    | SUCCESS     | [1]    |
++     | SUCCESS/UNAVAIL     | SUCCESS     | [1]    |
++     | TRYAGAIN/SUCCESS    | TRYAGAIN    | [2]    |
++     | TRYAGAIN/TRYAGAIN   | TRYAGAIN    | [2]    |
++     | TRYAGAIN/TRYAGAIN'  | TRYAGAIN    | [2]    |
++     | TRYAGAIN/NOTFOUND   | TRYAGAIN    | [2]    |
++     | TRYAGAIN/UNAVAIL    | TRYAGAIN    | [2]    |
++     | TRYAGAIN'/SUCCESS   | SUCCESS     | [3]    |
++     | TRYAGAIN'/TRYAGAIN  | TRYAGAIN    | [3]    |
++     | TRYAGAIN'/TRYAGAIN' | TRYAGAIN'   | [3]    |
++     | TRYAGAIN'/NOTFOUND  | TRYAGAIN'   | [3]    |
++     | TRYAGAIN'/UNAVAIL   | UNAVAIL     | [3]    |
++     | NOTFOUND/SUCCESS    | SUCCESS     | [3]    |
++     | NOTFOUND/TRYAGAIN   | TRYAGAIN    | [3]    |
++     | NOTFOUND/TRYAGAIN'  | TRYAGAIN'   | [3]    |
++     | NOTFOUND/NOTFOUND   | NOTFOUND    | [3]    |
++     | NOTFOUND/UNAVAIL    | UNAVAIL     | [3]    |
++     | UNAVAIL/SUCCESS     | UNAVAIL     | [4]    |
++     | UNAVAIL/TRYAGAIN    | UNAVAIL     | [4]    |
++     | UNAVAIL/TRYAGAIN'   | UNAVAIL     | [4]    |
++     | UNAVAIL/NOTFOUND    | UNAVAIL     | [4]    |
++     | UNAVAIL/UNAVAIL     | UNAVAIL     | [4]    |
++     ----------------------------------------------
++
++     [1] If the first response is a success we return success.
++         This ignores the state of the second answer and in fact
++         incorrectly sets errno and h_errno to that of the second
++	 answer.  However because the response is a success we ignore
++	 *errnop and *h_errnop (though that means you touched errno on
++         success).  We are being conservative here and returning the
++         likely IPv4 response in the first answer as a success.
++
++     [2] If the first response is a recoverable TRYAGAIN we return
++	 that instead of looking at the second response.  The
++	 expectation here is that we have failed to get an IPv4 response
++	 and should retry both queries.
++
++     [3] If the first response was not a SUCCESS and the second
++	 response is not NOTFOUND (had a SUCCESS, need to TRYAGAIN,
++	 or failed entirely e.g. TRYAGAIN' and UNAVAIL) then use the
++	 result from the second response, otherwise the first responses
++	 status is used.  Again we have some odd side-effects when the
++	 second response is NOTFOUND because we overwrite *errnop and
++	 *h_errnop that means that a first answer of NOTFOUND might see
++	 its *errnop and *h_errnop values altered.  Whether it matters
++	 in practice that a first response NOTFOUND has the wrong
++	 *errnop and *h_errnop is undecided.
++
++     [4] If the first response is UNAVAIL we return that instead of
++	 looking at the second response.  The expectation here is that
++	 it will have failed similarly e.g. configuration failure.
++
++     [5] Testing this code is complicated by the fact that truncated
++	 second response buffers might be returned as SUCCESS if the
++	 first answer is a SUCCESS.  To fix this we add symmetry to
++	 TRYAGAIN with the second response.  If the second response
++	 is a recoverable error we now return TRYAGIN even if the first
++	 response was SUCCESS.  */
++
+   if (anslen1 > 0)
+     status = gaih_getanswer_slice(answer1, anslen1, qname,
+ 				  &pat, &buffer, &buflen,
+ 				  errnop, h_errnop, ttlp,
+ 				  &first);
++
+   if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND
+        || (status == NSS_STATUS_TRYAGAIN
+ 	   /* We want to look at the second answer in case of an
+@@ -1242,8 +1342,15 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
+ 						     &pat, &buffer, &buflen,
+ 						     errnop, h_errnop, ttlp,
+ 						     &first);
++      /* Use the second response status in some cases.  */
+       if (status != NSS_STATUS_SUCCESS && status2 != NSS_STATUS_NOTFOUND)
+ 	status = status2;
++      /* Do not return a truncated second response (unless it was
++         unavoidable e.g. unrecoverable TRYAGAIN).  */
++      if (status == NSS_STATUS_SUCCESS
++	  && (status2 == NSS_STATUS_TRYAGAIN
++	      && *errnop == ERANGE && *h_errnop != NO_RECOVERY))
++	status = NSS_STATUS_TRYAGAIN;
+     }
+ 
+   return status;
+diff --git a/resolv/res_query.c b/resolv/res_query.c
+index 4a9b3b3..95470a9 100644
+--- a/resolv/res_query.c
++++ b/resolv/res_query.c
+@@ -396,6 +396,7 @@ __libc_res_nsearch(res_state statp,
+ 		  {
+ 		    free (*answerp2);
+ 		    *answerp2 = NULL;
++		    *nanswerp2 = 0;
+ 		    *answerp2_malloced = 0;
+ 		  }
+ 	}
+@@ -447,6 +448,7 @@ __libc_res_nsearch(res_state statp,
+ 			  {
+ 			    free (*answerp2);
+ 			    *answerp2 = NULL;
++			    *nanswerp2 = 0;
+ 			    *answerp2_malloced = 0;
+ 			  }
+ 
+@@ -521,6 +523,7 @@ __libc_res_nsearch(res_state statp,
+ 	  {
+ 	    free (*answerp2);
+ 	    *answerp2 = NULL;
++	    *nanswerp2 = 0;
+ 	    *answerp2_malloced = 0;
+ 	  }
+ 	if (saved_herrno != -1)
+diff --git a/resolv/res_send.c b/resolv/res_send.c
+index a968b95..21843f1 100644
+--- a/resolv/res_send.c
++++ b/resolv/res_send.c
+@@ -1,3 +1,20 @@
++/* Copyright (C) 2016 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/>.  */
++
+ /*
+  * Copyright (c) 1985, 1989, 1993
+  *    The Regents of the University of California.  All rights reserved.
+@@ -355,6 +372,8 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
+ #ifdef USE_HOOKS
+ 	if (__glibc_unlikely (statp->qhook || statp->rhook))       {
+ 		if (anssiz < MAXPACKET && ansp) {
++			/* Always allocate MAXPACKET, callers expect
++			   this specific size.  */
+ 			u_char *buf = malloc (MAXPACKET);
+ 			if (buf == NULL)
+ 				return (-1);
+@@ -630,6 +649,77 @@ get_nsaddr (res_state statp, int n)
+     return (struct sockaddr *) (void *) &statp->nsaddr_list[n];
+ }
+ 
++/* The send_vc function is responsible for sending a DNS query over TCP
++   to the nameserver numbered NS from the res_state STATP i.e.
++   EXT(statp).nssocks[ns].  The function supports sending both IPv4 and
++   IPv6 queries at the same serially on the same socket.
++
++   Please note that for TCP there is no way to disable sending both
++   queries, unlike UDP, which honours RES_SNGLKUP and RES_SNGLKUPREOP
++   and sends the queries serially and waits for the result after each
++   sent query.  This implemetnation should be corrected to honour these
++   options.
++
++   Please also note that for TCP we send both queries over the same
++   socket one after another.  This technically violates best practice
++   since the server is allowed to read the first query, respond, and
++   then close the socket (to service another client).  If the server
++   does this, then the remaining second query in the socket data buffer
++   will cause the server to send the client an RST which will arrive
++   asynchronously and the client's OS will likely tear down the socket
++   receive buffer resulting in a potentially short read and lost
++   response data.  This will force the client to retry the query again,
++   and this process may repeat until all servers and connection resets
++   are exhausted and then the query will fail.  It's not known if this
++   happens with any frequency in real DNS server implementations.  This
++   implementation should be corrected to use two sockets by default for
++   parallel queries.
++
++   The query stored in BUF of BUFLEN length is sent first followed by
++   the query stored in BUF2 of BUFLEN2 length.  Queries are sent
++   serially on the same socket.
++
++   Answers to the query are stored firstly in *ANSP up to a max of
++   *ANSSIZP bytes.  If more than *ANSSIZP bytes are needed and ANSCP
++   is non-NULL (to indicate that modifying the answer buffer is allowed)
++   then malloc is used to allocate a new response buffer and ANSCP and
++   ANSP will both point to the new buffer.  If more than *ANSSIZP bytes
++   are needed but ANSCP is NULL, then as much of the response as
++   possible is read into the buffer, but the results will be truncated.
++   When truncation happens because of a small answer buffer the DNS
++   packets header feild TC will bet set to 1, indicating a truncated
++   message and the rest of the socket data will be read and discarded.
++
++   Answers to the query are stored secondly in *ANSP2 up to a max of
++   *ANSSIZP2 bytes, with the actual response length stored in
++   *RESPLEN2.  If more than *ANSSIZP bytes are needed and ANSP2
++   is non-NULL (required for a second query) then malloc is used to
++   allocate a new response buffer, *ANSSIZP2 is set to the new buffer
++   size and *ANSP2_MALLOCED is set to 1.
++
++   The ANSP2_MALLOCED argument will eventually be removed as the
++   change in buffer pointer can be used to detect the buffer has
++   changed and that the caller should use free on the new buffer.
++
++   Note that the answers may arrive in any order from the server and
++   therefore the first and second answer buffers may not correspond to
++   the first and second queries.
++
++   It is not supported to call this function with a non-NULL ANSP2
++   but a NULL ANSCP.  Put another way, you can call send_vc with a
++   single unmodifiable buffer or two modifiable buffers, but no other
++   combination is supported.
++
++   It is the caller's responsibility to free the malloc allocated
++   buffers by detecting that the pointers have changed from their
++   original values i.e. *ANSCP or *ANSP2 has changed.
++
++   If errors are encountered then *TERRNO is set to an appropriate
++   errno value and a zero result is returned for a recoverable error,
++   and a less-than zero result is returned for a non-recoverable error.
++
++   If no errors are encountered then *TERRNO is left unmodified and
++   a the length of the first response in bytes is returned.  */
+ static int
+ send_vc(res_state statp,
+ 	const u_char *buf, int buflen, const u_char *buf2, int buflen2,
+@@ -639,11 +729,7 @@ send_vc(res_state statp,
+ {
+ 	const HEADER *hp = (HEADER *) buf;
+ 	const HEADER *hp2 = (HEADER *) buf2;
+-	u_char *ans = *ansp;
+-	int orig_anssizp = *anssizp;
+-	// XXX REMOVE
+-	// int anssiz = *anssizp;
+-	HEADER *anhp = (HEADER *) ans;
++	HEADER *anhp = (HEADER *) *ansp;
+	struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns];
+ 	int truncating, connreset, n;
+ 	/* On some architectures compiler might emit a warning indicating
+@@ -731,6 +817,8 @@ send_vc(res_state statp,
+ 	 * Receive length & response
+ 	 */
+ 	int recvresp1 = 0;
++	/* Skip the second response if there is no second query.
++           To do that we mark the second response as received.  */
+ 	int recvresp2 = buf2 == NULL;
+ 	uint16_t rlen16;
+  read_len:
+@@ -767,40 +855,14 @@ send_vc(res_state statp,
+ 	u_char **thisansp;
+ 	int *thisresplenp;
+ 	if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
++		/* We have not received any responses
++		   yet or we only have one response to
++		   receive.  */
+ 		thisanssizp = anssizp;
+ 		thisansp = anscp ?: ansp;
+ 		assert (anscp != NULL || ansp2 == NULL);
+ 		thisresplenp = &resplen;
+ 	} else {
+-		if (*anssizp != MAXPACKET) {
+-			/* No buffer allocated for the first
+-			   reply.  We can try to use the rest
+-			   of the user-provided buffer.  */
+-#if __GNUC_PREREQ (4, 7)
+-			DIAG_PUSH_NEEDS_COMMENT;
+-			DIAG_IGNORE_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
+-#endif
+-#if _STRING_ARCH_unaligned
+-			*anssizp2 = orig_anssizp - resplen;
+-			*ansp2 = *ansp + resplen;
+-#else
+-			int aligned_resplen
+-			  = ((resplen + __alignof__ (HEADER) - 1)
+-			     & ~(__alignof__ (HEADER) - 1));
+-			*anssizp2 = orig_anssizp - aligned_resplen;
+-			*ansp2 = *ansp + aligned_resplen;
+-#endif
+-#if __GNUC_PREREQ (4, 7)
+-			DIAG_POP_NEEDS_COMMENT;
+-#endif
+-		} else {
+-			/* The first reply did not fit into the
+-			   user-provided buffer.  Maybe the second
+-			   answer will.  */
+-			*anssizp2 = orig_anssizp;
+-			*ansp2 = *ansp;
+-		}
+-
+ 		thisanssizp = anssizp2;
+ 		thisansp = ansp2;
+ 		thisresplenp = resplen2;
+@@ -804,10 +870,14 @@ send_vc(res_state statp,
+ 	anhp = (HEADER *) *thisansp;
+ 
+ 	*thisresplenp = rlen;
+-	if (rlen > *thisanssizp) {
+-		/* Yes, we test ANSCP here.  If we have two buffers
+-		   both will be allocatable.  */
+-		if (__glibc_likely (anscp != NULL))       {
++	/* Is the answer buffer too small?  */
++	if (*thisanssizp < rlen) {
++		/* If the current buffer is not the the static
++		   user-supplied buffer then we can reallocate
++		   it.  */
++		if (thisansp != NULL && thisansp != ansp) {
++			/* Always allocate MAXPACKET, callers expect
++			   this specific size.  */
+ 			u_char *newp = malloc (MAXPACKET);
+ 			if (newp == NULL) {
+ 				*terrno = ENOMEM;
+@@ -819,6 +889,9 @@ send_vc(res_state statp,
+ 			if (thisansp == ansp2)
+ 			  *ansp2_malloced = 1;
+ 			anhp = (HEADER *) newp;
++			/* A uint16_t can't be larger than MAXPACKET
++			   thus it's safe to allocate MAXPACKET but
++			   read RLEN bytes instead.  */
+ 			len = rlen;
+ 		} else {
+ 			Dprint(statp->options & RES_DEBUG,
+@@ -948,6 +1021,66 @@ reopen (res_state statp, int *terrno, int ns)
+ 	return 1;
+ }
+ 
++/* The send_dg function is responsible for sending a DNS query over UDP
++   to the nameserver numbered NS from the res_state STATP i.e.
++   EXT(statp).nssocks[ns].  The function supports IPv4 and IPv6 queries
++   along with the ability to send the query in parallel for both stacks
++   (default) or serially (RES_SINGLKUP).  It also supports serial lookup
++   with a close and reopen of the socket used to talk to the server
++   (RES_SNGLKUPREOP) to work around broken name servers.
++
++   The query stored in BUF of BUFLEN length is sent first followed by
++   the query stored in BUF2 of BUFLEN2 length.  Queries are sent
++   in parallel (default) or serially (RES_SINGLKUP or RES_SNGLKUPREOP).
++
++   Answers to the query are stored firstly in *ANSP up to a max of
++   *ANSSIZP bytes.  If more than *ANSSIZP bytes are needed and ANSCP
++   is non-NULL (to indicate that modifying the answer buffer is allowed)
++   then malloc is used to allocate a new response buffer and ANSCP and
++   ANSP will both point to the new buffer.  If more than *ANSSIZP bytes
++   are needed but ANSCP is NULL, then as much of the response as
++   possible is read into the buffer, but the results will be truncated.
++   When truncation happens because of a small answer buffer the DNS
++   packets header feild TC will bet set to 1, indicating a truncated
++   message, while the rest of the UDP packet is discarded.
++
++   Answers to the query are stored secondly in *ANSP2 up to a max of
++   *ANSSIZP2 bytes, with the actual response length stored in
++   *RESPLEN2.  If more than *ANSSIZP bytes are needed and ANSP2
++   is non-NULL (required for a second query) then malloc is used to
++   allocate a new response buffer, *ANSSIZP2 is set to the new buffer
++   size and *ANSP2_MALLOCED is set to 1.
++
++   The ANSP2_MALLOCED argument will eventually be removed as the
++   change in buffer pointer can be used to detect the buffer has
++   changed and that the caller should use free on the new buffer.
++
++   Note that the answers may arrive in any order from the server and
++   therefore the first and second answer buffers may not correspond to
++   the first and second queries.
++
++   It is not supported to call this function with a non-NULL ANSP2
++   but a NULL ANSCP.  Put another way, you can call send_vc with a
++   single unmodifiable buffer or two modifiable buffers, but no other
++   combination is supported.
++
++   It is the caller's responsibility to free the malloc allocated
++   buffers by detecting that the pointers have changed from their
++   original values i.e. *ANSCP or *ANSP2 has changed.
++
++   If an answer is truncated because of UDP datagram DNS limits then
++   *V_CIRCUIT is set to 1 and the return value non-zero to indicate to
++   the caller to retry with TCP.  The value *GOTSOMEWHERE is set to 1
++   if any progress was made reading a response from the nameserver and
++   is used by the caller to distinguish between ECONNREFUSED and
++   ETIMEDOUT (the latter if *GOTSOMEWHERE is 1).
++
++   If errors are encountered then *TERRNO is set to an appropriate
++   errno value and a zero result is returned for a recoverable error,
++   and a less-than zero result is returned for a non-recoverable error.
++
++   If no errors are encountered then *TERRNO is left unmodified and
++   a the length of the first response in bytes is returned.  */
+ static int
+ send_dg(res_state statp,
+ 	const u_char *buf, int buflen, const u_char *buf2, int buflen2,
+@@ -957,8 +1090,6 @@ send_dg(res_state statp,
+ {
+ 	const HEADER *hp = (HEADER *) buf;
+ 	const HEADER *hp2 = (HEADER *) buf2;
+-	u_char *ans = *ansp;
+-	int orig_anssizp = *anssizp;
+ 	struct timespec now, timeout, finish;
+ 	struct pollfd pfd[1];
+ 	int ptimeout;
+@@ -991,6 +1122,8 @@ send_dg(res_state statp,
+ 	int need_recompute = 0;
+ 	int nwritten = 0;
+ 	int recvresp1 = 0;
++	/* Skip the second response if there is no second query.
++           To do that we mark the second response as received.  */
+ 	int recvresp2 = buf2 == NULL;
+ 	pfd[0].fd = EXT(statp).nssocks[ns];
+ 	pfd[0].events = POLLOUT;
+@@ -1154,55 +1287,56 @@ send_dg(res_state statp,
+ 		int *thisresplenp;
+ 
+ 		if ((recvresp1 | recvresp2) == 0 || buf2 == NULL) {
++			/* We have not received any responses
++			   yet or we only have one response to
++			   receive.  */
+ 			thisanssizp = anssizp;
+ 			thisansp = anscp ?: ansp;
+ 			assert (anscp != NULL || ansp2 == NULL);
+ 			thisresplenp = &resplen;
+ 		} else {
+-			if (*anssizp != MAXPACKET) {
+-				/* No buffer allocated for the first
+-				   reply.  We can try to use the rest
+-				   of the user-provided buffer.  */
+-#if _STRING_ARCH_unaligned
+-				*anssizp2 = orig_anssizp - resplen;
+-				*ansp2 = *ansp + resplen;
+-#else
+-				int aligned_resplen
+-				  = ((resplen + __alignof__ (HEADER) - 1)
+-				     & ~(__alignof__ (HEADER) - 1));
+-				*anssizp2 = orig_anssizp - aligned_resplen;
+-				*ansp2 = *ansp + aligned_resplen;
+-#endif
+-			} else {
+-				/* The first reply did not fit into the
+-				   user-provided buffer.  Maybe the second
+-				   answer will.  */
+-				*anssizp2 = orig_anssizp;
+-				*ansp2 = *ansp;
+-			}
+-
+ 			thisanssizp = anssizp2;
+ 			thisansp = ansp2;
+ 			thisresplenp = resplen2;
+ 		}
+ 
+ 		if (*thisanssizp < MAXPACKET
+-		    /* Yes, we test ANSCP here.  If we have two buffers
+-		       both will be allocatable.  */
+-		    && anscp
++		    /* If the current buffer is not the the static
++		       user-supplied buffer then we can reallocate
++		       it.  */
++		    && (thisansp != NULL && thisansp != ansp)
+ #ifdef FIONREAD
++		    /* Is the size too small?  */
+ 		    && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
+ 			|| *thisanssizp < *thisresplenp)
+ #endif
+                     ) {
++			/* Always allocate MAXPACKET, callers expect
++			   this specific size.  */
+ 			u_char *newp = malloc (MAXPACKET);
+ 			if (newp != NULL) {
+-				*anssizp = MAXPACKET;
+-				*thisansp = ans = newp;
++				*thisanssizp = MAXPACKET;
++				*thisansp = newp;
+ 				if (thisansp == ansp2)
+ 				  *ansp2_malloced = 1;
+ 			}
+ 		}
++		/* We could end up with truncation if anscp was NULL
++		   (not allowed to change caller's buffer) and the
++		   response buffer size is too small.  This isn't a
++		   reliable way to detect truncation because the ioctl
++		   may be an inaccurate report of the UDP message size.
++		   Therefore we use this only to issue debug output.
++		   To do truncation accurately with UDP we need
++		   MSG_TRUNC which is only available on Linux.  We
++		   can abstract out the Linux-specific feature in the
++		   future to detect truncation.  */
++		if (__glibc_unlikely (*thisanssizp < *thisresplenp)) {
++			Dprint(statp->options & RES_DEBUG,
++			       (stdout, ";; response may be truncated (UDP)\n")
++			);
++		}
++
+ 		HEADER *anhp = (HEADER *) *thisansp;
+ 		socklen_t fromlen = sizeof(struct sockaddr_in6);
+ 		assert (sizeof(from) <= fromlen);
+
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index ebaef47ca14..e51b77eb5b0 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation {
   outputs = [ "out" "man" ];
 
   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/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/ijs/default.nix b/pkgs/development/libraries/ijs/default.nix
index fbba11c10c9..0c7d412fee6 100644
--- a/pkgs/development/libraries/ijs/default.nix
+++ b/pkgs/development/libraries/ijs/default.nix
@@ -1,16 +1,25 @@
-{ stdenv, fetchurl, autoreconfHook }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook }:
 
-let version = "9.16";
+let version = "9.18";
 in
 stdenv.mkDerivation {
   name = "ijs-${version}";
 
   src = fetchurl {
     url = "http://downloads.ghostscript.com/public/ghostscript-${version}.tar.bz2";
-    sha256 = "0vdqbjkickb0109lk6397bb2zjmg1s46dac5p5j4gfxa4pwl8b9y";
+    sha256 = "18ad90za28dxybajqwf3y3dld87cgkx1ljllmcnc7ysspfxzbnl3";
   };
 
-  prePatch = "cd ijs";
+  patches = [
+    # http://bugs.ghostscript.com/show_bug.cgi?id=696246
+    (fetchpatch {
+      name = "devijs-account-for-device-subclassing.patch";
+      url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=b68e05c3";
+      sha256 = "1c3fzfjzvf15z533vpw3l3da8wcxw98qi3p1lc6lf13940a57c7n";
+    })
+  ];
+
+  postPatch = "cd ijs";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/attica.nix b/pkgs/development/libraries/kde-frameworks-5.18/attica.nix
deleted file mode 100644
index 98721876c12..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/attica.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/baloo.nix b/pkgs/development/libraries/kde-frameworks-5.18/baloo.nix
deleted file mode 100644
index 38c41d9271d..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/baloo.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ 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.18/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks-5.18/bluez-qt.nix
deleted file mode 100644
index f981b0516f7..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/bluez-qt.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks-5.18/breeze-icons.nix
deleted file mode 100644
index 879262c56a4..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/breeze-icons.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ kdeFramework
-, extra-cmake-modules
-, qtsvg
-}:
-
-kdeFramework {
-  name = "breeze-icons";
-  nativeBuildInputs = [ extra-cmake-modules ];
-  propagatedUserEnvPkgs = [ qtsvg ];
-}
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/default.nix
deleted file mode 100644
index f41aebcb59d..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/default.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-# 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;
-
-        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.nix {};
-    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.nix {};
-    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.18/extra-cmake-modules/0001-extra-cmake-modules-paths.patch b/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
deleted file mode 100644
index 9717716faf5..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Fri, 20 Feb 2015 23:17:39 -0600
-Subject: [PATCH] extra-cmake-modules paths
-
----
- kde-modules/KDEInstallDirs.cmake | 37 ++++---------------------------------
- 1 file changed, 4 insertions(+), 33 deletions(-)
-
-diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
-index b7cd34d..2f868ac 100644
---- a/kde-modules/KDEInstallDirs.cmake
-+++ b/kde-modules/KDEInstallDirs.cmake
-@@ -193,37 +193,8 @@
- # (To distribute this file outside of extra-cmake-modules, substitute the full
- #  License text for the above reference.)
- 
--# Figure out what the default install directory for libraries should be.
--# This is based on the logic in GNUInstallDirs, but simplified (the
--# GNUInstallDirs code deals with re-configuring, but that is dealt with
--# by the _define_* macros in this module).
-+# The default library directory on NixOS is *always* /lib.
- 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
-@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
-         "QtQuick2 imports"
-         QML_INSTALL_DIR)
- else()
--    _define_relative(QTPLUGINDIR LIBDIR "plugins"
-+    _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins"
-         "Qt plugins"
-         QT_PLUGIN_INSTALL_DIR)
- 
--    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
-+    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports"
-         "QtQuick1 imports"
-         IMPORTS_INSTALL_DIR)
- 
--    _define_relative(QMLDIR LIBDIR "qml"
-+    _define_relative(QMLDIR LIBDIR "qt5/qml"
-         "QtQuick2 imports"
-         QML_INSTALL_DIR)
- endif()
--- 
-2.3.0
-
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/default.nix
deleted file mode 100644
index 4e1b1aff3bd..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ kdeFramework, lib, stdenv, cmake, pkgconfig, qttools }:
-
-kdeFramework {
-  name = "extra-cmake-modules";
-  patches = [ ./0001-extra-cmake-modules-paths.patch ];
-
-  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 = {
-    license = stdenv.lib.licenses.bsd2;
-    maintainers = [ lib.maintainers.ttuegel ];
-  };
-}
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/setup-hook.sh
deleted file mode 100644
index a6fa6189240..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/extra-cmake-modules/setup-hook.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-addMimePkg() {
-    local propagated
-
-    if [[ -d "$1/share/mime" ]]; then
-        propagated=
-        for pkg in $propagatedBuildInputs; do
-            if [[ "z$pkg" == "z$1" ]]; then
-                propagated=1
-            fi
-        done
-        if [[ -z $propagated ]]; then
-            propagatedBuildInputs="$propagatedBuildInputs $1"
-        fi
-
-        propagated=
-        for pkg in $propagatedUserEnvPkgs; do
-            if [[ "z$pkg" == "z$1" ]]; then
-                propagated=1
-            fi
-        done
-        if [[ -z $propagated ]]; then
-            propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
-        fi
-    fi
-}
-
-envHooks+=(addMimePkg)
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/fetchsrcs.sh b/pkgs/development/libraries/kde-frameworks-5.18/fetchsrcs.sh
deleted file mode 100755
index 84b882a0a07..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/fetchsrcs.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /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.18/"
-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.18/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks-5.18/frameworkintegration.nix
deleted file mode 100644
index 26987c385ad..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/frameworkintegration.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kactivities.nix b/pkgs/development/libraries/kde-frameworks-5.18/kactivities.nix
deleted file mode 100644
index 3225098f439..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kactivities.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ 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.18/kapidox.nix b/pkgs/development/libraries/kde-frameworks-5.18/kapidox.nix
deleted file mode 100644
index 647be8f052c..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kapidox.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ 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.18/karchive.nix b/pkgs/development/libraries/kde-frameworks-5.18/karchive.nix
deleted file mode 100644
index a8d9a0003c3..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/karchive.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/kauth/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kauth/default.nix
deleted file mode 100644
index 2b000ff3c04..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kauth/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ kdeFramework, lib
-, extra-cmake-modules
-, kcoreaddons
-, polkit-qt
-}:
-
-kdeFramework {
-  name = "kauth";
-  nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ polkit-qt ];
-  propagatedBuildInputs = [ kcoreaddons ];
-  patches = [ ./kauth-policy-install.patch ];
-  meta = {
-    maintainers = [ lib.maintainers.ttuegel ];
-  };
-}
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/kauth/kauth-policy-install.patch b/pkgs/development/libraries/kde-frameworks-5.18/kauth/kauth-policy-install.patch
deleted file mode 100644
index 340155256f2..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kauth/kauth-policy-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
-index e859ec7..9a8ab18 100644
---- a/KF5AuthConfig.cmake.in
-+++ b/KF5AuthConfig.cmake.in
-@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
- 
- 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_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
- set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
- 
- find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks-5.18/kbookmarks.nix
deleted file mode 100644
index 1a469ab4db6..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kbookmarks.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ 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.18/kcmutils/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.18/kcmutils/0001-qdiriterator-follow-symlinks.patch
deleted file mode 100644
index 0d861fa9501..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kcmutils/0001-qdiriterator-follow-symlinks.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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.18/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kcmutils/default.nix
deleted file mode 100644
index dbbb783ac61..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kcmutils/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kcodecs.nix b/pkgs/development/libraries/kde-frameworks-5.18/kcodecs.nix
deleted file mode 100644
index 53a69a69b69..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kcodecs.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/kcompletion.nix b/pkgs/development/libraries/kde-frameworks-5.18/kcompletion.nix
deleted file mode 100644
index e393774f16a..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kcompletion.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ 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.18/kconfig.nix b/pkgs/development/libraries/kde-frameworks-5.18/kconfig.nix
deleted file mode 100644
index e132afe5988..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kconfig.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.18/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
deleted file mode 100644
index 7a6c0ee9053..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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.18/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kconfigwidgets/default.nix
deleted file mode 100644
index 0e14d06edd3..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kconfigwidgets/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks-5.18/kcoreaddons.nix
deleted file mode 100644
index f3a1db7bd48..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kcoreaddons.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kcrash.nix b/pkgs/development/libraries/kde-frameworks-5.18/kcrash.nix
deleted file mode 100644
index bbab78ccb40..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kcrash.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdbusaddons.nix
deleted file mode 100644
index d2ceab31d14..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdbusaddons.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdeclarative.nix
deleted file mode 100644
index 74d107466cf..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdeclarative.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ 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.18/kded.nix b/pkgs/development/libraries/kde-frameworks-5.18/kded.nix
deleted file mode 100644
index 47ae2d68c68..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kded.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ 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.18/kdelibs4support.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdelibs4support.nix
deleted file mode 100644
index e61c4bb86e7..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdelibs4support.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ kdeFramework, lib, 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";
-  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.18/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdesignerplugin.nix
deleted file mode 100644
index cbc114ccca0..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdesignerplugin.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ 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.18/kdesu.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdesu.nix
deleted file mode 100644
index 364fbd6a720..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdesu.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/kdewebkit.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdewebkit.nix
deleted file mode 100644
index d361313d1d4..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdewebkit.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/kdnssd.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdnssd.nix
deleted file mode 100644
index f00432b0c9c..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdnssd.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kdoctools/default.nix
deleted file mode 100644
index 138c3fc33b9..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdoctools/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45
-, docbook5_xsl, karchive, ki18n, makeQtWrapper, perl, perlPackages
-}:
-
-kdeFramework {
-  name = "kdoctools";
-  setupHook = ./setup-hook.sh;
-  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.18/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/development/libraries/kde-frameworks-5.18/kdoctools/kdoctools-no-find-docbook-xml.patch
deleted file mode 100644
index 4e3a33efab3..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdoctools/kdoctools-no-find-docbook-xml.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-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.18/kdoctools/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.18/kdoctools/setup-hook.sh
deleted file mode 100644
index 5cfffbd622d..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kdoctools/setup-hook.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-addXdgData() {
-    addToSearchPath XDG_DATA_DIRS "$1/share"
-}
-
-envHooks+=(addXdgData)
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/kemoticons.nix b/pkgs/development/libraries/kde-frameworks-5.18/kemoticons.nix
deleted file mode 100644
index d165f84e3a2..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kemoticons.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kfilemetadata.nix b/pkgs/development/libraries/kde-frameworks-5.18/kfilemetadata.nix
deleted file mode 100644
index be99c58d550..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kfilemetadata.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ kdeFramework, lib, extra-cmake-modules, attr, ebook_tools, exiv2
-, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
-}:
-
-kdeFramework {
-  name = "kfilemetadata";
-  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.18/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks-5.18/kglobalaccel.nix
deleted file mode 100644
index c535b3590a3..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kglobalaccel.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ 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.18/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks-5.18/kguiaddons.nix
deleted file mode 100644
index bc4e9ab1184..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kguiaddons.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/khtml.nix b/pkgs/development/libraries/kde-frameworks-5.18/khtml.nix
deleted file mode 100644
index d40df466ebb..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/khtml.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ 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.18/ki18n.nix b/pkgs/development/libraries/kde-frameworks-5.18/ki18n.nix
deleted file mode 100644
index 268006512e7..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/ki18n.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kiconthemes/default-theme-breeze.patch b/pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/default-theme-breeze.patch
deleted file mode 100644
index 5b3b15d5d5b..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/default-theme-breeze.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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.18/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/default.nix
deleted file mode 100644
index b78b25582be..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ 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.18/kiconthemes/series b/pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/series
deleted file mode 100644
index ab5cc8a3edb..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kiconthemes/series
+++ /dev/null
@@ -1 +0,0 @@
-default-theme-breeze.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/kidletime.nix b/pkgs/development/libraries/kde-frameworks-5.18/kidletime.nix
deleted file mode 100644
index fc086560023..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kidletime.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ 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.18/kimageformats.nix b/pkgs/development/libraries/kde-frameworks-5.18/kimageformats.nix
deleted file mode 100644
index 49d66bbcc2c..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kimageformats.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/kinit/0001-kinit-libpath.patch b/pkgs/development/libraries/kde-frameworks-5.18/kinit/0001-kinit-libpath.patch
deleted file mode 100644
index 9c76079a382..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kinit/0001-kinit-libpath.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-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.18/kinit/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kinit/default.nix
deleted file mode 100644
index 5f644d7c424..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kinit/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kio/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kio/default.nix
deleted file mode 100644
index a2131ff3385..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kio/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ 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.18/kio/samba-search-path.patch b/pkgs/development/libraries/kde-frameworks-5.18/kio/samba-search-path.patch
deleted file mode 100644
index c9ad46b41bb..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kio/samba-search-path.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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.18/kio/series b/pkgs/development/libraries/kde-frameworks-5.18/kio/series
deleted file mode 100644
index 77ca1545004..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kio/series
+++ /dev/null
@@ -1 +0,0 @@
-samba-search-path.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks-5.18/kitemmodels.nix
deleted file mode 100644
index a9024d771cc..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kitemmodels.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/kitemviews.nix b/pkgs/development/libraries/kde-frameworks-5.18/kitemviews.nix
deleted file mode 100644
index 931019ce495..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kitemviews.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks-5.18/kjobwidgets.nix
deleted file mode 100644
index 746edf12eea..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kjobwidgets.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kjs.nix b/pkgs/development/libraries/kde-frameworks-5.18/kjs.nix
deleted file mode 100644
index 768720f178c..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kjs.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kjsembed.nix b/pkgs/development/libraries/kde-frameworks-5.18/kjsembed.nix
deleted file mode 100644
index 22eef2d47bd..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kjsembed.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks-5.18/kmediaplayer.nix
deleted file mode 100644
index 460458b2232..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kmediaplayer.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ 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.18/knewstuff.nix b/pkgs/development/libraries/kde-frameworks-5.18/knewstuff.nix
deleted file mode 100644
index 5bcd6f30146..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/knewstuff.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/knotifications.nix b/pkgs/development/libraries/kde-frameworks-5.18/knotifications.nix
deleted file mode 100644
index 7e301dd0f26..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/knotifications.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ 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.18/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks-5.18/knotifyconfig.nix
deleted file mode 100644
index dd99d2d4f1e..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/knotifyconfig.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/kpackage/allow-external-paths.patch b/pkgs/development/libraries/kde-frameworks-5.18/kpackage/allow-external-paths.patch
deleted file mode 100644
index e9d74444814..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kpackage/allow-external-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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.18/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kpackage/default.nix
deleted file mode 100644
index aea1b0d31a0..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kpackage/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ 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.18/kpackage/qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.18/kpackage/qdiriterator-follow-symlinks.patch
deleted file mode 100644
index ddbf17d0006..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kpackage/qdiriterator-follow-symlinks.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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.18/kpackage/series b/pkgs/development/libraries/kde-frameworks-5.18/kpackage/series
deleted file mode 100644
index 9b7f076efc7..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kpackage/series
+++ /dev/null
@@ -1,2 +0,0 @@
-allow-external-paths.patch
-qdiriterator-follow-symlinks.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/kparts.nix b/pkgs/development/libraries/kde-frameworks-5.18/kparts.nix
deleted file mode 100644
index 1c3e0b2cbc5..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kparts.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/kpeople.nix b/pkgs/development/libraries/kde-frameworks-5.18/kpeople.nix
deleted file mode 100644
index 4c3877e7efd..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kpeople.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ 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.18/kplotting.nix b/pkgs/development/libraries/kde-frameworks-5.18/kplotting.nix
deleted file mode 100644
index c16f51b5ac3..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kplotting.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/kpty.nix b/pkgs/development/libraries/kde-frameworks-5.18/kpty.nix
deleted file mode 100644
index 2e34e6f674c..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kpty.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ 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.18/kross.nix b/pkgs/development/libraries/kde-frameworks-5.18/kross.nix
deleted file mode 100644
index 7c6f079feaa..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kross.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ 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.18/krunner.nix b/pkgs/development/libraries/kde-frameworks-5.18/krunner.nix
deleted file mode 100644
index 12d2b54d0eb..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/krunner.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kservice/0001-qdiriterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks-5.18/kservice/0001-qdiriterator-follow-symlinks.patch
deleted file mode 100644
index 3d8397d8ee2..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kservice/0001-qdiriterator-follow-symlinks.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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.18/kservice/0002-no-canonicalize-path.patch b/pkgs/development/libraries/kde-frameworks-5.18/kservice/0002-no-canonicalize-path.patch
deleted file mode 100644
index 685c6852611..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kservice/0002-no-canonicalize-path.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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.18/kservice/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/kservice/default.nix
deleted file mode 100644
index 03b7c7c2f51..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kservice/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
-, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem
-}:
-
-kdeFramework {
-  name = "kservice";
-  setupHook = ./setup-hook.sh;
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ kcrash kdbusaddons ];
-  propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ];
-  propagatedUserEnvPkgs = [ kcoreaddons ];
-  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.18/kservice/setup-hook.sh b/pkgs/development/libraries/kde-frameworks-5.18/kservice/setup-hook.sh
deleted file mode 100644
index c28e862ff8a..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kservice/setup-hook.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-addServicePkg() {
-    local propagated
-    for dir in "share/kservices5" "share/kservicetypes5"; do
-        if [[ -d "$1/$dir" ]]; then
-            propagated=
-            for pkg in $propagatedBuildInputs; do
-                if [[ "z$pkg" == "z$1" ]]; then
-                    propagated=1
-                    break
-                fi
-            done
-            if [[ -z $propagated ]]; then
-                propagatedBuildInputs="$propagatedBuildInputs $1"
-            fi
-
-            propagated=
-            for pkg in $propagatedUserEnvPkgs; do
-                if [[ "z$pkg" == "z$1" ]]; then
-                    propagated=1
-                    break
-                fi
-            done
-            if [[ -z $propagated ]]; then
-                propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
-            fi
-
-            break
-        fi
-    done
-}
-
-envHooks+=(addServicePkg)
-
-local propagated
-for pkg in $propagatedBuildInputs; do
-    if [[ "z$pkg" == "z@out@" ]]; then
-        propagated=1
-        break
-    fi
-done
-if [[ -z $propagated ]]; then
-    propagatedBuildInputs="$propagatedBuildInputs @out@"
-fi
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/default.nix
deleted file mode 100644
index b8df6a5f4c0..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ 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.18/ktexteditor/no-qcoreapplication.patch b/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/no-qcoreapplication.patch
deleted file mode 100644
index 19ab1e1e551..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/no-qcoreapplication.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-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.18/ktexteditor/series b/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/series
deleted file mode 100644
index 46cd23829a2..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/ktexteditor/series
+++ /dev/null
@@ -1 +0,0 @@
-no-qcoreapplication.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks-5.18/ktextwidgets.nix
deleted file mode 100644
index e332d4ff9a8..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/ktextwidgets.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ 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.18/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks-5.18/kunitconversion.nix
deleted file mode 100644
index 3cf0f847d83..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kunitconversion.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ 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.18/kwallet.nix b/pkgs/development/libraries/kde-frameworks-5.18/kwallet.nix
deleted file mode 100644
index 7c4177e009d..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kwallet.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
-, kdbusaddons, kdoctools, ki18n, kiconthemes, knotifications
-, kservice, kwidgetsaddons, kwindowsystem, libgcrypt, makeQtWrapper
-}:
-
-kdeFramework {
-  name = "kwallet";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
-  buildInputs = [
-    kconfig 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.18/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks-5.18/kwidgetsaddons.nix
deleted file mode 100644
index d95f44d3fec..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kwidgetsaddons.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ 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.18/kwindowsystem.nix b/pkgs/development/libraries/kde-frameworks-5.18/kwindowsystem.nix
deleted file mode 100644
index 09ab1f2200d..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kwindowsystem.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks-5.18/kxmlgui.nix
deleted file mode 100644
index f081d5f9170..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kxmlgui.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ 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.18/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks-5.18/kxmlrpcclient.nix
deleted file mode 100644
index 20a300b68bc..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/kxmlrpcclient.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ 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.18/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks-5.18/modemmanager-qt.nix
deleted file mode 100644
index 7d7f769d6a9..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/modemmanager-qt.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks-5.18/networkmanager-qt.nix
deleted file mode 100644
index 333378bd143..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/networkmanager-qt.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks-5.18/oxygen-icons5.nix
deleted file mode 100644
index ee350f8e153..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/oxygen-icons5.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/plasma-framework/default.nix b/pkgs/development/libraries/kde-frameworks-5.18/plasma-framework/default.nix
deleted file mode 100644
index d8846f77723..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/plasma-framework/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ 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.18/solid.nix b/pkgs/development/libraries/kde-frameworks-5.18/solid.nix
deleted file mode 100644
index afd125e3c59..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/solid.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ 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.18/sonnet.nix b/pkgs/development/libraries/kde-frameworks-5.18/sonnet.nix
deleted file mode 100644
index 943fe04a1c9..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/sonnet.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ 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.18/srcs.nix b/pkgs/development/libraries/kde-frameworks-5.18/srcs.nix
deleted file mode 100644
index 12c5c30a247..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/srcs.nix
+++ /dev/null
@@ -1,565 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
-{ fetchurl, mirror }:
-
-{
-  attica = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/attica-5.18.0.tar.xz";
-      sha256 = "1n6pkaak9xf7nyi0b1wr8fm5qkv7mgpsws9igd7g2xqvvqzyp5xw";
-      name = "attica-5.18.0.tar.xz";
-    };
-  };
-  baloo = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/baloo-5.18.0.tar.xz";
-      sha256 = "0sdnd6v01rcgq7v2jny0655jrghfamwyj0win7xfhx1622dfi8l8";
-      name = "baloo-5.18.0.tar.xz";
-    };
-  };
-  bluez-qt = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/bluez-qt-5.18.0.tar.xz";
-      sha256 = "17vx77w4fwdi7y394s2pqph2vmfs8n0107rmz4q7aa62q9iwdrbr";
-      name = "bluez-qt-5.18.0.tar.xz";
-    };
-  };
-  breeze-icons = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/breeze-icons-5.18.0.tar.xz";
-      sha256 = "0a4iqr5zrb56aln5hdsk5zrl23w8w8y5nmrxb093h205r36hfw4z";
-      name = "breeze-icons-5.18.0.tar.xz";
-    };
-  };
-  extra-cmake-modules = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/extra-cmake-modules-5.18.0.tar.xz";
-      sha256 = "1kp0pysa154cbp1ysgyqk03w8s335v3wmfrx4pshyfpg1s24k83y";
-      name = "extra-cmake-modules-5.18.0.tar.xz";
-    };
-  };
-  frameworkintegration = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/frameworkintegration-5.18.0.tar.xz";
-      sha256 = "06hw885mk0i2173lfdqz3hyp1fx2bndpj00hk32s3i2ggnn2y1rv";
-      name = "frameworkintegration-5.18.0.tar.xz";
-    };
-  };
-  kactivities = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kactivities-5.18.0.tar.xz";
-      sha256 = "0nqa63ds7vj87zg2gz1mx42c30l3ypfk4ghhgxwziab315bpcpmr";
-      name = "kactivities-5.18.0.tar.xz";
-    };
-  };
-  kapidox = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kapidox-5.18.0.tar.xz";
-      sha256 = "1hackjnpxijqqpn9cvnwcn9yc0jni21qgjccj74025ihdgigp70s";
-      name = "kapidox-5.18.0.tar.xz";
-    };
-  };
-  karchive = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/karchive-5.18.0.tar.xz";
-      sha256 = "0ph59w8y49b3znaj9c1qk0zwkg0pmjjcyr4jlv5w56mh0zkq37h5";
-      name = "karchive-5.18.0.tar.xz";
-    };
-  };
-  kauth = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kauth-5.18.0.tar.xz";
-      sha256 = "14kvy7cbw31sc48f0aldpi52wxhwd69prwadvjhqwy912s8kr04n";
-      name = "kauth-5.18.0.tar.xz";
-    };
-  };
-  kbookmarks = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kbookmarks-5.18.0.tar.xz";
-      sha256 = "0qi2f612s756qh5ldibscfhcq8q802vgr2497fm9xl95kfqmcg1n";
-      name = "kbookmarks-5.18.0.tar.xz";
-    };
-  };
-  kcmutils = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kcmutils-5.18.0.tar.xz";
-      sha256 = "1m53308icq1x1877afcxlhygl56dsl50fiwmfjf0g5pfmnql3qfp";
-      name = "kcmutils-5.18.0.tar.xz";
-    };
-  };
-  kcodecs = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kcodecs-5.18.0.tar.xz";
-      sha256 = "1injdpz7kdf2j6is2w3v3xgd9ahgls0j632q03q7qa48xp4wx64h";
-      name = "kcodecs-5.18.0.tar.xz";
-    };
-  };
-  kcompletion = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kcompletion-5.18.0.tar.xz";
-      sha256 = "0gkj4gplm7qwx4nqhhph5h3jp4h8b22ssmw0vvv6bpsnq7idk76b";
-      name = "kcompletion-5.18.0.tar.xz";
-    };
-  };
-  kconfig = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kconfig-5.18.0.tar.xz";
-      sha256 = "1s7fvhflsvv8zwb9cr50m3hxh0d4z5grh0nkri5ngzqb123wi91n";
-      name = "kconfig-5.18.0.tar.xz";
-    };
-  };
-  kconfigwidgets = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kconfigwidgets-5.18.0.tar.xz";
-      sha256 = "08i12040prs2nxybxbbf3w0n91c9p0c64j8fz18axi4yszrmv8im";
-      name = "kconfigwidgets-5.18.0.tar.xz";
-    };
-  };
-  kcoreaddons = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kcoreaddons-5.18.0.tar.xz";
-      sha256 = "05y8pan8hdn6qj2si9v9igjrx00l7bqzhdm2qq9vbjrv5xj8axzf";
-      name = "kcoreaddons-5.18.0.tar.xz";
-    };
-  };
-  kcrash = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kcrash-5.18.0.tar.xz";
-      sha256 = "0rk27zr0mb4jlicm1s175x139avzi0q4jk3mlczfg4rkrxzgbx5w";
-      name = "kcrash-5.18.0.tar.xz";
-    };
-  };
-  kdbusaddons = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdbusaddons-5.18.0.tar.xz";
-      sha256 = "0l9ww3zaz1x6bk9axmm6zlj1dcn0gr0z61v9lw5y31rypxclhza8";
-      name = "kdbusaddons-5.18.0.tar.xz";
-    };
-  };
-  kdeclarative = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdeclarative-5.18.0.tar.xz";
-      sha256 = "0mpvwn26msg3sc9z1r1vnw32rkl842jxpvpx2vg8kwcd9snwx9a6";
-      name = "kdeclarative-5.18.0.tar.xz";
-    };
-  };
-  kded = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kded-5.18.0.tar.xz";
-      sha256 = "0y5sn7yxalylcwcz2j4h349lll2vkf44bw3n6w2cbqqf5wnr2za5";
-      name = "kded-5.18.0.tar.xz";
-    };
-  };
-  kdelibs4support = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/kdelibs4support-5.18.0.tar.xz";
-      sha256 = "0flhhjnnm2wh6869q8gxk45wlpq0679xlklzqlxvqx7a4kxdl8d8";
-      name = "kdelibs4support-5.18.0.tar.xz";
-    };
-  };
-  kdesignerplugin = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdesignerplugin-5.18.0.tar.xz";
-      sha256 = "163lfx8vxxdhxbn090k5r4m9vy940kfwvsyjsi8v0pp9ww49g13n";
-      name = "kdesignerplugin-5.18.0.tar.xz";
-    };
-  };
-  kdesu = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdesu-5.18.0.tar.xz";
-      sha256 = "0dqjmvi440p4n62w9y3qw4n7fcivyg3d54fv9nrf1sx87vdw7r83";
-      name = "kdesu-5.18.0.tar.xz";
-    };
-  };
-  kdewebkit = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdewebkit-5.18.0.tar.xz";
-      sha256 = "1ahr62xfk085kb9p2axx04gf7bpnr0vv2d4kpc4s0xrj3xi0alnl";
-      name = "kdewebkit-5.18.0.tar.xz";
-    };
-  };
-  kdnssd = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdnssd-5.18.0.tar.xz";
-      sha256 = "12vplqfsc3zks1grmb5i4hdww0g51lv54nb1drpj42mzyi1q1v1l";
-      name = "kdnssd-5.18.0.tar.xz";
-    };
-  };
-  kdoctools = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kdoctools-5.18.0.tar.xz";
-      sha256 = "10h74lb4597fs1h88x60ykpkz47pgfa4k04h4i5l0qb5vb1jlw7d";
-      name = "kdoctools-5.18.0.tar.xz";
-    };
-  };
-  kemoticons = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kemoticons-5.18.0.tar.xz";
-      sha256 = "0lba6rzmij20ndkq0vw9zkxbjq6g98may3ypyj0kc82d3sw9hkhs";
-      name = "kemoticons-5.18.0.tar.xz";
-    };
-  };
-  kfilemetadata = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kfilemetadata-5.18.0.tar.xz";
-      sha256 = "19b8nh5x8c0w516afh8ln72vi5dk91wl8bcsqd84h3s6gw55rsm4";
-      name = "kfilemetadata-5.18.0.tar.xz";
-    };
-  };
-  kglobalaccel = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kglobalaccel-5.18.0.tar.xz";
-      sha256 = "1v22rh8c103zl63cgg4gx430qw29f9yn9k5219pcw5n57jx0n5c1";
-      name = "kglobalaccel-5.18.0.tar.xz";
-    };
-  };
-  kguiaddons = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kguiaddons-5.18.0.tar.xz";
-      sha256 = "153mjbiwg4p65c2msj8j3pycn5gys39ahg9ik7jqg7w4cjcl2jxz";
-      name = "kguiaddons-5.18.0.tar.xz";
-    };
-  };
-  khtml = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/khtml-5.18.0.tar.xz";
-      sha256 = "0kgin1bhbx95kypsg1k318qjxz3258x3a6kkdbky3cvfmq8r5ka5";
-      name = "khtml-5.18.0.tar.xz";
-    };
-  };
-  ki18n = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/ki18n-5.18.0.tar.xz";
-      sha256 = "14vlq49a0bp1vpjb2zxkgqsd5yjmb0azri2iq9sgxxx1v6gyy9h9";
-      name = "ki18n-5.18.0.tar.xz";
-    };
-  };
-  kiconthemes = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kiconthemes-5.18.0.tar.xz";
-      sha256 = "10pj2q28y57ng26xg2211v9vy91hqqmcyxh90q1qj89clykimwid";
-      name = "kiconthemes-5.18.0.tar.xz";
-    };
-  };
-  kidletime = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kidletime-5.18.0.tar.xz";
-      sha256 = "0726nq508rpzjxvfp354jd8n14m49grv6nfv09q2zyw02cf6n9bi";
-      name = "kidletime-5.18.0.tar.xz";
-    };
-  };
-  kimageformats = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kimageformats-5.18.0.tar.xz";
-      sha256 = "1y6zc04sx4sqyfavr8nf05a1p4kyb8ic335iy5s869r6zrvljpnc";
-      name = "kimageformats-5.18.0.tar.xz";
-    };
-  };
-  kinit = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kinit-5.18.0.tar.xz";
-      sha256 = "142xm7yglssw771340bs0lk1xgsr53218zh87v6n9hchrd34zg08";
-      name = "kinit-5.18.0.tar.xz";
-    };
-  };
-  kio = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kio-5.18.0.tar.xz";
-      sha256 = "020gvxs5xp9v4pra814200nv79c9b9j59skbrxq9cazhnywnnlns";
-      name = "kio-5.18.0.tar.xz";
-    };
-  };
-  kitemmodels = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kitemmodels-5.18.0.tar.xz";
-      sha256 = "0r5r7ia1lwqll6bz92k4qgj737hsg6pfhxmycr6g88b9fiab1qw4";
-      name = "kitemmodels-5.18.0.tar.xz";
-    };
-  };
-  kitemviews = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kitemviews-5.18.0.tar.xz";
-      sha256 = "10pbh0fpzrh0ijbadjx81690p9iw34rs2waks99fc0jy3hamny3b";
-      name = "kitemviews-5.18.0.tar.xz";
-    };
-  };
-  kjobwidgets = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kjobwidgets-5.18.0.tar.xz";
-      sha256 = "0gxvh9wxnfkrxm9zc7yx579vlxs3xmihfyqs92fpkjhy2shfd2sg";
-      name = "kjobwidgets-5.18.0.tar.xz";
-    };
-  };
-  kjs = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/kjs-5.18.0.tar.xz";
-      sha256 = "0z89l2yhs3vld1qbd6v506lksmxvwrzgdq77aghy3mbkfgz3jd62";
-      name = "kjs-5.18.0.tar.xz";
-    };
-  };
-  kjsembed = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/kjsembed-5.18.0.tar.xz";
-      sha256 = "0mpq7aywspm6l13afrr2dis8ygyld5il21g90ij0fc1jwp95zk3d";
-      name = "kjsembed-5.18.0.tar.xz";
-    };
-  };
-  kmediaplayer = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/kmediaplayer-5.18.0.tar.xz";
-      sha256 = "07m3agz73yzmfn8ykg0f6a2c39rkzchzqc1iam2zfydqxyvh4bxb";
-      name = "kmediaplayer-5.18.0.tar.xz";
-    };
-  };
-  knewstuff = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/knewstuff-5.18.0.tar.xz";
-      sha256 = "0mda1n0py6nm9wp89z5hkhhk9ah5sjrkzl1dshd4lq77f7p7i1g4";
-      name = "knewstuff-5.18.0.tar.xz";
-    };
-  };
-  knotifications = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/knotifications-5.18.0.tar.xz";
-      sha256 = "1npir2v4irhm6xmzf60aj5388slq6fw7jbcwjjscldrwk2ca06hz";
-      name = "knotifications-5.18.0.tar.xz";
-    };
-  };
-  knotifyconfig = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/knotifyconfig-5.18.0.tar.xz";
-      sha256 = "0q2735m2m1wrnp7g4ycnbjy7qgpjxc5fvx9zrwnd0jl5rmdw4sbb";
-      name = "knotifyconfig-5.18.0.tar.xz";
-    };
-  };
-  kpackage = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kpackage-5.18.0.tar.xz";
-      sha256 = "14q2ssf3g7ljakzpq7q9q2zbm8jqk01ybjx4s16qpw9gakcrbli9";
-      name = "kpackage-5.18.0.tar.xz";
-    };
-  };
-  kparts = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kparts-5.18.0.tar.xz";
-      sha256 = "1q4xd4dy40mh4a8vgpvdamy1242isjy9ma94cf95qqc6qgjnqxhy";
-      name = "kparts-5.18.0.tar.xz";
-    };
-  };
-  kpeople = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kpeople-5.18.0.tar.xz";
-      sha256 = "0d0mp2qz3f1bki6rfw8x6zc0rmv4n43mi06k3vh30qpiaj7crl5k";
-      name = "kpeople-5.18.0.tar.xz";
-    };
-  };
-  kplotting = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kplotting-5.18.0.tar.xz";
-      sha256 = "1jiqx9gdv69frfh8vanphp6lzc3vxn2q1lhibi7v03qkc2qaw5cc";
-      name = "kplotting-5.18.0.tar.xz";
-    };
-  };
-  kpty = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kpty-5.18.0.tar.xz";
-      sha256 = "1baz1xs22r4qli74sqwpcjmxnfrd0iqyyzg1fmljr8fvs4pdy1x1";
-      name = "kpty-5.18.0.tar.xz";
-    };
-  };
-  kross = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/kross-5.18.0.tar.xz";
-      sha256 = "1ky13yqxhkghxqd21jrnrpjfnrkgspv0p3dfij994rkaqq8rm1r6";
-      name = "kross-5.18.0.tar.xz";
-    };
-  };
-  krunner = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/portingAids/krunner-5.18.0.tar.xz";
-      sha256 = "14c51kiwr49dbdxg8y6ivmmfr9h6p8jjd32k35pi4gpi2vlh29pf";
-      name = "krunner-5.18.0.tar.xz";
-    };
-  };
-  kservice = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kservice-5.18.0.tar.xz";
-      sha256 = "0pbs1n2i7vjgjh7j87ps8gkzmj5igw1aib1aq089m4hfrl8pbrq8";
-      name = "kservice-5.18.0.tar.xz";
-    };
-  };
-  ktexteditor = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/ktexteditor-5.18.0.tar.xz";
-      sha256 = "0fx82s5y1wya3v36qq3agmfrnff9a7v94fhifvfiwmhk2ddwwg3v";
-      name = "ktexteditor-5.18.0.tar.xz";
-    };
-  };
-  ktextwidgets = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/ktextwidgets-5.18.0.tar.xz";
-      sha256 = "1wflqfmgqa3lh3apf22sami6caclvyv7li6qiskwfkzkb0a6x373";
-      name = "ktextwidgets-5.18.0.tar.xz";
-    };
-  };
-  kunitconversion = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kunitconversion-5.18.0.tar.xz";
-      sha256 = "0gpmndyly977dzfyfhrd0q434c0qr1sinh75dwf9clmqw576jl6i";
-      name = "kunitconversion-5.18.0.tar.xz";
-    };
-  };
-  kwallet = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kwallet-5.18.0.tar.xz";
-      sha256 = "0w69y0xdvvrvcydv160z7s03y1n5vxjj3sfk530zc6bjszplvxis";
-      name = "kwallet-5.18.0.tar.xz";
-    };
-  };
-  kwidgetsaddons = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kwidgetsaddons-5.18.0.tar.xz";
-      sha256 = "06fqz7cwczp5sahg54zi46rf9jf2si88w5yizp61z8yv57kvpvk1";
-      name = "kwidgetsaddons-5.18.0.tar.xz";
-    };
-  };
-  kwindowsystem = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kwindowsystem-5.18.0.tar.xz";
-      sha256 = "01hzd4r8y4hdpynnh32qf418hxzbd67fkdq6a4vabl384aipnmk7";
-      name = "kwindowsystem-5.18.0.tar.xz";
-    };
-  };
-  kxmlgui = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kxmlgui-5.18.0.tar.xz";
-      sha256 = "0yimy0r73sv8z4wq0mkdx24icjrzmy5bciblwlnzagd61f8j8qri";
-      name = "kxmlgui-5.18.0.tar.xz";
-    };
-  };
-  kxmlrpcclient = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/kxmlrpcclient-5.18.0.tar.xz";
-      sha256 = "0h88pc3h5z3q58b7qxdn69klwr0p9ffbirzncyvxjrhr7dq36nv9";
-      name = "kxmlrpcclient-5.18.0.tar.xz";
-    };
-  };
-  modemmanager-qt = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/modemmanager-qt-5.18.0.tar.xz";
-      sha256 = "09k07wxkn511sa4hwmrs6jfx4lnnw3zcac5dzz43hhsmw74yj9az";
-      name = "modemmanager-qt-5.18.0.tar.xz";
-    };
-  };
-  networkmanager-qt = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/networkmanager-qt-5.18.0.tar.xz";
-      sha256 = "11j818ws5jz23hyilfpf3npk893hs388v1xpwhh0lkjwm60wkzln";
-      name = "networkmanager-qt-5.18.0.tar.xz";
-    };
-  };
-  oxygen-icons5 = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/oxygen-icons5-5.18.0.tar.xz";
-      sha256 = "11zmxc9n7x6iwdckwxwjji0497yjcsjli7pzr8d049lbc7xsjvi8";
-      name = "oxygen-icons5-5.18.0.tar.xz";
-    };
-  };
-  plasma-framework = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/plasma-framework-5.18.0.tar.xz";
-      sha256 = "1lxhlzx3jcqzx90kjl8w8p53nrgrkjiz1xf92ah3mygjyvi5rlh8";
-      name = "plasma-framework-5.18.0.tar.xz";
-    };
-  };
-  solid = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/solid-5.18.0.tar.xz";
-      sha256 = "0ilki4s3f3gjsdj6z41a8k4h2b52w8xrh2api0sqj0ifk2yhx6wh";
-      name = "solid-5.18.0.tar.xz";
-    };
-  };
-  sonnet = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/sonnet-5.18.0.tar.xz";
-      sha256 = "1780jvsfkasabdbk9xjhjcihcc6mxxipi2rsq2001flxnnx4kykg";
-      name = "sonnet-5.18.0.tar.xz";
-    };
-  };
-  threadweaver = {
-    version = "5.18.0";
-    src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.18/threadweaver-5.18.0.tar.xz";
-      sha256 = "00c9vvyhyysg0cdlmvpls0h3pdbbhhwfxlm9l9i9r3j8x6rigm54";
-      name = "threadweaver-5.18.0.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/kde-frameworks-5.18/threadweaver.nix b/pkgs/development/libraries/kde-frameworks-5.18/threadweaver.nix
deleted file mode 100644
index 52817921cc7..00000000000
--- a/pkgs/development/libraries/kde-frameworks-5.18/threadweaver.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ kdeFramework, lib
-, extra-cmake-modules
-}:
-
-kdeFramework {
-  name = "threadweaver";
-  nativeBuildInputs = [ extra-cmake-modules ];
-  meta = {
-    maintainers = [ lib.maintainers.ttuegel ];
-  };
-}
diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix
index 0e5f976c122..5c10fff50ad 100644
--- a/pkgs/development/libraries/libspectre/default.nix
+++ b/pkgs/development/libraries/libspectre/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8";
   };
 
+  patches = [ ./libspectre-0.2.7-gs918.patch ];
+
   buildInputs = [
     # Need `libgs.so'.
     pkgconfig ghostscript cairo /*for tests*/
diff --git a/pkgs/development/libraries/libspectre/libspectre-0.2.7-gs918.patch b/pkgs/development/libraries/libspectre/libspectre-0.2.7-gs918.patch
new file mode 100644
index 00000000000..e9a4eda192b
--- /dev/null
+++ b/pkgs/development/libraries/libspectre/libspectre-0.2.7-gs918.patch
@@ -0,0 +1,42 @@
+Fixed error namespace for >=ghostscript-gpl-9.18
+
+https://bugs.gentoo.org/563540
+
+--- libspectre-0.2.7/libspectre/spectre-gs.c
++++ libspectre-0.2.7/libspectre/spectre-gs.c
+@@ -43,12 +43,12 @@
+ 	
+ 	if (code <= -100) {
+ 		switch (code) {
+-			case e_Fatal:
++			case gs_error_Fatal:
+ 				fprintf (stderr, "fatal internal error %d", code);
+ 				return TRUE;
+ 				break;
+ 
+-			case e_ExecStackUnderflow:
++			case gs_error_ExecStackUnderflow:
+ 				fprintf (stderr, "stack overflow %d", code);
+ 				return TRUE;
+ 				break;
+@@ -109,9 +109,9 @@
+ 		set = _spectre_strdup_printf ("%d %d translate\n", -x, -y);
+ 		error = gsapi_run_string_continue (ghostscript_instance, set, strlen (set),
+ 						   0, &exit_code);
+-		error = error == e_NeedInput ? 0 : error;
++		error = error == gs_error_NeedInput ? 0 : error;
+ 		free (set);
+-		if (error != e_NeedInput && critic_error_code (error)) {
++		if (error != gs_error_NeedInput && critic_error_code (error)) {
+ 			fclose (fd);
+ 			return FALSE;
+ 		}
+@@ -126,7 +126,7 @@
+ 		read = fread (buf, sizeof (char), to_read, fd);
+ 		error = gsapi_run_string_continue (ghostscript_instance,
+ 						   buf, read, 0, &exit_code);
+-		error = error == e_NeedInput ? 0 : error;
++		error = error == gs_error_NeedInput ? 0 : error;
+ 		left -= read;
+ 	}
+ 	
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 12de07ced32..557d0f59155 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -1,18 +1,25 @@
-{ stdenv, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
-, mesa ? null
+{ stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
+, mesa_noglu ? null
 }:
 
-stdenv.mkDerivation rec {
-  name = "libva-1.6.1";
+let
+  withMesa = mesa_noglu != null;
+in stdenv.mkDerivation rec {
+  name = "libva-1.6.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
-    sha256 = "0bjfb5s8dk3lql843l91ffxzlq47isqks5sj19cxh7j3nhzw58kz";
+    sha256 = "1l4bij21shqbfllbxicmqgmay4v509v9hpxyyia9wm7gvsfg05y4";
   };
 
-  buildInputs = [ libX11 libXext pkgconfig libdrm libXfixes wayland libffi mesa ];
+  buildInputs = [ libX11 libXext pkgconfig libdrm libXfixes wayland libffi mesa_noglu ];
 
-  configureFlags = stdenv.lib.optional (mesa != null) "--enable-glx";
+  configureFlags = lib.optionals withMesa [
+    "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri"
+    "--enable-glx"
+  ];
+
+  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
new file mode 100644
index 00000000000..51fb858d8be
--- /dev/null
+++ b/pkgs/development/libraries/libvdpau-va-gl/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, libX11, libpthreadstubs, libvdpau, glib
+, libva, ffmpeg, mesa_glu }:
+
+let
+  version = "0.3.4";
+
+in stdenv.mkDerivation rec {
+  name = "libvdpau-va-gl-${version}";
+
+  src = fetchFromGitHub {
+    owner = "i-rinat";
+    repo = "libvdpau-va-gl";
+    rev = "v${version}";
+    sha256 = "1909f3srm2iy2hv4m6jxg1nxrh9xgsnjs07wfzw3ais1fww0i2nn";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ libX11 libpthreadstubs libvdpau glib libva ffmpeg mesa_glu ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/i-rinat/libvdpau-va-gl;
+    description = "VDPAU driver with OpenGL/VAAPI backend";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index 6c5d5a91ad8..446f2917fe7 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, xorg }:
+{ stdenv, fetchurl, pkgconfig, xorg, mesa_noglu }:
 
 stdenv.mkDerivation rec {
   name = "libvdpau-1.1.1";
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ xorg.libX11 ];
 
+  configureFlags = stdenv.lib.optional stdenv.isLinux
+    "--with-module-dir=${mesa_noglu.driverLink}/lib/vdpau";
+
+  installFlags = [ "moduledir=$(out)/lib/vdpau" ];
+
   meta = with stdenv.lib; {
     homepage = http://people.freedesktop.org/~aplattner/vdpau/;
     description = "Library to use the Video Decode and Presentation API for Unix (VDPAU)";
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 3579e99ec7a..9aa70ea0471 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 = [ "out" "doc" ];
 
   buildInputs = [ libxml2 ];
 
   propagatedBuildInputs = [ findXMLCatalogs ];
 
-  patches = stdenv.lib.optionals stdenv.isSunOS [ ./patch-ah.patch ];
-
   configureFlags = [
     "--with-libxml-prefix=${libxml2}"
     "--without-python"
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/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index f2b53fc2e59..94eed4193c3 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -22,7 +22,7 @@ else
 */
 
 let
-  version = "11.0.8";
+  version = "11.1.1";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
         + head (splitString "." version) + ''.x/${version}/mesa-${version}.tar.xz'')
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "5696e4730518b6805d2ed5def393c4293f425a2c2c01bd5ed4bdd7ad62f7ad75";
+    sha256 = "087xlxl8dzmhzjilpsdiy19dn106spq120c9ndgnn4qlqm7hgnv4";
   };
 
   prePatch = "patchShebangs .";
@@ -158,8 +158,6 @@ stdenv.mkDerivation {
     done
   '' + /* set the default search path for DRI drivers; used e.g. by X server */ ''
     substituteInPlace "$out/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
-  '' + /* move vdpau drivers to $drivers/lib, so they are found */ ''
-    mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau
   '';
   #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM
 
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 21e7706be8c..6300068f09f 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -2,93 +2,109 @@
 , 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.1q";
-
-  src = fetchurl {
-    urls = [
-      "http://www.openssl.org/source/${name}.tar.gz"
-      "http://openssl.linux-mirror.org/source/${name}.tar.gz"
+
+  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;
+    };
+
+    outputs = [ "out" "man" ];
+
+    patches =
+      [ ./use-etc-ssl-certs.patch ]
+      ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch
+      ++ optional (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")) ./darwin-arch.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"
     ];
-    sha256 = "1dvz0hx7fjxag06b51pawy154y6d2xajm5rwxmfnlq7ax628nrdk";
-  };
 
-  outputs = [ "out" "man" ];
-
-  patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch
-    ++ optional (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")) ./darwin-arch.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
+    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
+
+      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 we don'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 = 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 3370e910565..92f53b06720 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -5,17 +5,15 @@
 with stdenv.lib;
 
 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 = [ "out" "doc" "man" ];
 
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 340f4558f81..8f886421d55 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pcre, zlib, perl }:
 
-let version = "5.1.3";
+let version = "6.0.0";
 in
 stdenv.mkDerivation rec {
   name = "qpdf-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
-    sha256 = "1lq1v7xghvl6p4hgrwbps3a13ad6lh4ib3myimb83hxgsgd4n5nm";
+    sha256 = "0csj2p2gkxrc0rk8ykymlsdgfas96vzf1dip3y1x7z1q9plwgzd9";
   };
 
   nativeBuildInputs = [ perl ];
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   doCheck = true;
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = http://qpdf.sourceforge.net/; 
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
index 24e5ccb36f3..e6927ffb9ca 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
@@ -26,6 +26,12 @@
 let
   inherit (srcs.qt5) version;
   system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
+
+  dontInvalidateBacking = fetchurl {
+    url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=0f68f8920573cdce1729a285a92ac8582df32841;hp=24c50f8dcf7fa61ac3c3d4d6295c259a104a2b8c";
+    name = "qtbug-48321-dont-invalidate-backing-store.patch";
+    sha256 = "07vnndmvri73psz0nrs2hg0zw2i4b1k1igy2al6kwjbp7d5xpglr";
+  };
 in
 
 stdenv.mkDerivation {
@@ -49,6 +55,10 @@ stdenv.mkDerivation {
 
   postPatch =
     ''
+      cd qtbase
+      patch -p1 <${dontInvalidateBacking}
+      cd ..
+
       substituteInPlace configure --replace /bin/pwd pwd
       substituteInPlace qtbase/configure --replace /bin/pwd pwd
       substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
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 ];
+  };
+}