summary refs log tree commit diff
path: root/pkgs/applications/kde
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@mailbox.org>2017-02-25 14:34:51 -0600
committerThomas Tuegel <ttuegel@mailbox.org>2017-02-27 11:49:30 -0600
commit8be4bd7416ca977a6b8513957513355f01c397cc (patch)
treee99fc31c6b51c9712d6c307110524ed5808324e2 /pkgs/applications/kde
parente50ba7041126a5a4fbc81192739e36076010beeb (diff)
downloadnixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.tar
nixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.tar.gz
nixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.tar.bz2
nixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.tar.lz
nixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.tar.xz
nixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.tar.zst
nixpkgs-8be4bd7416ca977a6b8513957513355f01c397cc.zip
kdeApplications: Move out of desktops/kde-5
- There is no such thing as KDE 5
Diffstat (limited to 'pkgs/applications/kde')
-rw-r--r--pkgs/applications/kde/akonadi-contacts.nix19
-rw-r--r--pkgs/applications/kde/akonadi-mime.nix15
-rw-r--r--pkgs/applications/kde/akonadi.nix20
-rw-r--r--pkgs/applications/kde/ark/default.nix43
-rw-r--r--pkgs/applications/kde/baloo-widgets.nix17
-rw-r--r--pkgs/applications/kde/build-support/application.nix23
-rw-r--r--pkgs/applications/kde/default.nix95
-rw-r--r--pkgs/applications/kde/dolphin-plugins.nix17
-rw-r--r--pkgs/applications/kde/dolphin.nix32
-rw-r--r--pkgs/applications/kde/fetch.sh1
-rw-r--r--pkgs/applications/kde/ffmpegthumbs.nix15
-rw-r--r--pkgs/applications/kde/filelight.nix24
-rw-r--r--pkgs/applications/kde/gwenview.nix27
-rw-r--r--pkgs/applications/kde/kate.nix32
-rw-r--r--pkgs/applications/kde/kcalc.nix24
-rw-r--r--pkgs/applications/kde/kcolorchooser.nix21
-rw-r--r--pkgs/applications/kde/kcontacts.nix15
-rw-r--r--pkgs/applications/kde/kde-locale-4.nix27
-rw-r--r--pkgs/applications/kde/kde-locale-5.nix24
-rw-r--r--pkgs/applications/kde/kdegraphics-mobipocket.nix15
-rw-r--r--pkgs/applications/kde/kdegraphics-thumbnailers.nix14
-rw-r--r--pkgs/applications/kde/kdelibs/0001-old-kde4-cmake-policies.patch56
-rw-r--r--pkgs/applications/kde/kdelibs/0002-polkit-install-path.patch25
-rw-r--r--pkgs/applications/kde/kdelibs/0003-remove_xdg_impurities.patch47
-rw-r--r--pkgs/applications/kde/kdelibs/default.nix49
-rw-r--r--pkgs/applications/kde/kdenetwork-filesharing.nix15
-rw-r--r--pkgs/applications/kde/kdenlive.nix82
-rw-r--r--pkgs/applications/kde/kdf.nix24
-rw-r--r--pkgs/applications/kde/kgpg.nix21
-rw-r--r--pkgs/applications/kde/khelpcenter.nix22
-rw-r--r--pkgs/applications/kde/kig.nix26
-rw-r--r--pkgs/applications/kde/kio-extras.nix22
-rw-r--r--pkgs/applications/kde/kmime.nix15
-rw-r--r--pkgs/applications/kde/kmix.nix30
-rw-r--r--pkgs/applications/kde/kompare.nix21
-rw-r--r--pkgs/applications/kde/konsole.nix30
-rw-r--r--pkgs/applications/kde/kwalletmanager.nix36
-rw-r--r--pkgs/applications/kde/l10n.nix241
-rw-r--r--pkgs/applications/kde/libkdcraw.nix11
-rw-r--r--pkgs/applications/kde/libkexiv2.nix11
-rw-r--r--pkgs/applications/kde/libkipi.nix11
-rw-r--r--pkgs/applications/kde/libkomparediff2.nix7
-rw-r--r--pkgs/applications/kde/marble.nix25
-rw-r--r--pkgs/applications/kde/okteta.nix26
-rw-r--r--pkgs/applications/kde/okular.nix31
-rw-r--r--pkgs/applications/kde/print-manager.nix20
-rw-r--r--pkgs/applications/kde/spectacle.nix25
-rw-r--r--pkgs/applications/kde/srcs.nix2229
48 files changed, 3678 insertions, 0 deletions
diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix
new file mode 100644
index 00000000000..7acfa3a230b
--- /dev/null
+++ b/pkgs/applications/kde/akonadi-contacts.nix
@@ -0,0 +1,19 @@
+{
+  kdeApp, lib,
+  ecm,
+  akonadi-mime, grantlee, kcontacts, kio, kitemmodels, kmime, qtwebengine,
+  akonadi
+}:
+
+kdeApp {
+  name = "akonadi-contacts";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [
+    akonadi-mime grantlee kcontacts kio kitemmodels kmime qtwebengine
+  ];
+  propagatedBuildInputs = [ akonadi ];
+}
diff --git a/pkgs/applications/kde/akonadi-mime.nix b/pkgs/applications/kde/akonadi-mime.nix
new file mode 100644
index 00000000000..26e1559c779
--- /dev/null
+++ b/pkgs/applications/kde/akonadi-mime.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm,
+  akonadi, kdbusaddons, kio, kitemmodels, kmime
+}:
+
+kdeApp {
+  name = "akonadi-mime";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [ akonadi kdbusaddons kio kitemmodels kmime ];
+}
diff --git a/pkgs/applications/kde/akonadi.nix b/pkgs/applications/kde/akonadi.nix
new file mode 100644
index 00000000000..03483e5ec0d
--- /dev/null
+++ b/pkgs/applications/kde/akonadi.nix
@@ -0,0 +1,20 @@
+{
+  kdeApp, lib,
+  ecm,
+  kcompletion, kconfigwidgets, kdbusaddons, kdesignerplugin, kiconthemes,
+  kio,
+  boost, kitemmodels
+}:
+
+kdeApp {
+  name = "akonadi";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [
+    kcompletion kconfigwidgets kdbusaddons kdesignerplugin kiconthemes kio
+  ];
+  propagatedBuildInputs = [ boost kitemmodels ];
+}
diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix
new file mode 100644
index 00000000000..6b471614f5a
--- /dev/null
+++ b/pkgs/applications/kde/ark/default.nix
@@ -0,0 +1,43 @@
+{
+  kdeApp, lib, kdeWrapper,
+
+  ecm, kdoctools, makeWrapper,
+
+  karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, khtml, kio,
+  kservice, kpty, kwidgetsaddons, libarchive,
+
+  # Archive tools
+  p7zip, unrar, unzipNLS, zip
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "ark";
+      nativeBuildInputs = [
+        ecm kdoctools makeWrapper
+      ];
+      propagatedBuildInputs = [
+        khtml ki18n kio karchive kconfig kcrash kdbusaddons kiconthemes kservice
+        kpty kwidgetsaddons libarchive
+      ];
+      postInstall =
+        let
+          PATH = lib.makeBinPath [
+            p7zip unrar unzipNLS zip
+          ];
+        in ''
+          wrapProgram "$out/bin/ark" \
+              --prefix PATH : "${PATH}"
+        '';
+      meta = {
+        license = with lib.licenses; [ gpl2 lgpl3 ];
+        maintainers = [ lib.maintainers.ttuegel ];
+      };
+    };
+in
+kdeWrapper
+{
+  inherit unwrapped;
+  targets = [ "bin/ark" ];
+}
diff --git a/pkgs/applications/kde/baloo-widgets.nix b/pkgs/applications/kde/baloo-widgets.nix
new file mode 100644
index 00000000000..f6f3a7ce14e
--- /dev/null
+++ b/pkgs/applications/kde/baloo-widgets.nix
@@ -0,0 +1,17 @@
+{
+  kdeApp, lib,
+  ecm, kdoctools,
+  baloo, kconfig, kdelibs4support, kfilemetadata, ki18n, kio, kservice
+}:
+
+kdeApp {
+  name = "baloo-widgets";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm kdoctools ];
+  propagatedBuildInputs = [
+    baloo kconfig kdelibs4support kfilemetadata ki18n kio kservice
+  ];
+}
diff --git a/pkgs/applications/kde/build-support/application.nix b/pkgs/applications/kde/build-support/application.nix
new file mode 100644
index 00000000000..92fdb439330
--- /dev/null
+++ b/pkgs/applications/kde/build-support/application.nix
@@ -0,0 +1,23 @@
+{ kdeDerivation, lib, debug, srcs }:
+
+args:
+
+let
+  inherit (args) name;
+  sname = args.sname or name;
+  inherit (srcs."${sname}") src version;
+in
+kdeDerivation (args // {
+  name = "${name}-${version}";
+  inherit src;
+
+  cmakeFlags =
+    (args.cmakeFlags or [])
+    ++ [ "-DBUILD_TESTING=OFF" ]
+    ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+  meta = {
+    platforms = lib.platforms.linux;
+    homepage = "http://www.kde.org";
+  } // (args.meta or {});
+})
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
new file mode 100644
index 00000000000..e638378ddbb
--- /dev/null
+++ b/pkgs/applications/kde/default.nix
@@ -0,0 +1,95 @@
+/*
+
+# New packages
+
+READ THIS FIRST
+
+This module is for official packages in the KDE Applications Bundle. All
+available packages are listed in `./srcs.nix`, although some are not yet
+packaged in Nixpkgs (see below).
+
+IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
+
+Many of the packages released upstream are not yet built in Nixpkgs due to lack
+of demand. To add a Nixpkgs build for an upstream package, copy one of the
+existing packages here and modify it as necessary. A simple example package that
+still shows most of the available features is in `./gwenview.nix`.
+
+# Updates
+
+1. Update the URL in `./fetch.sh`.
+2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/kde-5/applications`
+   from the top of the Nixpkgs tree.
+3. Use `nox-review wip` to check that everything builds.
+4. Commit the changes and open a pull request.
+
+*/
+
+{
+  stdenv, lib, libsForQt5, fetchurl, recurseIntoAttrs,
+  kdeDerivation, plasma5,
+  attica, phonon,
+  debug ? false,
+}:
+
+let
+  mirror = "mirror://kde";
+  srcs = import ./srcs.nix { inherit fetchurl mirror; };
+in
+
+let
+
+  packages = self: with self;
+    let
+      callPackage = self.newScope {
+        kdeApp = import ./build-support/application.nix {
+          inherit lib kdeDerivation;
+          inherit debug srcs;
+        };
+      };
+    in {
+      kdelibs = callPackage ./kdelibs { inherit attica phonon; };
+      akonadi = callPackage ./akonadi.nix {};
+      akonadi-contacts = callPackage ./akonadi-contacts.nix {};
+      akonadi-mime = callPackage ./akonadi-mime.nix {};
+      ark = callPackage ./ark/default.nix {};
+      baloo-widgets = callPackage ./baloo-widgets.nix {};
+      dolphin = callPackage ./dolphin.nix {};
+      dolphin-plugins = callPackage ./dolphin-plugins.nix {};
+      ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
+      filelight = callPackage ./filelight.nix {};
+      gwenview = callPackage ./gwenview.nix {};
+      kate = callPackage ./kate.nix {};
+      kdenlive = callPackage ./kdenlive.nix {};
+      kcalc = callPackage ./kcalc.nix {};
+      kcolorchooser = callPackage ./kcolorchooser.nix {};
+      kcontacts = callPackage ./kcontacts.nix {};
+      kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
+      kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
+      kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
+      kdf = callPackage ./kdf.nix {};
+      kgpg = callPackage ./kgpg.nix {};
+      khelpcenter = callPackage ./khelpcenter.nix {};
+      kig = callPackage ./kig.nix {};
+      kio-extras = callPackage ./kio-extras.nix {};
+      kmime = callPackage ./kmime.nix {};
+      kmix = callPackage ./kmix.nix {};
+      kompare = callPackage ./kompare.nix {};
+      konsole = callPackage ./konsole.nix {};
+      kwalletmanager = callPackage ./kwalletmanager.nix {};
+      libkdcraw = callPackage ./libkdcraw.nix {};
+      libkexiv2 = callPackage ./libkexiv2.nix {};
+      libkipi = callPackage ./libkipi.nix {};
+      libkomparediff2 = callPackage ./libkomparediff2.nix {};
+      marble = callPackage ./marble.nix {};
+      okteta = callPackage ./okteta.nix {};
+      okular = callPackage ./okular.nix {};
+      print-manager = callPackage ./print-manager.nix {};
+      spectacle = callPackage ./spectacle.nix {
+        inherit (plasma5) kscreen;
+      };
+
+      l10n = recurseIntoAttrs (import ./l10n.nix { inherit callPackage lib recurseIntoAttrs; });
+    };
+
+in lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/applications/kde/dolphin-plugins.nix b/pkgs/applications/kde/dolphin-plugins.nix
new file mode 100644
index 00000000000..e9932adc5dc
--- /dev/null
+++ b/pkgs/applications/kde/dolphin-plugins.nix
@@ -0,0 +1,17 @@
+{
+  kdeApp, lib,
+  ecm, kdoctools,
+  dolphin, kdelibs4support, ki18n, kio, kxmlgui
+}:
+
+kdeApp {
+  name = "dolphin-plugins";
+  meta = {
+    license = [ lib.licenses.gpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm kdoctools ];
+  propagatedBuildInputs = [
+    dolphin.unwrapped kdelibs4support ki18n kio kxmlgui
+  ];
+}
diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix
new file mode 100644
index 00000000000..9be40e9439b
--- /dev/null
+++ b/pkgs/applications/kde/dolphin.nix
@@ -0,0 +1,32 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools, makeQtWrapper,
+  baloo, baloo-widgets, dolphin-plugins, kactivities, kbookmarks, kcmutils,
+  kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons,
+  kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications,
+  konsole, kparts, ktexteditor, kwindowsystem, phonon, solid
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "dolphin";
+      meta = {
+        license = with lib.licenses; [ gpl2 fdl12 ];
+        maintainers = [ lib.maintainers.ttuegel ];
+      };
+      nativeBuildInputs = [ ecm kdoctools makeQtWrapper ];
+      propagatedBuildInputs = [
+        baloo baloo-widgets kactivities kbookmarks kcmutils kcompletion kconfig
+        kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes
+        kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem
+        phonon solid
+      ];
+    };
+in
+kdeWrapper
+{
+  inherit unwrapped;
+  targets = [ "bin/dolphin" ];
+  paths = [ dolphin-plugins konsole.unwrapped ];
+}
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
new file mode 100644
index 00000000000..607a16eb45b
--- /dev/null
+++ b/pkgs/applications/kde/fetch.sh
@@ -0,0 +1 @@
+WGET_ARGS=( http://download.kde.org/stable/applications/16.12.2/ -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix
new file mode 100644
index 00000000000..c063b1e6035
--- /dev/null
+++ b/pkgs/applications/kde/ffmpegthumbs.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm,
+  ffmpeg, kio
+}:
+
+kdeApp {
+  name = "ffmpegthumbs";
+  meta = {
+    license = with lib.licenses; [ gpl2 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [ ffmpeg kio ];
+}
diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix
new file mode 100644
index 00000000000..e3d9172145c
--- /dev/null
+++ b/pkgs/applications/kde/filelight.nix
@@ -0,0 +1,24 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kio, kparts, kxmlgui, qtscript, solid
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "filelight";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = with lib.maintainers; [ fridh vcunat ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kio kparts kxmlgui qtscript solid
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/filelight" ];
+}
diff --git a/pkgs/applications/kde/gwenview.nix b/pkgs/applications/kde/gwenview.nix
new file mode 100644
index 00000000000..37a1605fe70
--- /dev/null
+++ b/pkgs/applications/kde/gwenview.nix
@@ -0,0 +1,27 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  baloo, exiv2, kactivities, kdelibs4support, kio, kipi-plugins, lcms2,
+  libkdcraw, libkipi, phonon, qtimageformats, qtsvg, qtx11extras
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "gwenview";
+      meta = {
+        license = with lib.licenses; [ gpl2 fdl12 ];
+        maintainers = [ lib.maintainers.ttuegel ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        baloo kactivities kdelibs4support kio exiv2 lcms2 libkdcraw
+        libkipi phonon qtimageformats qtsvg qtx11extras
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/gwenview" ];
+  paths = [ kipi-plugins ];
+}
diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix
new file mode 100644
index 00000000000..03cc0e1fe33
--- /dev/null
+++ b/pkgs/applications/kde/kate.nix
@@ -0,0 +1,32 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kactivities, kconfig, kcrash, kdbusaddons, kguiaddons, kiconthemes, ki18n,
+  kinit, kio, kitemmodels, kjobwidgets, knewstuff, knotifications, konsole,
+  kparts, ktexteditor, kwindowsystem, kwallet, kxmlgui, libgit2,
+  plasma-framework, qtscript, threadweaver
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kate";
+      meta = {
+        license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ];
+        maintainers = [ lib.maintainers.ttuegel ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kactivities ki18n kio ktexteditor kwindowsystem plasma-framework
+        qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts
+        kxmlgui kdbusaddons kwallet kitemmodels knotifications threadweaver
+        knewstuff libgit2
+      ];
+    };
+in
+kdeWrapper
+{
+  inherit unwrapped;
+  targets = [ "bin/kate" "bin/kwrite" ];
+  paths = [ konsole.unwrapped ];
+}
diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix
new file mode 100644
index 00000000000..10164692f77
--- /dev/null
+++ b/pkgs/applications/kde/kcalc.nix
@@ -0,0 +1,24 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kconfig, kconfigwidgets, kguiaddons, kinit, knotifications, gmp
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kcalc";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = [ lib.maintainers.fridh ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        gmp kconfig kconfigwidgets kguiaddons kinit knotifications
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kcalc" ];
+}
diff --git a/pkgs/applications/kde/kcolorchooser.nix b/pkgs/applications/kde/kcolorchooser.nix
new file mode 100644
index 00000000000..1dc6ccbc44c
--- /dev/null
+++ b/pkgs/applications/kde/kcolorchooser.nix
@@ -0,0 +1,21 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, ki18n, kwidgetsaddons, kxmlgui
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kcolorchooser";
+      meta = {
+        license = with lib.licenses; [ mit ];
+        maintainers = [ lib.maintainers.ttuegel ];
+      };
+      nativeBuildInputs = [ ecm ];
+      propagatedBuildInputs = [ ki18n kwidgetsaddons kxmlgui ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kcolorchooser" ];
+}
diff --git a/pkgs/applications/kde/kcontacts.nix b/pkgs/applications/kde/kcontacts.nix
new file mode 100644
index 00000000000..441d73d363d
--- /dev/null
+++ b/pkgs/applications/kde/kcontacts.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, ki18n,
+  kcoreaddons, kconfig, kcodecs
+}:
+
+kdeApp {
+  name = "kcontacts";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ki18n ];
+  buildInputs = [ kcoreaddons kconfig kcodecs ];
+}
diff --git a/pkgs/applications/kde/kde-locale-4.nix b/pkgs/applications/kde/kde-locale-4.nix
new file mode 100644
index 00000000000..e83794c60d8
--- /dev/null
+++ b/pkgs/applications/kde/kde-locale-4.nix
@@ -0,0 +1,27 @@
+name: args:
+
+{ kdeApp, automoc4, cmake, gettext, kdelibs, perl }:
+
+kdeApp (args // {
+  sname = "kde-l10n-${name}";
+  name = "kde-l10n-${name}-qt4";
+
+  outputs = [ "out" ];
+
+  nativeBuildInputs =
+    [ automoc4 cmake gettext perl ]
+    ++ (args.nativeBuildInputs or []);
+  buildInputs =
+    [ kdelibs ]
+    ++ (args.buildInputs or []);
+
+  preConfigure = ''
+    sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt
+    ${args.preConfigure or ""}
+  '';
+
+  preFixup = ''
+    propagatedBuildInputs=
+    propagatedNativeBuildInputs=
+  '';
+})
diff --git a/pkgs/applications/kde/kde-locale-5.nix b/pkgs/applications/kde/kde-locale-5.nix
new file mode 100644
index 00000000000..2b9cc0e35eb
--- /dev/null
+++ b/pkgs/applications/kde/kde-locale-5.nix
@@ -0,0 +1,24 @@
+name: args:
+
+{ kdeApp, cmake, ecm, gettext, kdoctools }:
+
+kdeApp (args // {
+  sname = "kde-l10n-${name}";
+  name = "kde-l10n-${name}-qt5";
+
+  outputs = [ "out" ];
+
+  nativeBuildInputs =
+    [ cmake ecm gettext kdoctools ]
+    ++ (args.nativeBuildInputs or []);
+
+  preConfigure = ''
+    sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt
+    ${args.preConfigure or ""}
+  '';
+
+  preFixup = ''
+    propagatedBuildInputs=
+    propagatedNativeBuildInputs=
+  '';
+})
diff --git a/pkgs/applications/kde/kdegraphics-mobipocket.nix b/pkgs/applications/kde/kdegraphics-mobipocket.nix
new file mode 100644
index 00000000000..984524dc1b2
--- /dev/null
+++ b/pkgs/applications/kde/kdegraphics-mobipocket.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm,
+  kio
+}:
+
+kdeApp {
+  name = "kdegraphics-mobipocket";
+  meta = {
+    license = [ lib.licenses.gpl2Plus ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  buildInputs = [ kio ];
+}
diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers.nix b/pkgs/applications/kde/kdegraphics-thumbnailers.nix
new file mode 100644
index 00000000000..c3947226690
--- /dev/null
+++ b/pkgs/applications/kde/kdegraphics-thumbnailers.nix
@@ -0,0 +1,14 @@
+{
+  kdeApp, lib,
+  ecm, kio, libkexiv2, libkdcraw
+}:
+
+kdeApp {
+  name = "kdegraphics-thumbnailers";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [ kio libkexiv2 libkdcraw ];
+}
diff --git a/pkgs/applications/kde/kdelibs/0001-old-kde4-cmake-policies.patch b/pkgs/applications/kde/kdelibs/0001-old-kde4-cmake-policies.patch
new file mode 100644
index 00000000000..b7d7300e9a8
--- /dev/null
+++ b/pkgs/applications/kde/kdelibs/0001-old-kde4-cmake-policies.patch
@@ -0,0 +1,56 @@
+From b43c49109694940f0a26240753e879eb629dd02d Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 7 Sep 2015 13:54:57 -0500
+Subject: [PATCH 1/2] old kde4 cmake policies
+
+---
+ cmake/modules/FindKDE4Internal.cmake | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+diff --git a/cmake/modules/FindKDE4Internal.cmake b/cmake/modules/FindKDE4Internal.cmake
+index 7d54b9b..c435571 100644
+--- a/cmake/modules/FindKDE4Internal.cmake
++++ b/cmake/modules/FindKDE4Internal.cmake
+@@ -345,6 +345,39 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ 
++# this is required now by cmake 2.6 and so must not be skipped by if(KDE4_FOUND) below
++cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
++# set the cmake policies to the 2.4.x compatibility settings (may change for KDE 4.3)
++cmake_policy(VERSION 2.4.5)
++
++# CMake 2.6, set compatibility behaviour to cmake 2.4
++# this must be executed always, because the CMAKE_MINIMUM_REQUIRED() command above
++# resets the policy settings, so we get a lot of warnings
++
++# CMP0000: don't require cmake_minimum_version() directly in the top level CMakeLists.txt, FindKDE4Internal.cmake is good enough
++cmake_policy(SET CMP0000 OLD)
++# CMP0002: in KDE4 we have multiple targets with the same name for the unit tests
++cmake_policy(SET CMP0002 OLD)
++# CMP0003: add the link paths to the link command as with cmake 2.4
++cmake_policy(SET CMP0003 OLD)
++# CMP0005: keep escaping behaviour for definitions added via add_definitions()
++cmake_policy(SET CMP0005 OLD)
++# since cmake 2.6.3: NEW behaviour is that setting policies doesn't "escape" the file
++# where this is done, macros and functions are executed with the policies as they
++# were when the were defined. Keep the OLD behaviour so we can set the policies here
++# for all KDE software without the big warning
++cmake_policy(SET CMP0011 OLD)
++
++# since cmake 2.8.4: when include()ing from inside cmake's module dir, prefer the files
++# in this directory over those from CMAKE_MODULE_PATH
++cmake_policy(SET CMP0017 NEW)
++
++# since cmake 3.0: use of the LOCATION target property is disallowed while it is used in KDE4Macros.cmake
++if (POLICY CMP0026)
++  cmake_policy(SET CMP0026 OLD)
++endif (POLICY CMP0026)
++
++
+ # Only do something if it hasn't been found yet
+ if(NOT KDE4_FOUND)
+ 
+-- 
+2.5.0
+
diff --git a/pkgs/applications/kde/kdelibs/0002-polkit-install-path.patch b/pkgs/applications/kde/kdelibs/0002-polkit-install-path.patch
new file mode 100644
index 00000000000..ff0306ea148
--- /dev/null
+++ b/pkgs/applications/kde/kdelibs/0002-polkit-install-path.patch
@@ -0,0 +1,25 @@
+From fab35bac146a817f3af80f45531355fd70cd226b Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 7 Sep 2015 13:56:03 -0500
+Subject: [PATCH 2/2] polkit install path
+
+---
+ kdecore/auth/ConfigureChecks.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kdecore/auth/ConfigureChecks.cmake b/kdecore/auth/ConfigureChecks.cmake
+index 7cf9cb5..c8334ae 100644
+--- a/kdecore/auth/ConfigureChecks.cmake
++++ b/kdecore/auth/ConfigureChecks.cmake
+@@ -150,7 +150,7 @@ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "POLKITQT-1")
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
+-- 
+2.5.0
+
diff --git a/pkgs/applications/kde/kdelibs/0003-remove_xdg_impurities.patch b/pkgs/applications/kde/kdelibs/0003-remove_xdg_impurities.patch
new file mode 100644
index 00000000000..a79d7b2b7d1
--- /dev/null
+++ b/pkgs/applications/kde/kdelibs/0003-remove_xdg_impurities.patch
@@ -0,0 +1,47 @@
+diff --git a/kdecore/kernel/kstandarddirs.cpp b/kdecore/kernel/kstandarddirs.cpp
+index ab8f76d..2ae5089 100644
+--- a/kdecore/kernel/kstandarddirs.cpp
++++ b/kdecore/kernel/kstandarddirs.cpp
+@@ -1768,12 +1768,6 @@ void KStandardDirs::addKDEDefaults()
+     else
+     {
+         xdgdirList.clear();
+-        xdgdirList.append(QString::fromLatin1("/etc/xdg"));
+-#ifdef Q_WS_WIN
+-        xdgdirList.append(installPath("kdedir") + QString::fromLatin1("etc/xdg"));
+-#else
+-        xdgdirList.append(QFile::decodeName(KDESYSCONFDIR "/xdg"));
+-#endif
+     }
+ 
+     QString localXdgDir = readEnvPath("XDG_CONFIG_HOME");
+@@ -1821,10 +1815,6 @@ void KStandardDirs::addKDEDefaults()
+         }
+     } else {
+         xdgdirList = kdedirDataDirs;
+-#ifndef Q_WS_WIN
+-        xdgdirList.append(QString::fromLatin1("/usr/local/share/"));
+-        xdgdirList.append(QString::fromLatin1("/usr/share/"));
+-#endif
+     }
+ 
+     localXdgDir = readEnvPath("XDG_DATA_HOME");
+diff --git a/solid/solid/xdgbasedirs.cpp b/solid/solid/xdgbasedirs.cpp
+index 4c9cad9..6849d45 100644
+--- a/solid/solid/xdgbasedirs.cpp
++++ b/solid/solid/xdgbasedirs.cpp
+@@ -70,12 +70,12 @@ QStringList Solid::XdgBaseDirs::systemPathList( const char *resource )
+ {
+   if ( qstrncmp( "data", resource, 4 ) == 0 ) {
+     if ( instance()->mDataDirs.isEmpty() ) {
+-      instance()->mDataDirs = instance()->systemPathList( "XDG_DATA_DIRS", "/usr/local/share:/usr/share" );
++      instance()->mDataDirs = instance()->systemPathList( "XDG_DATA_DIRS", "" );
+     }
+     return instance()->mDataDirs;
+   } else if ( qstrncmp( "config", resource, 6 ) == 0 ) {
+     if ( instance()->mConfigDirs.isEmpty() ) {
+-      instance()->mConfigDirs = instance()->systemPathList( "XDG_CONFIG_DIRS", "/etc/xdg" );
++      instance()->mConfigDirs = instance()->systemPathList( "XDG_CONFIG_DIRS", "" );
+     }
+     return instance()->mConfigDirs;
+   }
diff --git a/pkgs/applications/kde/kdelibs/default.nix b/pkgs/applications/kde/kdelibs/default.nix
new file mode 100644
index 00000000000..0292b51a48d
--- /dev/null
+++ b/pkgs/applications/kde/kdelibs/default.nix
@@ -0,0 +1,49 @@
+{
+  kdeApp, lib,
+  automoc4, bison, cmake, flex, libxslt, perl, pkgconfig, shared_mime_info,
+  attica, attr, avahi, docbook_xml_dtd_42, docbook_xsl, giflib, ilmbase,
+  libdbusmenu_qt, libjpeg, libxml2, phonon, polkit_qt4, qca2, qt4,
+  shared_desktop_ontologies, soprano, strigi, udev, xz, pcre
+}:
+
+kdeApp {
+  name = "kdelibs";
+
+  outputs = [ "out" "dev" ];
+
+  outputInclude = "out";
+
+  setOutputFlags = false;
+
+  nativeBuildInputs = [
+    automoc4 bison cmake flex libxslt perl pkgconfig shared_mime_info
+  ];
+  buildInputs = [
+    attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
+    polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre
+  ];
+  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
+
+  patches = [
+    ./0001-old-kde4-cmake-policies.patch
+    ./0002-polkit-install-path.patch
+    ./0003-remove_xdg_impurities.patch
+  ];
+
+  # cmake does not detect path to `ilmbase`
+  NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
+
+  cmakeFlags = [
+    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+    "-DWITH_SOLID_UDISKS2=ON"
+    "-DKDE_DEFAULT_HOME=.kde"
+  ];
+
+  meta = {
+    platforms = lib.platforms.linux;
+    homepage = "http://www.kde.org";
+    licenses = with lib.licenses; [ gpl2 fdl12 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/applications/kde/kdenetwork-filesharing.nix b/pkgs/applications/kde/kdenetwork-filesharing.nix
new file mode 100644
index 00000000000..4aa11967528
--- /dev/null
+++ b/pkgs/applications/kde/kdenetwork-filesharing.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, kdoctools,
+  kcoreaddons, ki18n, kio, kwidgetsaddons, samba
+}:
+
+kdeApp {
+  name = "kdenetwork-filesharing";
+  meta = {
+    license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm kdoctools ];
+  propagatedBuildInputs = [ kcoreaddons ki18n kio kwidgetsaddons samba ];
+}
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix
new file mode 100644
index 00000000000..071ec21bbd0
--- /dev/null
+++ b/pkgs/applications/kde/kdenlive.nix
@@ -0,0 +1,82 @@
+{ kdeApp
+, kdeWrapper
+, lib
+, extra-cmake-modules
+, kdoctools
+, qtscript
+, kactivities
+, kconfig
+, kcrash
+, kguiaddons
+, kiconthemes
+, ki18n
+, kinit
+, kio
+, kio-extras
+, kwindowsystem
+, kdbusaddons
+, plasma-framework
+, knotifications
+, knewstuff
+, karchive
+, knotifyconfig
+, kplotting
+, ktextwidgets
+, mlt
+, shared_mime_info
+, libv4l
+, kfilemetadata
+, ffmpeg
+, phonon-backend-vlc
+, qtquickcontrols
+}:
+
+let
+unwrapped = kdeApp {
+  name = "kdenlive";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    qtscript
+    kconfig
+    kcrash
+    kguiaddons
+    kiconthemes
+    kinit
+    kdbusaddons
+    knotifications
+    knewstuff
+    karchive
+    knotifyconfig
+    kplotting
+    ktextwidgets
+    mlt
+    shared_mime_info
+    libv4l
+    ffmpeg
+  ];
+  propagatedBuildInputs = [
+    kactivities
+    ki18n
+    kio
+    kio-extras
+    kwindowsystem
+    kfilemetadata
+    plasma-framework
+    phonon-backend-vlc
+    qtquickcontrols
+  ];
+  enableParallelBuilding = true;
+  meta = {
+    license = with lib.licenses; [ gpl2Plus ];
+  };
+};
+in
+kdeWrapper
+{
+  inherit unwrapped;
+  targets = [ "bin/kdenlive" ];
+  paths = [ kinit ];
+}
diff --git a/pkgs/applications/kde/kdf.nix b/pkgs/applications/kde/kdf.nix
new file mode 100644
index 00000000000..c73eadc1df4
--- /dev/null
+++ b/pkgs/applications/kde/kdf.nix
@@ -0,0 +1,24 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kcmutils
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kdf";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = [ lib.maintainers.peterhoeg ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kcmutils
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kdf" ];
+}
diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix
new file mode 100644
index 00000000000..cd462acdf2b
--- /dev/null
+++ b/pkgs/applications/kde/kgpg.nix
@@ -0,0 +1,21 @@
+{
+  kdeApp, lib,
+  ecm, kdoctools, ki18n,
+  akonadi-contacts, gpgme, karchive, kcodecs, kcontacts, kcoreaddons, kcrash,
+  kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice,
+  ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem
+}:
+
+kdeApp {
+  name = "kgpg";
+  nativeBuildInputs = [ ecm kdoctools ki18n ];
+  buildInputs = [
+    akonadi-contacts gpgme karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons
+    kiconthemes kjobwidgets kio knotifications kservice ktextwidgets kxmlgui
+    kwidgetsaddons kwindowsystem
+  ];
+  meta = {
+    license = [ lib.licenses.gpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/applications/kde/khelpcenter.nix b/pkgs/applications/kde/khelpcenter.nix
new file mode 100644
index 00000000000..3f13d131c77
--- /dev/null
+++ b/pkgs/applications/kde/khelpcenter.nix
@@ -0,0 +1,22 @@
+{
+  kdeApp, kdeWrapper,
+  ecm, kdoctools,
+  grantlee, kconfig, kcoreaddons, kdbusaddons, ki18n, kinit, kcmutils,
+  kdelibs4support, khtml, kservice, xapian
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "khelpcenter";
+      nativeBuildInputs = [ ecm kdoctools ];
+      buildInputs = [
+        grantlee kdelibs4support khtml ki18n kconfig kcoreaddons kdbusaddons
+        kinit kcmutils kservice xapian
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/khelpcenter" ];
+}
diff --git a/pkgs/applications/kde/kig.nix b/pkgs/applications/kde/kig.nix
new file mode 100644
index 00000000000..9636f82974b
--- /dev/null
+++ b/pkgs/applications/kde/kig.nix
@@ -0,0 +1,26 @@
+{
+  kdeApp, lib, kdeWrapper
+  , ecm, kdoctools, kparts
+  , qtsvg, qtxmlpatterns, ktexteditor, boost
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kig";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = with lib.maintainers; [ raskin ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      buildInputs = [
+        kparts qtsvg qtxmlpatterns ktexteditor boost
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kig" ];
+}
+
+
diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix
new file mode 100644
index 00000000000..fe3e3fad200
--- /dev/null
+++ b/pkgs/applications/kde/kio-extras.nix
@@ -0,0 +1,22 @@
+{
+  kdeApp, lib, ecm, kdoctools, shared_mime_info,
+  exiv2, kactivities, karchive, kbookmarks, kconfig, kconfigwidgets,
+  kcoreaddons, kdbusaddons, kguiaddons, kdnssd, kiconthemes, ki18n, kio, khtml,
+  kdelibs4support, kpty, libmtp, libssh, openexr, ilmbase, openslp, phonon,
+  qtsvg, samba, solid
+}:
+
+kdeApp {
+  name = "kio-extras";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm kdoctools shared_mime_info ];
+  propagatedBuildInputs = [
+    exiv2 kactivities karchive kbookmarks kconfig kconfigwidgets kcoreaddons
+    kdbusaddons kguiaddons kdnssd kiconthemes ki18n kio khtml kdelibs4support
+    kpty libmtp libssh openexr openslp phonon qtsvg samba solid
+  ];
+  NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ];
+}
diff --git a/pkgs/applications/kde/kmime.nix b/pkgs/applications/kde/kmime.nix
new file mode 100644
index 00000000000..d60909ec7bc
--- /dev/null
+++ b/pkgs/applications/kde/kmime.nix
@@ -0,0 +1,15 @@
+{
+  kdeApp, lib,
+  ecm, ki18n,
+  kcodecs
+}:
+
+kdeApp {
+  name = "kmime";
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ki18n ];
+  buildInputs = [ kcodecs ];
+}
diff --git a/pkgs/applications/kde/kmix.nix b/pkgs/applications/kde/kmix.nix
new file mode 100644
index 00000000000..46a67e06ee0
--- /dev/null
+++ b/pkgs/applications/kde/kmix.nix
@@ -0,0 +1,30 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kglobalaccel, kxmlgui, kcoreaddons, kdelibs4support,
+  plasma-framework, libpulseaudio, alsaLib, libcanberra_kde
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kmix";
+      meta = {
+        license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+        maintainers = [ lib.maintainers.rongcuid ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      buildInputs = [ libpulseaudio alsaLib libcanberra_kde ];
+      propagatedBuildInputs = [
+        kglobalaccel kxmlgui kcoreaddons kdelibs4support
+        plasma-framework
+      ];
+      cmakeFlags = [
+        "-DKMIX_KF5_BUILD=1"
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kmix" ];
+}
diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix
new file mode 100644
index 00000000000..45789edbfcc
--- /dev/null
+++ b/pkgs/applications/kde/kompare.nix
@@ -0,0 +1,21 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kparts, ktexteditor, kwidgetsaddons, libkomparediff2
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kompare";
+      meta = { license = with lib.licenses; [ gpl2 ]; };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kparts ktexteditor kwidgetsaddons libkomparediff2
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kompare" ];
+}
diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix
new file mode 100644
index 00000000000..2dfd305b46b
--- /dev/null
+++ b/pkgs/applications/kde/konsole.nix
@@ -0,0 +1,30 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons,
+  ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications,
+  knotifyconfig, kparts, kpty, kservice, ktextwidgets, kwidgetsaddons,
+  kwindowsystem, kxmlgui, qtscript
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "konsole";
+      meta = {
+        license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+        maintainers = [ lib.maintainers.ttuegel ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kdelibs4support ki18n kwindowsystem qtscript kbookmarks kcompletion
+        kconfig kconfigwidgets kcoreaddons kguiaddons kiconthemes kinit kio
+        knotifications knotifyconfig kparts kpty kservice ktextwidgets
+        kwidgetsaddons kxmlgui
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/konsole" ];
+}
diff --git a/pkgs/applications/kde/kwalletmanager.nix b/pkgs/applications/kde/kwalletmanager.nix
new file mode 100644
index 00000000000..03c2ab3853a
--- /dev/null
+++ b/pkgs/applications/kde/kwalletmanager.nix
@@ -0,0 +1,36 @@
+{ lib
+, kdeApp
+, kdeWrapper
+, ecm
+, kdoctools
+, kauth
+, kcmutils
+, kconfigwidgets
+, kcoreaddons
+, kdbusaddons
+, kdelibs4support
+, kxmlgui
+}:
+
+let
+  unwrapped = kdeApp {
+    name = "kwalletmanager";
+    meta = {
+      license = with lib.licenses; [ gpl2 ];
+      maintainers = with lib.maintainers; [ fridh ];
+    };
+    nativeBuildInputs = [ ecm kdoctools ];
+    propagatedBuildInputs = [
+      kauth
+      kcmutils
+      kconfigwidgets
+      kcoreaddons
+      kdbusaddons
+      kdelibs4support
+      kxmlgui
+    ];
+  };
+in kdeWrapper {
+  inherit unwrapped;
+  targets = ["bin/kwalletmanager5"];
+}
diff --git a/pkgs/applications/kde/l10n.nix b/pkgs/applications/kde/l10n.nix
new file mode 100644
index 00000000000..87e7a82ce46
--- /dev/null
+++ b/pkgs/applications/kde/l10n.nix
@@ -0,0 +1,241 @@
+{ callPackage, recurseIntoAttrs, lib }:
+
+let
+
+  kdeLocale4 = import ./kde-locale-4.nix;
+  kdeLocale5 = import ./kde-locale-5.nix;
+
+in
+
+lib.mapAttrs (name: attr: recurseIntoAttrs attr) {
+  ar = {
+    qt4 = callPackage (kdeLocale4 "ar" {}) {};
+    qt5 = callPackage (kdeLocale5 "ar" {}) {};
+  };
+  bg = {
+    qt4 = callPackage (kdeLocale4 "bg" {}) {};
+    qt5 = callPackage (kdeLocale5 "bg" {}) {};
+  };
+  bs = {
+    qt4 = callPackage (kdeLocale4 "bs" {}) {};
+    qt5 = callPackage (kdeLocale5 "bs" {}) {};
+  };
+  ca = {
+    qt4 = callPackage (kdeLocale4 "ca" {}) {};
+    qt5 = callPackage (kdeLocale5 "ca" {}) {};
+  };
+  ca_valencia = {
+    qt4 = callPackage (kdeLocale4 "ca_valencia" {}) {};
+    qt5 = callPackage (kdeLocale5 "ca_valencia" {}) {};
+  };
+  cs = {
+    qt4 = callPackage (kdeLocale4 "cs" {}) {};
+    qt5 = callPackage (kdeLocale5 "cs" {}) {};
+  };
+  da = {
+    qt4 = callPackage (kdeLocale4 "da" {}) {};
+    qt5 = callPackage (kdeLocale5 "da" {}) {};
+  };
+  de = {
+    qt4 = callPackage (kdeLocale4 "de" {}) {};
+    qt5 = callPackage (kdeLocale5 "de" {}) {};
+  };
+  el = {
+    qt4 = callPackage (kdeLocale4 "el" {}) {};
+    qt5 = callPackage (kdeLocale5 "el" {}) {};
+  };
+  en_GB = {
+    qt4 = callPackage (kdeLocale4 "en_GB" {}) {};
+    qt5 = callPackage (kdeLocale5 "en_GB" {}) {};
+  };
+  eo = {
+    qt4 = callPackage (kdeLocale4 "eo" {}) {};
+    qt5 = callPackage (kdeLocale5 "eo" {}) {};
+  };
+  es = {
+    qt4 = callPackage (kdeLocale4 "es" {}) {};
+    qt5 = callPackage (kdeLocale5 "es" {}) {};
+  };
+  et = {
+    qt4 = callPackage (kdeLocale4 "et" {}) {};
+    qt5 = callPackage (kdeLocale5 "et" {}) {};
+  };
+  eu = {
+    qt4 = callPackage (kdeLocale4 "eu" {}) {};
+    qt5 = callPackage (kdeLocale5 "eu" {}) {};
+  };
+  fa = {
+    qt4 = callPackage (kdeLocale4 "fa" {}) {};
+    qt5 = callPackage (kdeLocale5 "fa" {}) {};
+  };
+  fi = {
+    qt4 = callPackage (kdeLocale4 "fi" {}) {};
+    qt5 = callPackage (kdeLocale5 "fi" {}) {};
+  };
+  fr = {
+    qt4 = callPackage (kdeLocale4 "fr" {}) {};
+    qt5 = callPackage (kdeLocale5 "fr" {}) {};
+  };
+  ga = {
+    qt4 = callPackage (kdeLocale4 "ga" {}) {};
+    qt5 = callPackage (kdeLocale5 "ga" {}) {};
+  };
+  gl = {
+    qt4 = callPackage (kdeLocale4 "gl" {}) {};
+    qt5 = callPackage (kdeLocale5 "gl" {}) {};
+  };
+  he = {
+    qt4 = callPackage (kdeLocale4 "he" {}) {};
+    qt5 = callPackage (kdeLocale5 "he" {}) {};
+  };
+  hi = {
+    qt4 = callPackage (kdeLocale4 "hi" {}) {};
+    qt5 = callPackage (kdeLocale5 "hi" {}) {};
+  };
+  hr = {
+    qt4 = callPackage (kdeLocale4 "hr" {}) {};
+    qt5 = callPackage (kdeLocale5 "hr" {}) {};
+  };
+  hu = {
+    qt4 = callPackage (kdeLocale4 "hu" {}) {};
+    qt5 = callPackage (kdeLocale5 "hu" {}) {};
+  };
+  ia = {
+    qt4 = callPackage (kdeLocale4 "ia" {}) {};
+    qt5 = callPackage (kdeLocale5 "ia" {}) {};
+  };
+  id = {
+    qt4 = callPackage (kdeLocale4 "id" {}) {};
+    qt5 = callPackage (kdeLocale5 "id" {}) {};
+  };
+  is = {
+    qt4 = callPackage (kdeLocale4 "is" {}) {};
+    qt5 = callPackage (kdeLocale5 "is" {}) {};
+  };
+  it = {
+    qt4 = callPackage (kdeLocale4 "it" {}) {};
+    qt5 = callPackage (kdeLocale5 "it" {}) {};
+  };
+  ja = {
+    qt4 = callPackage (kdeLocale4 "ja" {}) {};
+    qt5 = callPackage (kdeLocale5 "ja" {}) {};
+  };
+  kk = {
+    qt4 = callPackage (kdeLocale4 "kk" {}) {};
+    qt5 = callPackage (kdeLocale5 "kk" {}) {};
+  };
+  km = {
+    qt4 = callPackage (kdeLocale4 "km" {}) {};
+    qt5 = callPackage (kdeLocale5 "km" {}) {};
+  };
+  ko = {
+    qt4 = callPackage (kdeLocale4 "ko" {}) {};
+    qt5 = callPackage (kdeLocale5 "ko" {}) {};
+  };
+  lt = {
+    qt4 = callPackage (kdeLocale4 "lt" {}) {};
+    qt5 = callPackage (kdeLocale5 "lt" {}) {};
+  };
+  lv = {
+    qt4 = callPackage (kdeLocale4 "lv" {}) {};
+    qt5 = callPackage (kdeLocale5 "lv" {}) {};
+  };
+  mr = {
+    qt4 = callPackage (kdeLocale4 "mr" {}) {};
+    qt5 = callPackage (kdeLocale5 "mr" {}) {};
+  };
+  nb = {
+    qt4 = callPackage (kdeLocale4 "nb" {}) {};
+    qt5 = callPackage (kdeLocale5 "nb" {}) {};
+  };
+  nds = {
+    qt4 = callPackage (kdeLocale4 "nds" {}) {};
+    qt5 = callPackage (kdeLocale5 "nds" {}) {};
+  };
+  nl = {
+    qt4 = callPackage (kdeLocale4 "nl" {}) {};
+    qt5 = callPackage (kdeLocale5 "nl" {}) {};
+  };
+  nn = {
+    qt4 = callPackage (kdeLocale4 "nn" {}) {};
+    qt5 = callPackage (kdeLocale5 "nn" {}) {};
+  };
+  pa = {
+    qt4 = callPackage (kdeLocale4 "pa" {}) {};
+    qt5 = callPackage (kdeLocale5 "pa" {}) {};
+  };
+  pl = {
+    qt4 = callPackage (kdeLocale4 "pl" {}) {};
+    qt5 = callPackage (kdeLocale5 "pl" {}) {};
+  };
+  pt = {
+    qt4 = callPackage (kdeLocale4 "pt" {}) {};
+    qt5 = callPackage (kdeLocale5 "pt" {}) {};
+  };
+  pt_BR = {
+    qt4 = callPackage (kdeLocale4 "pt_BR" {}) {};
+    qt5 = callPackage (kdeLocale5 "pt_BR" {}) {};
+  };
+  ro = {
+    qt4 = callPackage (kdeLocale4 "ro" {}) {};
+    qt5 = callPackage (kdeLocale5 "ro" {}) {};
+  };
+  ru = {
+    qt4 = callPackage (kdeLocale4 "ru" {}) {};
+    qt5 = callPackage (kdeLocale5 "ru" {}) {};
+  };
+  sk = {
+    qt4 = callPackage (kdeLocale4 "sk" {}) {};
+    qt5 = callPackage (kdeLocale5 "sk" {}) {};
+  };
+  sl = {
+    qt4 = callPackage (kdeLocale4 "sl" {}) {};
+    qt5 = callPackage (kdeLocale5 "sl" {}) {};
+  };
+  sr = {
+    qt4 = callPackage (kdeLocale4 "sr" {
+      preConfigure = ''
+        patchShebangs \
+            4/sr/sr@latin/scripts/ts-pmap-compile.py \
+            4/sr/scripts/ts-pmap-compile.py \
+            4/sr/data/resolve-sr-hybrid \
+            4/sr/sr@ijekavian/scripts/ts-pmap-compile.py \
+            4/sr/sr@ijekavianlatin/scripts/ts-pmap-compile.py
+        '';
+    }) {};
+    qt5 = callPackage (kdeLocale5 "sr" {
+      preConfigure = ''
+        patchShebangs 5/sr/cmake_modules/resolve-sr-hybrid
+        sed -e 's/add_subdirectory(kdesdk)//' -i 5/sr/data/CMakeLists.txt
+      '';
+    }) {};
+  };
+  sv = {
+    qt4 = callPackage (kdeLocale4 "sv" {}) {};
+    qt5 = callPackage (kdeLocale5 "sv" {}) {};
+  };
+  tr = {
+    qt4 = callPackage (kdeLocale4 "tr" {}) {};
+    qt5 = callPackage (kdeLocale5 "tr" {}) {};
+  };
+  ug = {
+    qt4 = callPackage (kdeLocale4 "ug" {}) {};
+    qt5 = callPackage (kdeLocale5 "ug" {}) {};
+  };
+  uk = {
+    qt4 = callPackage (kdeLocale4 "uk" {}) {};
+    qt5 = callPackage (kdeLocale5 "uk" {}) {};
+  };
+  wa = {
+    qt4 = callPackage (kdeLocale4 "wa" {}) {};
+    qt5 = callPackage (kdeLocale5 "wa" {}) {};
+  };
+  zh_CN = {
+    qt4 = callPackage (kdeLocale4 "zh_CN" {}) {};
+    qt5 = callPackage (kdeLocale5 "zh_CN" {}) {};
+  };
+  zh_TW = {
+    qt4 = callPackage (kdeLocale4 "zh_TW" {}) {};
+    qt5 = callPackage (kdeLocale5 "zh_TW" {}) {};
+  };
+}
diff --git a/pkgs/applications/kde/libkdcraw.nix b/pkgs/applications/kde/libkdcraw.nix
new file mode 100644
index 00000000000..421f7dbb4cf
--- /dev/null
+++ b/pkgs/applications/kde/libkdcraw.nix
@@ -0,0 +1,11 @@
+{ kdeApp, lib, ecm, libraw }:
+
+kdeApp {
+  name = "libkdcraw";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [ libraw ];
+}
diff --git a/pkgs/applications/kde/libkexiv2.nix b/pkgs/applications/kde/libkexiv2.nix
new file mode 100644
index 00000000000..0fac0759ab6
--- /dev/null
+++ b/pkgs/applications/kde/libkexiv2.nix
@@ -0,0 +1,11 @@
+{ kdeApp, lib, exiv2, ecm }:
+
+kdeApp {
+  name = "libkexiv2";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [ exiv2 ];
+}
diff --git a/pkgs/applications/kde/libkipi.nix b/pkgs/applications/kde/libkipi.nix
new file mode 100644
index 00000000000..fa9dcc8323d
--- /dev/null
+++ b/pkgs/applications/kde/libkipi.nix
@@ -0,0 +1,11 @@
+{ kdeApp, lib, ecm, kconfig, ki18n, kservice, kxmlgui }:
+
+kdeApp {
+  name = "libkipi";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [ kconfig ki18n kservice kxmlgui ];
+}
diff --git a/pkgs/applications/kde/libkomparediff2.nix b/pkgs/applications/kde/libkomparediff2.nix
new file mode 100644
index 00000000000..91b469fed3c
--- /dev/null
+++ b/pkgs/applications/kde/libkomparediff2.nix
@@ -0,0 +1,7 @@
+{ kdeApp, lib, ecm, ki18n, kxmlgui, kcodecs, kio }:
+
+kdeApp {
+  name = "libkomparediff2";
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [ kcodecs ki18n kxmlgui kio ];
+}
diff --git a/pkgs/applications/kde/marble.nix b/pkgs/applications/kde/marble.nix
new file mode 100644
index 00000000000..5b8a82dbf09
--- /dev/null
+++ b/pkgs/applications/kde/marble.nix
@@ -0,0 +1,25 @@
+{ kdeApp, lib, kdeWrapper
+, ecm, qtscript, qtsvg, qtquickcontrols
+, gpsd
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "marble";
+      meta.license = with lib.licenses; [ lgpl21 gpl3 ];
+
+      nativeBuildInputs = [ ecm ];
+      propagatedBuildInputs = [
+        qtscript qtsvg qtquickcontrols
+        gpsd
+      ];
+
+      enableParallelBuilding = true;
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/marble-qt" ];
+  paths = [ unwrapped ];
+}
diff --git a/pkgs/applications/kde/okteta.nix b/pkgs/applications/kde/okteta.nix
new file mode 100644
index 00000000000..6683b9876fc
--- /dev/null
+++ b/pkgs/applications/kde/okteta.nix
@@ -0,0 +1,26 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kconfig, kinit,
+  kcmutils, kconfigwidgets, knewstuff, kparts, qca-qt5
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "okteta";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = with lib.maintainers; [ peterhoeg ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kconfig kinit
+        kcmutils kconfigwidgets knewstuff kparts qca-qt5
+      ];
+    };
+
+in kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/okteta" ];
+}
diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix
new file mode 100644
index 00000000000..499e8cc9368
--- /dev/null
+++ b/pkgs/applications/kde/okular.nix
@@ -0,0 +1,31 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  djvulibre, ebook_tools, kactivities, karchive, kbookmarks, kcompletion,
+  kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdegraphics-mobipocket,
+  kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, kwindowsystem, libkexiv2,
+  libspectre, poppler, qca-qt5, qtdeclarative, qtsvg, threadweaver
+}:
+
+let
+  unwrapped = kdeApp {
+    name = "okular";
+    nativeBuildInputs = [ ecm kdoctools ];
+    propagatedBuildInputs = [
+      djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig
+      kconfigwidgets kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes
+      kjs khtml kio kparts kpty kwallet kwindowsystem libkexiv2 libspectre poppler
+      qca-qt5 qtdeclarative qtsvg threadweaver
+    ];
+    meta = {
+      platforms = lib.platforms.linux;
+      homepage = "http://www.kde.org";
+      license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+      maintainers = [ lib.maintainers.ttuegel ];
+    };
+  };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/okular" ];
+}
diff --git a/pkgs/applications/kde/print-manager.nix b/pkgs/applications/kde/print-manager.nix
new file mode 100644
index 00000000000..c4a82780b44
--- /dev/null
+++ b/pkgs/applications/kde/print-manager.nix
@@ -0,0 +1,20 @@
+{
+  kdeApp, lib, ecm,
+  cups, kconfig, kconfigwidgets, kdbusaddons, kiconthemes, ki18n, kcmutils, kio,
+  knotifications, kwidgetsaddons, kwindowsystem, kitemviews, plasma-framework,
+  qtdeclarative
+}:
+
+kdeApp {
+  name = "print-manager";
+  meta = {
+    license = [ lib.licenses.gpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+  nativeBuildInputs = [ ecm ];
+  propagatedBuildInputs = [
+    cups kconfig kconfigwidgets kdbusaddons kiconthemes kcmutils knotifications
+    kwidgetsaddons kitemviews ki18n kio kwindowsystem plasma-framework
+    qtdeclarative
+  ];
+}
diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix
new file mode 100644
index 00000000000..4c3a5246b2e
--- /dev/null
+++ b/pkgs/applications/kde/spectacle.nix
@@ -0,0 +1,25 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kconfig, kcoreaddons, kdbusaddons, kdeclarative, ki18n, kio, kipi-plugins,
+  knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
+  xcb-util-cursor
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "spectacle";
+      meta = with lib; { maintainers = with maintainers; [ ttuegel ]; };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
+        kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi xcb-util-cursor
+      ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/spectacle" ];
+  paths = [ kipi-plugins ];
+}
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
new file mode 100644
index 00000000000..60c412e55fd
--- /dev/null
+++ b/pkgs/applications/kde/srcs.nix
@@ -0,0 +1,2229 @@
+# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
+{ fetchurl, mirror }:
+
+{
+  akonadi = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-16.12.2.tar.xz";
+      sha256 = "1csaa69n65d3cnkajzk5702vxskfaiajvxw724s17a5y6sgk0h5z";
+      name = "akonadi-16.12.2.tar.xz";
+    };
+  };
+  akonadi-calendar = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-calendar-16.12.2.tar.xz";
+      sha256 = "1qfkwmh82l5ahzjpsla9gwwk2kqxv773ddq8f5h52qlxx56agc6k";
+      name = "akonadi-calendar-16.12.2.tar.xz";
+    };
+  };
+  akonadi-calendar-tools = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-calendar-tools-16.12.2.tar.xz";
+      sha256 = "1isjvsas6fnz2v2a8yl6ggkimfknr56a3zydwhq59lzcm15hn0hj";
+      name = "akonadi-calendar-tools-16.12.2.tar.xz";
+    };
+  };
+  akonadiconsole = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadiconsole-16.12.2.tar.xz";
+      sha256 = "188qb2lc6d0xhvq8n5y7ax13a6wz3agg1mx3j2kphwn8f53grgzb";
+      name = "akonadiconsole-16.12.2.tar.xz";
+    };
+  };
+  akonadi-contacts = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-contacts-16.12.2.tar.xz";
+      sha256 = "1ixd1qzakxhq9qlfr6l8igii2ny8fi8hxasdadq9cyr5jl20rpgp";
+      name = "akonadi-contacts-16.12.2.tar.xz";
+    };
+  };
+  akonadi-import-wizard = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-import-wizard-16.12.2.tar.xz";
+      sha256 = "0xdmcs8l0lqqx2f2yabp1xx60h1jcz05q7lk6zzapzc0xqa8pqnq";
+      name = "akonadi-import-wizard-16.12.2.tar.xz";
+    };
+  };
+  akonadi-mime = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-mime-16.12.2.tar.xz";
+      sha256 = "0w88splvk1ci6l590kybb8dgddhk8q0mqag1xxliws534kl9bd0s";
+      name = "akonadi-mime-16.12.2.tar.xz";
+    };
+  };
+  akonadi-notes = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-notes-16.12.2.tar.xz";
+      sha256 = "181d4sv6vqrx0iy5fwdpd28h78i0jy4bj51jxbdn7fqmx1mavbkl";
+      name = "akonadi-notes-16.12.2.tar.xz";
+    };
+  };
+  akonadi-search = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akonadi-search-16.12.2.tar.xz";
+      sha256 = "1jfcpjn45cxxnfg9y15fjkig6nfj6w8ggq3a7339kdhb79lkh1p5";
+      name = "akonadi-search-16.12.2.tar.xz";
+    };
+  };
+  akregator = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/akregator-16.12.2.tar.xz";
+      sha256 = "0yyjpl6kajy0ip60m6vf0jnm217m5ax34a5y14k1wj7civ4fz9il";
+      name = "akregator-16.12.2.tar.xz";
+    };
+  };
+  analitza = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/analitza-16.12.2.tar.xz";
+      sha256 = "1jii70a2nppfzqlzwrjvawfq2cfjqrcsj0mbpgahb8zphcfs5xhy";
+      name = "analitza-16.12.2.tar.xz";
+    };
+  };
+  ark = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ark-16.12.2.tar.xz";
+      sha256 = "07jp25jqnfcx48x7w0wwyldk56czyx2341yf2k73p3fy67rldlr3";
+      name = "ark-16.12.2.tar.xz";
+    };
+  };
+  artikulate = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/artikulate-16.12.2.tar.xz";
+      sha256 = "11065zl5gdc1q7rvzmjvbz33k9xhdph7ynqwnv628c6a0478xwc5";
+      name = "artikulate-16.12.2.tar.xz";
+    };
+  };
+  audiocd-kio = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/audiocd-kio-16.12.2.tar.xz";
+      sha256 = "184grq1nfpv9sfcsk6kcx6bdnbh938jc3qr6n00gnnj509347xga";
+      name = "audiocd-kio-16.12.2.tar.xz";
+    };
+  };
+  baloo-widgets = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/baloo-widgets-16.12.2.tar.xz";
+      sha256 = "000v5s33j6qsdbxqf856si0z5dmh9dan41kf2lrzc017hj6pr34x";
+      name = "baloo-widgets-16.12.2.tar.xz";
+    };
+  };
+  blinken = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/blinken-16.12.2.tar.xz";
+      sha256 = "1wcl8199wg74cv9hyrhcpqkf1awpf3q960jzgfv0z0c28xywb76x";
+      name = "blinken-16.12.2.tar.xz";
+    };
+  };
+  blogilo = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/blogilo-16.12.2.tar.xz";
+      sha256 = "0j5mz8nfndr0g99l84s7n3gxrj6y4jbql1srnyl0yspmcjwmnc09";
+      name = "blogilo-16.12.2.tar.xz";
+    };
+  };
+  bomber = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/bomber-16.12.2.tar.xz";
+      sha256 = "1fy17y5grir6kbr7xzclslrxyip4favhag6wasg9ah60r6k15cqc";
+      name = "bomber-16.12.2.tar.xz";
+    };
+  };
+  bovo = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/bovo-16.12.2.tar.xz";
+      sha256 = "0dszbxisq172x5jv10w62wg3kcs1f8wdxgw9pjq423j3jq8rw9zq";
+      name = "bovo-16.12.2.tar.xz";
+    };
+  };
+  calendarsupport = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/calendarsupport-16.12.2.tar.xz";
+      sha256 = "065h09kq6h2hr4lg34lqckw0g91zkhxpviagdgymx7qpdy36l2sb";
+      name = "calendarsupport-16.12.2.tar.xz";
+    };
+  };
+  cantor = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/cantor-16.12.2.tar.xz";
+      sha256 = "055sxyl2x2mipnidrsgkmbjy4vw64pf5k0fql64p7pjhknn3i6x4";
+      name = "cantor-16.12.2.tar.xz";
+    };
+  };
+  cervisia = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/cervisia-16.12.2.tar.xz";
+      sha256 = "1fdnvdp27wa8pni4vq501ajdln6dmg2kc0468x1c375g734npabx";
+      name = "cervisia-16.12.2.tar.xz";
+    };
+  };
+  dolphin = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/dolphin-16.12.2.tar.xz";
+      sha256 = "1xqkrkhpcxcrrk3msd7fkhqikwrx2mjd0c4cna2iwd0s4h7ahmy6";
+      name = "dolphin-16.12.2.tar.xz";
+    };
+  };
+  dolphin-plugins = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/dolphin-plugins-16.12.2.tar.xz";
+      sha256 = "07i4w95b20db51bzg0rnx6m3dgk2bz5nwivz6zngfiiksmb39dj3";
+      name = "dolphin-plugins-16.12.2.tar.xz";
+    };
+  };
+  dragon = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/dragon-16.12.2.tar.xz";
+      sha256 = "07iip379kpwy8yfiwacykkgzj7bfw2nz3vij61q68lr64k5sg4kk";
+      name = "dragon-16.12.2.tar.xz";
+    };
+  };
+  eventviews = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/eventviews-16.12.2.tar.xz";
+      sha256 = "1hl0adi0ss533mnncyih3y9075i90accklbk8068dvxb7la9b7zd";
+      name = "eventviews-16.12.2.tar.xz";
+    };
+  };
+  ffmpegthumbs = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ffmpegthumbs-16.12.2.tar.xz";
+      sha256 = "0p1fqxqcgz3k910acacr86pa66yl5d65wxf93nlg4627dfhmrbkc";
+      name = "ffmpegthumbs-16.12.2.tar.xz";
+    };
+  };
+  filelight = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/filelight-16.12.2.tar.xz";
+      sha256 = "0ynqnagyrn61gzvi0rl38200yxbxa2zpch3cl917wff527kjd7cw";
+      name = "filelight-16.12.2.tar.xz";
+    };
+  };
+  granatier = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/granatier-16.12.2.tar.xz";
+      sha256 = "01b0nvfj5v2spaml003bpd4f5snncxsilfplwgb06kf8wwsb9mzd";
+      name = "granatier-16.12.2.tar.xz";
+    };
+  };
+  grantlee-editor = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/grantlee-editor-16.12.2.tar.xz";
+      sha256 = "16r1f7vwsqfngv3kld4wqmvxn4pnxgcpiaaxa2z9szsjfrz10bp9";
+      name = "grantlee-editor-16.12.2.tar.xz";
+    };
+  };
+  grantleetheme = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/grantleetheme-16.12.2.tar.xz";
+      sha256 = "09qr7icbkq4my594xkjkydkfwx8sixbc73i3gxjnki64w549gan2";
+      name = "grantleetheme-16.12.2.tar.xz";
+    };
+  };
+  gwenview = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/gwenview-16.12.2.tar.xz";
+      sha256 = "1ldflh10b34r9xy8a8yh72jcjdxs3ylhyjhs97xcg381q4dyg1dr";
+      name = "gwenview-16.12.2.tar.xz";
+    };
+  };
+  incidenceeditor = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/incidenceeditor-16.12.2.tar.xz";
+      sha256 = "0z8ysrdkxfkn71anlzifd0dxh6fysl924jh4wjsphb4dnb417rym";
+      name = "incidenceeditor-16.12.2.tar.xz";
+    };
+  };
+  jovie = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/jovie-16.12.2.tar.xz";
+      sha256 = "19ifp3p02ayka2zqnwfq381mjqpxhm0hydf1yx9lh2p8n6j9s4gy";
+      name = "jovie-16.12.2.tar.xz";
+    };
+  };
+  juk = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/juk-16.12.2.tar.xz";
+      sha256 = "1453s0zxagqmx91f3x7fqrb6xdlgzr2sqj6hcj2pgl6jaz2x3n1c";
+      name = "juk-16.12.2.tar.xz";
+    };
+  };
+  kaccessible = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kaccessible-16.12.2.tar.xz";
+      sha256 = "1ibh2nw4bdnj1ll8qp3d3vkwvzdkv2k53n98p9282w3jhckpiq5r";
+      name = "kaccessible-16.12.2.tar.xz";
+    };
+  };
+  kaccounts-integration = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kaccounts-integration-16.12.2.tar.xz";
+      sha256 = "0nx9wlh7arjqz0wf2zyaj3fwzm7sn38hn00m74mj7zvxr1pwcypv";
+      name = "kaccounts-integration-16.12.2.tar.xz";
+    };
+  };
+  kaccounts-providers = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kaccounts-providers-16.12.2.tar.xz";
+      sha256 = "0dln1l44bzaw782qjc57w2hgydbqzn4g7xh8d93qq52yz8ph875g";
+      name = "kaccounts-providers-16.12.2.tar.xz";
+    };
+  };
+  kaddressbook = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kaddressbook-16.12.2.tar.xz";
+      sha256 = "023mfnin8si234yczhhfm3nk083w8bixg1b3gr8bzc1x92ka93m2";
+      name = "kaddressbook-16.12.2.tar.xz";
+    };
+  };
+  kajongg = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kajongg-16.12.2.tar.xz";
+      sha256 = "0909hzwj8yf6sv97r2rgzbp8l7ixlxxy8nwy8dcv471dznlvqznn";
+      name = "kajongg-16.12.2.tar.xz";
+    };
+  };
+  kalarm = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kalarm-16.12.2.tar.xz";
+      sha256 = "1znp4lym95jz93wwn1nrw9q8nkbwg7x489iccndrv4pl93jfsnqk";
+      name = "kalarm-16.12.2.tar.xz";
+    };
+  };
+  kalarmcal = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kalarmcal-16.12.2.tar.xz";
+      sha256 = "06rx33hdwz940cggr5rg6g1gh84yzz6vrnvk5lrgr8vxqgrssp3s";
+      name = "kalarmcal-16.12.2.tar.xz";
+    };
+  };
+  kalgebra = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kalgebra-16.12.2.tar.xz";
+      sha256 = "02yykjrsa01r697bk4jsly7762hvml7f67gy33vgywhh8lz3h3cd";
+      name = "kalgebra-16.12.2.tar.xz";
+    };
+  };
+  kalzium = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kalzium-16.12.2.tar.xz";
+      sha256 = "043prql6bwg2ka6y0inh8h46y7d5060b0h2inw0lhm49vizgkmsh";
+      name = "kalzium-16.12.2.tar.xz";
+    };
+  };
+  kamera = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kamera-16.12.2.tar.xz";
+      sha256 = "1kxmjpk0vdj9s3kxgcp2vw8dpx4r69j3jwifyvzrh06sg9z0bnqd";
+      name = "kamera-16.12.2.tar.xz";
+    };
+  };
+  kanagram = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kanagram-16.12.2.tar.xz";
+      sha256 = "09d20x0z066pgkwp25ig49v78k89nyxs769a3zjmq1y490nm34y1";
+      name = "kanagram-16.12.2.tar.xz";
+    };
+  };
+  kapman = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kapman-16.12.2.tar.xz";
+      sha256 = "0g9swdgz8sd49q3sw2107b50ww978nppzp1b7bkv7ygiz49p28bq";
+      name = "kapman-16.12.2.tar.xz";
+    };
+  };
+  kapptemplate = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kapptemplate-16.12.2.tar.xz";
+      sha256 = "1agpq16wxbzd7crgbj1cj60alqv090dkvxi2szg054bmks82j6rc";
+      name = "kapptemplate-16.12.2.tar.xz";
+    };
+  };
+  kate = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kate-16.12.2.tar.xz";
+      sha256 = "1hkqzidd2cfp3wg7pq47ymsw1dh26qwn4cybnxw23d95ss85wx2p";
+      name = "kate-16.12.2.tar.xz";
+    };
+  };
+  katomic = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/katomic-16.12.2.tar.xz";
+      sha256 = "1sgi8npzq3p7qwv3c4q8ji83gp33zxb0i19dx2i6rb45lir3lj68";
+      name = "katomic-16.12.2.tar.xz";
+    };
+  };
+  kblackbox = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kblackbox-16.12.2.tar.xz";
+      sha256 = "1cv5kqyqspiz0aaamnyq37s683m2iw27ma6yf3blm5f9g1r43n2k";
+      name = "kblackbox-16.12.2.tar.xz";
+    };
+  };
+  kblocks = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kblocks-16.12.2.tar.xz";
+      sha256 = "1xd5pxpi97nmrp4xglhm2qfpz8ksv8vyq4wrv25qbgvfc8jis790";
+      name = "kblocks-16.12.2.tar.xz";
+    };
+  };
+  kblog = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kblog-16.12.2.tar.xz";
+      sha256 = "001mqvahsmf4amxqmz2ah5chlgpp2zi8g4pcg83qb9d65cvr6877";
+      name = "kblog-16.12.2.tar.xz";
+    };
+  };
+  kbounce = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kbounce-16.12.2.tar.xz";
+      sha256 = "1gsrafcjk55lbxi2mx382hj2lahlgnn3pv13ldi7zh6ms4sms1wm";
+      name = "kbounce-16.12.2.tar.xz";
+    };
+  };
+  kbreakout = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kbreakout-16.12.2.tar.xz";
+      sha256 = "0lwwz17ynhdi6qw76yih8an6p890w8gwh1khsr8casc1wlm04s0y";
+      name = "kbreakout-16.12.2.tar.xz";
+    };
+  };
+  kbruch = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kbruch-16.12.2.tar.xz";
+      sha256 = "1n119nkm0385pv8pngsbwxd56v6y6pwh0rshbk0ryd7974i2z4mi";
+      name = "kbruch-16.12.2.tar.xz";
+    };
+  };
+  kcachegrind = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcachegrind-16.12.2.tar.xz";
+      sha256 = "0wcizav1z3n31n7qcc05mx42vl2rv71c7haaa8vn0ma39rj4iaqv";
+      name = "kcachegrind-16.12.2.tar.xz";
+    };
+  };
+  kcalc = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcalc-16.12.2.tar.xz";
+      sha256 = "07lyssmkq34ym1w3ajm1vf4f57xv2h8y2zb039vj7gdx609syaq0";
+      name = "kcalc-16.12.2.tar.xz";
+    };
+  };
+  kcalcore = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcalcore-16.12.2.tar.xz";
+      sha256 = "1lq5shp8jwy490qx0rnc0sd67976r7j3sblzw0j5hn95k8n23hzd";
+      name = "kcalcore-16.12.2.tar.xz";
+    };
+  };
+  kcalutils = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcalutils-16.12.2.tar.xz";
+      sha256 = "1sf5f8mwjdi2d8lpkrprnqc9jkj72p6mdz3pbczmixgfy7d7y4ci";
+      name = "kcalutils-16.12.2.tar.xz";
+    };
+  };
+  kcharselect = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcharselect-16.12.2.tar.xz";
+      sha256 = "0a5cmc6n9h8h64in68qdi8bmqx341fvm8vf98vcqn5sivwwnflhc";
+      name = "kcharselect-16.12.2.tar.xz";
+    };
+  };
+  kcolorchooser = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcolorchooser-16.12.2.tar.xz";
+      sha256 = "07psjid00bjw0s6xx2hq96f8cj2axdsr7lqvgrclksa07lphzcvm";
+      name = "kcolorchooser-16.12.2.tar.xz";
+    };
+  };
+  kcontacts = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcontacts-16.12.2.tar.xz";
+      sha256 = "18z7894xh1ifkg177xxy41n61djcy07m8a39favbpab0ya1xk81l";
+      name = "kcontacts-16.12.2.tar.xz";
+    };
+  };
+  kcron = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kcron-16.12.2.tar.xz";
+      sha256 = "1z72wcrr8ggw89ivq70v98zwg1hw3sn5l5czpq00scqpaf8664g2";
+      name = "kcron-16.12.2.tar.xz";
+    };
+  };
+  kdebugsettings = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdebugsettings-16.12.2.tar.xz";
+      sha256 = "1zbmvn9c1sjjxiskivl0s4mpmh52hqj7921v2bac7bvqd2hkc5cv";
+      name = "kdebugsettings-16.12.2.tar.xz";
+    };
+  };
+  kde-dev-scripts = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-dev-scripts-16.12.2.tar.xz";
+      sha256 = "0l4sbzpnczixavyppc3swb09jna44rb61awwgh37ngsz97iza3sx";
+      name = "kde-dev-scripts-16.12.2.tar.xz";
+    };
+  };
+  kde-dev-utils = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-dev-utils-16.12.2.tar.xz";
+      sha256 = "0fhf9w5v355jsrr25yhj612gi0qh8kvrbfdfplns04q7viycn44f";
+      name = "kde-dev-utils-16.12.2.tar.xz";
+    };
+  };
+  kdeedu-data = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdeedu-data-16.12.2.tar.xz";
+      sha256 = "05jhqasi5h5dl4xlydx6jmn1i81qd8q8bzimhc2f9bwakkhqf73b";
+      name = "kdeedu-data-16.12.2.tar.xz";
+    };
+  };
+  kdegraphics-mobipocket = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdegraphics-mobipocket-16.12.2.tar.xz";
+      sha256 = "07mpm55ipdqq6absvhcsrbc3c9xmb3b5bnl5k852mqpp0v36ijs8";
+      name = "kdegraphics-mobipocket-16.12.2.tar.xz";
+    };
+  };
+  kdegraphics-thumbnailers = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdegraphics-thumbnailers-16.12.2.tar.xz";
+      sha256 = "0asv8wjr5nm5i6zylvhn8qgxvpr79yg681rc6mg1liimimwzxia3";
+      name = "kdegraphics-thumbnailers-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ar = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ar-16.12.2.tar.xz";
+      sha256 = "0an0r2l4vc2sdi4lc2p7iks9gnwasgvxnq81vf3qb40q290x4fim";
+      name = "kde-l10n-ar-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ast = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ast-16.12.2.tar.xz";
+      sha256 = "0fjpypz9w1ic9w75gpp1c71l43x3j8nm37h1bgbqkyik3spxin2l";
+      name = "kde-l10n-ast-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-bg = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-bg-16.12.2.tar.xz";
+      sha256 = "1iwcs8nz2rfi0b05ypl6mydiw02c64hscy3zlz998nww65x3nks0";
+      name = "kde-l10n-bg-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-bs = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-bs-16.12.2.tar.xz";
+      sha256 = "0kps4paygx10l2nijwd946wns6sxlgn2771fzv1cmn5h1smffhkn";
+      name = "kde-l10n-bs-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ca = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ca-16.12.2.tar.xz";
+      sha256 = "0r6yccw7fdi2dsz9qf9rccgdmznkc66z5c51asdhrmyzq4x7c7r2";
+      name = "kde-l10n-ca-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ca_valencia = {
+    version = "ca_valencia-16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ca@valencia-16.12.2.tar.xz";
+      sha256 = "15wpsjzk9z61rpai8dzpzi5j9w57nmhm7fx4b6i5hsr9c4ypmi01";
+      name = "kde-l10n-ca_valencia-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-cs = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-cs-16.12.2.tar.xz";
+      sha256 = "1z6a3rl7p0wmq6zs8fap052dp5hvlpzxf4xvjxk9c75wl2m9nvlg";
+      name = "kde-l10n-cs-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-da = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-da-16.12.2.tar.xz";
+      sha256 = "0zi7h0cvzza1ly88821fsl2bnr2vn524rrdqsfc9yj3z1jbpnn2h";
+      name = "kde-l10n-da-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-de = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-de-16.12.2.tar.xz";
+      sha256 = "0s1c22ad1r0qxpkc878gxz2wqkb52qrn1k753kqpn9105p5l92fh";
+      name = "kde-l10n-de-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-el = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-el-16.12.2.tar.xz";
+      sha256 = "02d4j12yr4v9apa3iziza611v6cgjf6725wgd41g00pj41p61kcq";
+      name = "kde-l10n-el-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-en_GB = {
+    version = "en_GB-16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-en_GB-16.12.2.tar.xz";
+      sha256 = "09h3zsq5qhzyagl8xysv74g2iv26739y02xgbwv5dahv0iln99rs";
+      name = "kde-l10n-en_GB-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-eo = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-eo-16.12.2.tar.xz";
+      sha256 = "1isqdnnj1g9jxagns3yq611pfd6nbanji9a8igfgm55djj5hx527";
+      name = "kde-l10n-eo-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-es = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-es-16.12.2.tar.xz";
+      sha256 = "0h3c5an1i072rk9mkc9mc6k3bvlk37slhgl6qy3rs2l77mhhnpyi";
+      name = "kde-l10n-es-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-et = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-et-16.12.2.tar.xz";
+      sha256 = "0dpkxwpl17pgimx94v67wq90fzdayp6p3wcz7y0g8b0hn3bsbidj";
+      name = "kde-l10n-et-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-eu = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-eu-16.12.2.tar.xz";
+      sha256 = "0q7l5s502ayr2vfa4ysvk4c6k5i8y5ci6yb34mm3lpwlain3bssb";
+      name = "kde-l10n-eu-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-fa = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-fa-16.12.2.tar.xz";
+      sha256 = "03qvv814kvddf24fjvg55pbxaq58kc936b5qwbddxjr05n1dy964";
+      name = "kde-l10n-fa-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-fi = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-fi-16.12.2.tar.xz";
+      sha256 = "0902bbyi10vpn0qn0xn46p8fy98kaa4cvlgnn4cb2dgp8q3kni8j";
+      name = "kde-l10n-fi-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-fr = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-fr-16.12.2.tar.xz";
+      sha256 = "0zjlryvyq8z2llrba4hp3awz5hq74b6z21wp2x86g4k6y154i0as";
+      name = "kde-l10n-fr-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ga = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ga-16.12.2.tar.xz";
+      sha256 = "1gwd4r28qv5sh4r008nq5mdzzb8cwq8dg17r19l3syydxxhjlf86";
+      name = "kde-l10n-ga-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-gl = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-gl-16.12.2.tar.xz";
+      sha256 = "1jka29dh5aqdzgmqc9rf3lmrq4mm4vahhsk2klhp12ajzp9dgg70";
+      name = "kde-l10n-gl-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-he = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-he-16.12.2.tar.xz";
+      sha256 = "0g87g0mpa3i59fk4fm5hk2z54s07cy9niy2kal50fbm5lnr7czfk";
+      name = "kde-l10n-he-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-hi = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-hi-16.12.2.tar.xz";
+      sha256 = "05q608wic0ssx0d14n39s786k8xw86hc560ywfs3k89v973nba5b";
+      name = "kde-l10n-hi-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-hr = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-hr-16.12.2.tar.xz";
+      sha256 = "0sm7ba6x3hgw1ml6qm00g9dfi56w2kx3pk37944l3r4jx2wdqs4f";
+      name = "kde-l10n-hr-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-hu = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-hu-16.12.2.tar.xz";
+      sha256 = "1qcdqm6wjcgd5br99mm93lwlaxk5dvrliyj1ff4bxfxx0cabhx2g";
+      name = "kde-l10n-hu-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ia = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ia-16.12.2.tar.xz";
+      sha256 = "0r1fryhi4czgbl1r228zry0msk11s075y15i4flznwdps99s5q8c";
+      name = "kde-l10n-ia-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-id = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-id-16.12.2.tar.xz";
+      sha256 = "1lz51bilx8dziiff65l91pknif9w7390q3l9amdlcjq86cj44khz";
+      name = "kde-l10n-id-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-is = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-is-16.12.2.tar.xz";
+      sha256 = "08bqhxppib360ywzmphjqx5yalzr3bgwpqkff79rl5ffq9dd4psv";
+      name = "kde-l10n-is-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-it = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-it-16.12.2.tar.xz";
+      sha256 = "12k9vqdr2nrcqh535crylxrmznndx7bkwz68vrdvqidlabd0ci7m";
+      name = "kde-l10n-it-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ja = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ja-16.12.2.tar.xz";
+      sha256 = "0i9hc66qlnq0yij9d3754m5wa2wkra95wcdbp6xwk82ws7lkckai";
+      name = "kde-l10n-ja-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-kk = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-kk-16.12.2.tar.xz";
+      sha256 = "1h9scz1z046szxf54702w3wzlsvzr8016rx9fwg7z5fc1vpkhxxn";
+      name = "kde-l10n-kk-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-km = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-km-16.12.2.tar.xz";
+      sha256 = "09vw686y9qdx09cz58d11ldqz5bsnch1sx2dsbxvp1drypb1nhxk";
+      name = "kde-l10n-km-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ko = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ko-16.12.2.tar.xz";
+      sha256 = "1q9kla2djqsvkj773wybxb1lds50v0lg3jkfpnrg2pvm49jl2c9g";
+      name = "kde-l10n-ko-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-lt = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-lt-16.12.2.tar.xz";
+      sha256 = "1i6nzmqm1sl895x7hnsk9snw2ci8cbdvswdfbvllqivcd8l4vmg5";
+      name = "kde-l10n-lt-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-lv = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-lv-16.12.2.tar.xz";
+      sha256 = "0why1sa09pd7pwwa57c27y969ijgmjsmni8x7n9gxx5w0317kq9d";
+      name = "kde-l10n-lv-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-mr = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-mr-16.12.2.tar.xz";
+      sha256 = "0wkncbs5di9vlcfqbc8g4msp6kp926049jlkj4jhvgj1in434ay8";
+      name = "kde-l10n-mr-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-nb = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nb-16.12.2.tar.xz";
+      sha256 = "0p9yq33jzh83c1471072p94mrx8jazrinb987ifrl5lk8m54k34z";
+      name = "kde-l10n-nb-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-nds = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nds-16.12.2.tar.xz";
+      sha256 = "1yb7axm4k1rlfp41s9q8ql7l2mjbyrf7ry1ww7c1rprcb93gm7f8";
+      name = "kde-l10n-nds-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-nl = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nl-16.12.2.tar.xz";
+      sha256 = "04d75kfxxijb4a7xk5saxz5vbrwfsl2nx0i4x3d4i2k06wzysvch";
+      name = "kde-l10n-nl-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-nn = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-nn-16.12.2.tar.xz";
+      sha256 = "09vmvvmakcybgy6zl51xj05wflq88xkbjmns4wv42jf0fn4kipif";
+      name = "kde-l10n-nn-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-pa = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pa-16.12.2.tar.xz";
+      sha256 = "0nv9pch0s24aamcz8lgbs26kp343kyw0rnz4a7myzcrb8g8sm0d3";
+      name = "kde-l10n-pa-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-pl = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pl-16.12.2.tar.xz";
+      sha256 = "1bxhcqwmcfl2srfrn50ib57890m3m6w4x9vwn24qxwapb9s6nzav";
+      name = "kde-l10n-pl-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-pt = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pt-16.12.2.tar.xz";
+      sha256 = "02x96cdvrbdcmrhnn4pamsdnr8m530p047avh82xvjvqywsnqf7z";
+      name = "kde-l10n-pt-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-pt_BR = {
+    version = "pt_BR-16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-pt_BR-16.12.2.tar.xz";
+      sha256 = "17155laifayfb5c2hznlpnmaa8kwxzlmk7yb2skrf92fzzqx2379";
+      name = "kde-l10n-pt_BR-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ro = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ro-16.12.2.tar.xz";
+      sha256 = "1zsng3m031cbyz1jl5lv1fjg5vb3ig3pk0gaamvxbs6fxaz14ss3";
+      name = "kde-l10n-ro-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ru = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ru-16.12.2.tar.xz";
+      sha256 = "1shs2j4kqqf2b8jz2691yi45f5bpsr9nx2i5j67mmn94dnds4ps6";
+      name = "kde-l10n-ru-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-sk = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sk-16.12.2.tar.xz";
+      sha256 = "1397sxczn9jdxbab3d9296w15swc40a8ypa3f4yhckqm4nmr8xn1";
+      name = "kde-l10n-sk-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-sl = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sl-16.12.2.tar.xz";
+      sha256 = "1z14sbdk5zdshn36wija4hkj7l825i336bz92rq42f8by4mha0h4";
+      name = "kde-l10n-sl-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-sr = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sr-16.12.2.tar.xz";
+      sha256 = "12v6whnydgxxpx9vl3pimnxqny22kfiv51i1r9dk6vfqik18kxzy";
+      name = "kde-l10n-sr-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-sv = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-sv-16.12.2.tar.xz";
+      sha256 = "10dzz39779lbb5mcnnmhwm86pkwc2g5qyiqg5jzpf0mg1zbl9y3w";
+      name = "kde-l10n-sv-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-tr = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-tr-16.12.2.tar.xz";
+      sha256 = "0m4rgz7ha2i9bladavc5g3n94kai82ilx8akd2jcxz6q3wb75r0r";
+      name = "kde-l10n-tr-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-ug = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-ug-16.12.2.tar.xz";
+      sha256 = "1kjdiy92pi5vdxbfy61ckq8j9pc8kmrccfqnlm7yqvh8p5i28p2x";
+      name = "kde-l10n-ug-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-uk = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-uk-16.12.2.tar.xz";
+      sha256 = "1nhclnwy5lgkzhs6lm8dkhh4957v78rv2d9ss13a1jn2salz5kfv";
+      name = "kde-l10n-uk-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-wa = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-wa-16.12.2.tar.xz";
+      sha256 = "12f2kvks21hj5gjqjys7fa295148j0ndhxbzs5jysl0zq9y4909j";
+      name = "kde-l10n-wa-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-zh_CN = {
+    version = "zh_CN-16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-zh_CN-16.12.2.tar.xz";
+      sha256 = "1v21kap5lyzgygqv02jjx9yrfnkjkk0qrd85l0pjhqjyycs5r97w";
+      name = "kde-l10n-zh_CN-16.12.2.tar.xz";
+    };
+  };
+  kde-l10n-zh_TW = {
+    version = "zh_TW-16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-l10n/kde-l10n-zh_TW-16.12.2.tar.xz";
+      sha256 = "049q9d9ykhxk0dkmm4aw7fx1aa39s5cslk4011335jmg1msmrfna";
+      name = "kde-l10n-zh_TW-16.12.2.tar.xz";
+    };
+  };
+  kdelibs = {
+    version = "4.14.29";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdelibs-4.14.29.tar.xz";
+      sha256 = "0xvw0cscvz8arclgfhrrbgdg94mz4h9y33nyndlsw67qrbg8slqv";
+      name = "kdelibs-4.14.29.tar.xz";
+    };
+  };
+  kdenetwork-filesharing = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdenetwork-filesharing-16.12.2.tar.xz";
+      sha256 = "0q43c2xim5ibxyib1xz1wfz6bigkmk97bkvy9wrlk869c0qvrcn5";
+      name = "kdenetwork-filesharing-16.12.2.tar.xz";
+    };
+  };
+  kdenlive = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdenlive-16.12.2.tar.xz";
+      sha256 = "116lk641qlx8jkiaxm54g6svc6adg0bilhf634cyc8c46991a8z7";
+      name = "kdenlive-16.12.2.tar.xz";
+    };
+  };
+  kdepim-addons = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdepim-addons-16.12.2.tar.xz";
+      sha256 = "1gi87bbdkj8cwinhicr5r6qxysc5rmylj8gajn0qh99rsyxy52dn";
+      name = "kdepim-addons-16.12.2.tar.xz";
+    };
+  };
+  kdepim-apps-libs = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdepim-apps-libs-16.12.2.tar.xz";
+      sha256 = "07imq7nb1aqan8pbapvqg9mkzj18pj1v9xah9lpi6k64rhh0bkw9";
+      name = "kdepim-apps-libs-16.12.2.tar.xz";
+    };
+  };
+  kdepim-runtime = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdepim-runtime-16.12.2.tar.xz";
+      sha256 = "0wd04zhc7nq2qf8iyjqf036bjs5by0zl0c58hl8r579b7gp5xljz";
+      name = "kdepim-runtime-16.12.2.tar.xz";
+    };
+  };
+  kde-runtime = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kde-runtime-16.12.2.tar.xz";
+      sha256 = "1bsnb7inxqv652vq9izwdj02gi15xxf34my51kdq2xk9dn2kmj8x";
+      name = "kde-runtime-16.12.2.tar.xz";
+    };
+  };
+  kdesdk-kioslaves = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdesdk-kioslaves-16.12.2.tar.xz";
+      sha256 = "18wd4lb3v2br40xclsig718r8mqs5hgl7xw13pq5bfqk5kx11md1";
+      name = "kdesdk-kioslaves-16.12.2.tar.xz";
+    };
+  };
+  kdesdk-thumbnailers = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdesdk-thumbnailers-16.12.2.tar.xz";
+      sha256 = "1jjchrbpyxjzs4zv68av53zhnlj46705261p0ad7x9ayb1mdrr24";
+      name = "kdesdk-thumbnailers-16.12.2.tar.xz";
+    };
+  };
+  kdf = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdf-16.12.2.tar.xz";
+      sha256 = "0zkwqqrcna2f9j4g798lhdi2v5j9p6r3zqkhf7clh4nk2c6f766k";
+      name = "kdf-16.12.2.tar.xz";
+    };
+  };
+  kdialog = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdialog-16.12.2.tar.xz";
+      sha256 = "0jrp06zbdj5c3nigdard0a7whb3lg8j2lgnf3dp2gf7iqj8gb189";
+      name = "kdialog-16.12.2.tar.xz";
+    };
+  };
+  kdiamond = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kdiamond-16.12.2.tar.xz";
+      sha256 = "1bflb2lbhahwmcqzck0xbr39rcbyaw4fzjaalbsdf9n5mk5ixmxs";
+      name = "kdiamond-16.12.2.tar.xz";
+    };
+  };
+  keditbookmarks = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/keditbookmarks-16.12.2.tar.xz";
+      sha256 = "16a2sq92r6nq7ksp905xp9v3fv8ynhfp9hslq4a46v71an06yh4p";
+      name = "keditbookmarks-16.12.2.tar.xz";
+    };
+  };
+  kfilereplace = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kfilereplace-16.12.2.tar.xz";
+      sha256 = "086x9k71s2bc80863vlfryblg0cyw1qhk20vwhxmq81xkxsah6ky";
+      name = "kfilereplace-16.12.2.tar.xz";
+    };
+  };
+  kfind = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kfind-16.12.2.tar.xz";
+      sha256 = "0jpn75d331qiyhqswflkad5nc5r6c21q1d8236k2qvcm80xp10bm";
+      name = "kfind-16.12.2.tar.xz";
+    };
+  };
+  kfloppy = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kfloppy-16.12.2.tar.xz";
+      sha256 = "1q1fh16msixpn59y0yglmjbib6a5c9pb3hpmcd5vsiy2ilpgffbm";
+      name = "kfloppy-16.12.2.tar.xz";
+    };
+  };
+  kfourinline = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kfourinline-16.12.2.tar.xz";
+      sha256 = "1df3si16d4ra3x3v9m4kiknlflx1ac10fq3vydcsn4yi89rhx2ix";
+      name = "kfourinline-16.12.2.tar.xz";
+    };
+  };
+  kgeography = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kgeography-16.12.2.tar.xz";
+      sha256 = "1sw7blr264p88702718m5ch9qdzyd5krpf5qjvfhypx0fgzr40b6";
+      name = "kgeography-16.12.2.tar.xz";
+    };
+  };
+  kget = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kget-16.12.2.tar.xz";
+      sha256 = "1qiwcbdvr9g7cgqm4i3gcc6aw60d36n2m8a7faqa28srrw8f55lj";
+      name = "kget-16.12.2.tar.xz";
+    };
+  };
+  kgoldrunner = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kgoldrunner-16.12.2.tar.xz";
+      sha256 = "0sa7yf3656f8mib785xdv7q86gsslx1hwy69vqrnrfwg24vzx3gy";
+      name = "kgoldrunner-16.12.2.tar.xz";
+    };
+  };
+  kgpg = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kgpg-16.12.2.tar.xz";
+      sha256 = "082fvxpawhsvfn6c1y32rvgp2qcim6lnk1gpp92cgn6k70dcx4lr";
+      name = "kgpg-16.12.2.tar.xz";
+    };
+  };
+  khangman = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/khangman-16.12.2.tar.xz";
+      sha256 = "1v57za5bqhppc1fy2xd7d1x1fvanwxgl3xzckfz1k7kbx1kcpn1s";
+      name = "khangman-16.12.2.tar.xz";
+    };
+  };
+  khelpcenter = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/khelpcenter-16.12.2.tar.xz";
+      sha256 = "1cij7v57zs14ynvmplcgn14m30hdc554kvrsbjgb695kmcvm1jv9";
+      name = "khelpcenter-16.12.2.tar.xz";
+    };
+  };
+  kholidays = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kholidays-16.12.2.tar.xz";
+      sha256 = "0pybdq2asx10sxf4kz1p85yfs66dhccz2xvf95n8hky7833kqs1n";
+      name = "kholidays-16.12.2.tar.xz";
+    };
+  };
+  kidentitymanagement = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kidentitymanagement-16.12.2.tar.xz";
+      sha256 = "0wv7b3rfysbsj87xgp5ymy5glh9p12i9x8ffv483nm8xqyzwaa9p";
+      name = "kidentitymanagement-16.12.2.tar.xz";
+    };
+  };
+  kig = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kig-16.12.2.tar.xz";
+      sha256 = "0v261pb1l7cnjkqcqfg3885wxa2hb2bgdk0a1dcwrg4q6fr9kw1g";
+      name = "kig-16.12.2.tar.xz";
+    };
+  };
+  kigo = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kigo-16.12.2.tar.xz";
+      sha256 = "19sns6w32pm12634xqxx53hgpmrb4ggzx2idcx3ldknbixhmqm7c";
+      name = "kigo-16.12.2.tar.xz";
+    };
+  };
+  killbots = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/killbots-16.12.2.tar.xz";
+      sha256 = "1cc2ddmp7a21yn0aavbh887j4xmzm2a6xlyq71b3msraw3p5vbmy";
+      name = "killbots-16.12.2.tar.xz";
+    };
+  };
+  kimagemapeditor = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kimagemapeditor-16.12.2.tar.xz";
+      sha256 = "0n82v73da8hnan2c96g2lxy826dg6xhln28wwr8iib89zd5gmbi6";
+      name = "kimagemapeditor-16.12.2.tar.xz";
+    };
+  };
+  kimap = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kimap-16.12.2.tar.xz";
+      sha256 = "04shglmr8rv5r16qb3n9x7vwrsm55121rkj9pz1y7l40kybajl87";
+      name = "kimap-16.12.2.tar.xz";
+    };
+  };
+  kio-extras = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kio-extras-16.12.2.tar.xz";
+      sha256 = "0bfjmggyl7x7nmkqq10pmcc2507yfkbv5c5v86225g9mk02frmhp";
+      name = "kio-extras-16.12.2.tar.xz";
+    };
+  };
+  kiriki = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kiriki-16.12.2.tar.xz";
+      sha256 = "1fgdw7f4fqdfzsryvd8crdv60j2s2g3cvbibv3g91xkcq6p155wk";
+      name = "kiriki-16.12.2.tar.xz";
+    };
+  };
+  kiten = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kiten-16.12.2.tar.xz";
+      sha256 = "1ya1wwgh1x4iap3vs947ln949hjc499aiylg24666ab7vcqkbhh8";
+      name = "kiten-16.12.2.tar.xz";
+    };
+  };
+  kjumpingcube = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kjumpingcube-16.12.2.tar.xz";
+      sha256 = "0flx7sxqac763i2nsvyjzjv9aii27hnv51k0yhqcp6pnsjy1fbhh";
+      name = "kjumpingcube-16.12.2.tar.xz";
+    };
+  };
+  kldap = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kldap-16.12.2.tar.xz";
+      sha256 = "06ql2d7l22c19gnw6wigym3qpqw22arsmwpnnwz9i76l3wq32s3x";
+      name = "kldap-16.12.2.tar.xz";
+    };
+  };
+  kleopatra = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kleopatra-16.12.2.tar.xz";
+      sha256 = "1kh75qjas4x4aqvshdgcryqdrp475lx60gksjfh34ygz03avdssl";
+      name = "kleopatra-16.12.2.tar.xz";
+    };
+  };
+  klettres = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/klettres-16.12.2.tar.xz";
+      sha256 = "116igb1gbl3dfh5rm4mp0n8krm0d9kpgns63sh355g02wf0cbz3f";
+      name = "klettres-16.12.2.tar.xz";
+    };
+  };
+  klickety = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/klickety-16.12.2.tar.xz";
+      sha256 = "00fqfnxh8bb069q3a5jszggnwq0z45najd6qg3z9gqb2i6bb4w93";
+      name = "klickety-16.12.2.tar.xz";
+    };
+  };
+  klines = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/klines-16.12.2.tar.xz";
+      sha256 = "1pr5pvxd6fnybkjqxig9zjiq04d7g6igw24p2j6kfz91ihaf4g6q";
+      name = "klines-16.12.2.tar.xz";
+    };
+  };
+  klinkstatus = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/klinkstatus-16.12.2.tar.xz";
+      sha256 = "07wmaphs56x0jwgbkdynahwa0hrr3rakkbbfa4w046dga5z6dz60";
+      name = "klinkstatus-16.12.2.tar.xz";
+    };
+  };
+  kmag = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmag-16.12.2.tar.xz";
+      sha256 = "02vjwfh926jvhxn1sw603ijdrayk4jxrw9rl7kv48q00kgk5sr23";
+      name = "kmag-16.12.2.tar.xz";
+    };
+  };
+  kmahjongg = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmahjongg-16.12.2.tar.xz";
+      sha256 = "1rbcbak87jyf6bc8k44xvpcihagwh4i3v20af14hvm52gdvzdhij";
+      name = "kmahjongg-16.12.2.tar.xz";
+    };
+  };
+  kmail = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmail-16.12.2.tar.xz";
+      sha256 = "0a3r6pwm3dvvmljp5grl1mgymp3fb1l3hb8issdqlk4s805q0pql";
+      name = "kmail-16.12.2.tar.xz";
+    };
+  };
+  kmail-account-wizard = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmail-account-wizard-16.12.2.tar.xz";
+      sha256 = "1vm4lx5jwk5kqf3zdfm3zyzhap1dalslwj03gxmif6hh65d2s7h5";
+      name = "kmail-account-wizard-16.12.2.tar.xz";
+    };
+  };
+  kmailtransport = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmailtransport-16.12.2.tar.xz";
+      sha256 = "0g2f25l4l8jlj4d5dcdlbz8rgy4xvm6if2i3qm4naqh35kb4rycn";
+      name = "kmailtransport-16.12.2.tar.xz";
+    };
+  };
+  kmbox = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmbox-16.12.2.tar.xz";
+      sha256 = "1j30kvvlnfbky5x19gxjsbrshrdys6ajdbhpd9fy46jjh2dv3y6j";
+      name = "kmbox-16.12.2.tar.xz";
+    };
+  };
+  kmime = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmime-16.12.2.tar.xz";
+      sha256 = "0sl34qahgvxaw9xi56d0l2a2iim9bpiv8ysf3spsc1m2ribf3400";
+      name = "kmime-16.12.2.tar.xz";
+    };
+  };
+  kmines = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmines-16.12.2.tar.xz";
+      sha256 = "1324j3myr1wds3f6nzw186d1rc2aakxv0mqsx89bdvnky6zq2v5q";
+      name = "kmines-16.12.2.tar.xz";
+    };
+  };
+  kmix = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmix-16.12.2.tar.xz";
+      sha256 = "1s8di3jbgcaamfxfmmwxlajixia9m2ngl4qc1z7rq6a14fk3w5hz";
+      name = "kmix-16.12.2.tar.xz";
+    };
+  };
+  kmousetool = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmousetool-16.12.2.tar.xz";
+      sha256 = "128hp75zyyariflx03ilmvw09jngfy9ylykb73gg7xw2zqnjjw4i";
+      name = "kmousetool-16.12.2.tar.xz";
+    };
+  };
+  kmouth = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmouth-16.12.2.tar.xz";
+      sha256 = "0gk8rdlpwh304k7g85i80rfdjnvj4fcd1nlj89zmq2qh5s9jmqzg";
+      name = "kmouth-16.12.2.tar.xz";
+    };
+  };
+  kmplot = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kmplot-16.12.2.tar.xz";
+      sha256 = "0lwx0d1gv6k3nm0nxry6bl282j3vjc0p7rssbvhi5qsc7z9lc8s3";
+      name = "kmplot-16.12.2.tar.xz";
+    };
+  };
+  knavalbattle = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/knavalbattle-16.12.2.tar.xz";
+      sha256 = "065hyrdqaj0g7kpgxdyjbf2msdxb6w6m2y50bw23p4w69y7fdxgn";
+      name = "knavalbattle-16.12.2.tar.xz";
+    };
+  };
+  knetwalk = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/knetwalk-16.12.2.tar.xz";
+      sha256 = "1rhmgr2qk8h04y87dviy0yhrv5dg8za5v00csmia3s1jyvz0fbwp";
+      name = "knetwalk-16.12.2.tar.xz";
+    };
+  };
+  knotes = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/knotes-16.12.2.tar.xz";
+      sha256 = "12bdrw4ikw014phbq9w4q5y9lgjnazhvri7j13ld5r6806bxls04";
+      name = "knotes-16.12.2.tar.xz";
+    };
+  };
+  kolf = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kolf-16.12.2.tar.xz";
+      sha256 = "1v9lhir520n7kcc061z3zcc8wxswhnmjv7yifbqvviazl1n0p0vx";
+      name = "kolf-16.12.2.tar.xz";
+    };
+  };
+  kollision = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kollision-16.12.2.tar.xz";
+      sha256 = "1dklg0ns3abfxbfr7xrnzkcxxng3v7avzj4bjvsmsbq3lzy3pb8c";
+      name = "kollision-16.12.2.tar.xz";
+    };
+  };
+  kolourpaint = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kolourpaint-16.12.2.tar.xz";
+      sha256 = "1himisb1f68pgaz15qam73qv9acqqh8i1jnk9wbsqjyj6z67wvnj";
+      name = "kolourpaint-16.12.2.tar.xz";
+    };
+  };
+  kommander = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kommander-16.12.2.tar.xz";
+      sha256 = "140sz82gm5p8f8mhr2kdfy24fr6jjs0l53jcqr9hwdw6vlrm399w";
+      name = "kommander-16.12.2.tar.xz";
+    };
+  };
+  kompare = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kompare-16.12.2.tar.xz";
+      sha256 = "1dd4k3rq8wlzsvl5nv5mrd0ddxgwlriik3vxj8xx3b4nqk720lh6";
+      name = "kompare-16.12.2.tar.xz";
+    };
+  };
+  konqueror = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/konqueror-16.12.2.tar.xz";
+      sha256 = "0md9glzr1br2n5dsfmmv6gxsfhv6jl0r4fa1qgw4d2j2kpm94zw7";
+      name = "konqueror-16.12.2.tar.xz";
+    };
+  };
+  konquest = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/konquest-16.12.2.tar.xz";
+      sha256 = "0k58adqr20k9wrwbaf1s6lqqgcma08wqnv66zrxbgacgsgx3pnzi";
+      name = "konquest-16.12.2.tar.xz";
+    };
+  };
+  konsole = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/konsole-16.12.2.tar.xz";
+      sha256 = "1mwfv2hznmd1qml8hq1z81jv9y8jn1ybc69dqgnf1n6ygmz14676";
+      name = "konsole-16.12.2.tar.xz";
+    };
+  };
+  kontact = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kontact-16.12.2.tar.xz";
+      sha256 = "1rfqb5a4brbvkhv905lcvc40r0as8zwdm2h67jc96cix358cpshv";
+      name = "kontact-16.12.2.tar.xz";
+    };
+  };
+  kontactinterface = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kontactinterface-16.12.2.tar.xz";
+      sha256 = "0z6mjg8sy18jhkfmk9s098851gdqbh03031l92yqzsgsfph9nk77";
+      name = "kontactinterface-16.12.2.tar.xz";
+    };
+  };
+  kopete = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kopete-16.12.2.tar.xz";
+      sha256 = "0bf0bffcsyhrj70yb4l5g6n0jr38i5zkcl4hsfi9hac43xvp62ib";
+      name = "kopete-16.12.2.tar.xz";
+    };
+  };
+  korganizer = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/korganizer-16.12.2.tar.xz";
+      sha256 = "1211rhxvx42lndqv6n23mj6ibhfp09vvmzz59k1j0l9z8y1zyr2g";
+      name = "korganizer-16.12.2.tar.xz";
+    };
+  };
+  kpat = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kpat-16.12.2.tar.xz";
+      sha256 = "1yc16yfsq18m5xxm9b17zba3ppw7j5hq82z0ln8sw2yisz59mylr";
+      name = "kpat-16.12.2.tar.xz";
+    };
+  };
+  kpimtextedit = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kpimtextedit-16.12.2.tar.xz";
+      sha256 = "0xspr7hip57j8n3mp71x8s908vlj7acl27jwyc33yi4xvlyfcgfy";
+      name = "kpimtextedit-16.12.2.tar.xz";
+    };
+  };
+  kppp = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kppp-16.12.2.tar.xz";
+      sha256 = "1gvb3sgxg1ysdrv18rf5kh6znvwlkp673yld6ghj3dcif8w6xq0n";
+      name = "kppp-16.12.2.tar.xz";
+    };
+  };
+  kqtquickcharts = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kqtquickcharts-16.12.2.tar.xz";
+      sha256 = "1gh3alqlmj2icd2jblncps4k6kklckbpqv18wplybgaz4h0pi4pi";
+      name = "kqtquickcharts-16.12.2.tar.xz";
+    };
+  };
+  krdc = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/krdc-16.12.2.tar.xz";
+      sha256 = "1ql2mkx7xc2y0vkxjk3i5scxa6ws5mwz39zynmyx7rmxp9f8frsf";
+      name = "krdc-16.12.2.tar.xz";
+    };
+  };
+  kremotecontrol = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kremotecontrol-16.12.2.tar.xz";
+      sha256 = "1c1xx458lchn9b3c9h27zb13m2y6b01sb0g6lf6bpx4skbdwdwma";
+      name = "kremotecontrol-16.12.2.tar.xz";
+    };
+  };
+  kreversi = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kreversi-16.12.2.tar.xz";
+      sha256 = "18zfy3dzi9rgwhgvci93iv0gkmvac30rbj4xwpvzr3bc8zwz76df";
+      name = "kreversi-16.12.2.tar.xz";
+    };
+  };
+  krfb = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/krfb-16.12.2.tar.xz";
+      sha256 = "1sqij11a6pbivf2xbcglxzkfrpqvzcqxb4d85jxrhbp2wljx0xvy";
+      name = "krfb-16.12.2.tar.xz";
+    };
+  };
+  kross-interpreters = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kross-interpreters-16.12.2.tar.xz";
+      sha256 = "1cw84z2wdh1kb7fgwmmljmc5d57skh6hlm0p6kzlqdbqknnva8ad";
+      name = "kross-interpreters-16.12.2.tar.xz";
+    };
+  };
+  kruler = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kruler-16.12.2.tar.xz";
+      sha256 = "11i7k53kpfampbkzzabp0v97pb22h7sb2i0r6qdx78kyhmkgdrvp";
+      name = "kruler-16.12.2.tar.xz";
+    };
+  };
+  ksaneplugin = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ksaneplugin-16.12.2.tar.xz";
+      sha256 = "0ljk7cf4ns39xszn6g1vk8av3dkkgwzj4ry4n56305mqyjgqx258";
+      name = "ksaneplugin-16.12.2.tar.xz";
+    };
+  };
+  kscd = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kscd-16.12.2.tar.xz";
+      sha256 = "1w1gcfwp1r18pjfp526pdb837kpd8zj08g1jrjcb3bmvh600apm0";
+      name = "kscd-16.12.2.tar.xz";
+    };
+  };
+  kshisen = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kshisen-16.12.2.tar.xz";
+      sha256 = "0sw78qwlpimlhqzlz5migbngrhj7w6gdbqx12q7949paa03ash1b";
+      name = "kshisen-16.12.2.tar.xz";
+    };
+  };
+  ksirk = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ksirk-16.12.2.tar.xz";
+      sha256 = "0f9k476wbwx0maf0wsicgipqyv7gccm7ydwvns399iamb6xkiqnn";
+      name = "ksirk-16.12.2.tar.xz";
+    };
+  };
+  ksnakeduel = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ksnakeduel-16.12.2.tar.xz";
+      sha256 = "0lhwz1b1v1dir7k1vbkcwb73x7f3h7prb3zv4f8wlh32dj1yg983";
+      name = "ksnakeduel-16.12.2.tar.xz";
+    };
+  };
+  kspaceduel = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kspaceduel-16.12.2.tar.xz";
+      sha256 = "0h6m8xnmxx0q2r863ikck0kpyscd8s4iidcjiqz7wqgbsw1dadqb";
+      name = "kspaceduel-16.12.2.tar.xz";
+    };
+  };
+  ksquares = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ksquares-16.12.2.tar.xz";
+      sha256 = "14x1d9300wdhrnri5f5n5i31bs83hcbxs5w9cai1m8mlql99vvfy";
+      name = "ksquares-16.12.2.tar.xz";
+    };
+  };
+  kstars = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kstars-16.12.2.tar.xz";
+      sha256 = "0acbirhr970fh53hfsbfw9jn4jqlww9zf80jfyg2drixi9d70mpp";
+      name = "kstars-16.12.2.tar.xz";
+    };
+  };
+  ksudoku = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ksudoku-16.12.2.tar.xz";
+      sha256 = "1nvk8l6n7sja19s2kazf6xhzqwi9mrjxvz5i0i9nmpwmksii6lbg";
+      name = "ksudoku-16.12.2.tar.xz";
+    };
+  };
+  ksystemlog = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ksystemlog-16.12.2.tar.xz";
+      sha256 = "13q2h3yhlpjy8hiiz6vdx5xwniysbmz5agvvn28a469710601154";
+      name = "ksystemlog-16.12.2.tar.xz";
+    };
+  };
+  kteatime = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kteatime-16.12.2.tar.xz";
+      sha256 = "0m163a11hp90rqf5170iqapmvn4ym6m2n42da2p1jgyim4877613";
+      name = "kteatime-16.12.2.tar.xz";
+    };
+  };
+  ktimer = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktimer-16.12.2.tar.xz";
+      sha256 = "1l9xwfg3701h1f16ifh74c5hv7j7z0f332izcvfpiccps7gplhvz";
+      name = "ktimer-16.12.2.tar.xz";
+    };
+  };
+  ktnef = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktnef-16.12.2.tar.xz";
+      sha256 = "0id9shripwahgb258hgfpmxyg0z9x2dqpxgyrvb47d44rrcf9dxg";
+      name = "ktnef-16.12.2.tar.xz";
+    };
+  };
+  ktouch = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktouch-16.12.2.tar.xz";
+      sha256 = "08c0g35ypsndh8pj1nbxn8gnzis10a5cxkz175x4asi5lcpw3kc1";
+      name = "ktouch-16.12.2.tar.xz";
+    };
+  };
+  ktp-accounts-kcm = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-accounts-kcm-16.12.2.tar.xz";
+      sha256 = "1p3pqvkyhwcqcwgpyfghhii3d5shbfpm8i9vap8vc43clvj9sfah";
+      name = "ktp-accounts-kcm-16.12.2.tar.xz";
+    };
+  };
+  ktp-approver = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-approver-16.12.2.tar.xz";
+      sha256 = "1ky4wg8qk4n2qyh5009zz6487pf31jb8w8zmjmck9fypc9rhzw2j";
+      name = "ktp-approver-16.12.2.tar.xz";
+    };
+  };
+  ktp-auth-handler = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-auth-handler-16.12.2.tar.xz";
+      sha256 = "05dvbq1q0fbznyj11wkg0ic8svgkqdq8i20xddkkx2jpwhpkmcnl";
+      name = "ktp-auth-handler-16.12.2.tar.xz";
+    };
+  };
+  ktp-call-ui = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-call-ui-16.12.2.tar.xz";
+      sha256 = "1czm56vvbjbyyib2wi60f9s2icnyac007zzh2qxsxfnlp52mkzm2";
+      name = "ktp-call-ui-16.12.2.tar.xz";
+    };
+  };
+  ktp-common-internals = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-common-internals-16.12.2.tar.xz";
+      sha256 = "0323dhfiddq5yhbp0rpmpw60334z41f45ml8lcada8dv6mbjxlc6";
+      name = "ktp-common-internals-16.12.2.tar.xz";
+    };
+  };
+  ktp-contact-list = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-contact-list-16.12.2.tar.xz";
+      sha256 = "0gk0lims3ypjsir9k9a010kylnqzqb2dsh5yfv24a6fb1ix6q4yy";
+      name = "ktp-contact-list-16.12.2.tar.xz";
+    };
+  };
+  ktp-contact-runner = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-contact-runner-16.12.2.tar.xz";
+      sha256 = "1bfm4639jshw9ncchcj6m8q6xg49a20z4fzc66vrjkdbha8fwr0g";
+      name = "ktp-contact-runner-16.12.2.tar.xz";
+    };
+  };
+  ktp-desktop-applets = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-desktop-applets-16.12.2.tar.xz";
+      sha256 = "1ahm69h309dyg3byv3jxxm3j0c5jphzxng2g87hvjs9dvgx00msv";
+      name = "ktp-desktop-applets-16.12.2.tar.xz";
+    };
+  };
+  ktp-filetransfer-handler = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-filetransfer-handler-16.12.2.tar.xz";
+      sha256 = "1j1bmrwabh0mzm51ibb0qyf164g7hznjk2vm2kwkgk5sy8r1a363";
+      name = "ktp-filetransfer-handler-16.12.2.tar.xz";
+    };
+  };
+  ktp-kded-module = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-kded-module-16.12.2.tar.xz";
+      sha256 = "1ia62r55my8s6l3am22z6nkvmi2x2gnpbwmmpiv8n2i7j2ysdjp9";
+      name = "ktp-kded-module-16.12.2.tar.xz";
+    };
+  };
+  ktp-send-file = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-send-file-16.12.2.tar.xz";
+      sha256 = "0vl00bbnpddq9nczb53apf3sdr1r2hnpa3fa390yx3jrrr4hp3k0";
+      name = "ktp-send-file-16.12.2.tar.xz";
+    };
+  };
+  ktp-text-ui = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktp-text-ui-16.12.2.tar.xz";
+      sha256 = "0c0khkargj4hg2j1va72hp45b3dzwvkvbssq7k309iljxgfi9qry";
+      name = "ktp-text-ui-16.12.2.tar.xz";
+    };
+  };
+  ktuberling = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/ktuberling-16.12.2.tar.xz";
+      sha256 = "0867ci5bi0phcwwxlqlyn3w1pv5q5wvzyqnzjvywc0bzy2qbpp0p";
+      name = "ktuberling-16.12.2.tar.xz";
+    };
+  };
+  kturtle = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kturtle-16.12.2.tar.xz";
+      sha256 = "183glhn0amkcrzylax9cjyj3if9iz3dybmw55ljw003mf1s0sydq";
+      name = "kturtle-16.12.2.tar.xz";
+    };
+  };
+  kubrick = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kubrick-16.12.2.tar.xz";
+      sha256 = "10yakz1ffdx33sqgqmlga525r3cnz90m0rm5m2sl3b97ib7r0fxl";
+      name = "kubrick-16.12.2.tar.xz";
+    };
+  };
+  kwalletmanager = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kwalletmanager-16.12.2.tar.xz";
+      sha256 = "129q3c805g4jsrws3gvy751y4pdwp9m8yvlc62pkp703xwlnkzj4";
+      name = "kwalletmanager-16.12.2.tar.xz";
+    };
+  };
+  kwave = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kwave-16.12.2.tar.xz";
+      sha256 = "0g3n0fm3pyp6sd28qjpadpqs2kqd5gsbicdz1c5jkm8c1bypi0ij";
+      name = "kwave-16.12.2.tar.xz";
+    };
+  };
+  kwordquiz = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/kwordquiz-16.12.2.tar.xz";
+      sha256 = "1jy9833zrgaddzpfaaps2gcxjnf9mg2yx4w7mfpa3vglsyvhqlzx";
+      name = "kwordquiz-16.12.2.tar.xz";
+    };
+  };
+  libgravatar = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libgravatar-16.12.2.tar.xz";
+      sha256 = "0vdryr9q30jkk5b9fa75yiqpspj83wvcy2zry8rsrx7pj21cdlsw";
+      name = "libgravatar-16.12.2.tar.xz";
+    };
+  };
+  libkcddb = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkcddb-16.12.2.tar.xz";
+      sha256 = "0gs0zyisrgbzbcnwp95qi8msj5x2ysmqk9nwja3bwqzbangm0y82";
+      name = "libkcddb-16.12.2.tar.xz";
+    };
+  };
+  libkcompactdisc = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkcompactdisc-16.12.2.tar.xz";
+      sha256 = "1ydhfi3hp30zg9nlmnzd5pslwlq6v6jbim2jda8ciyvniw0pm6va";
+      name = "libkcompactdisc-16.12.2.tar.xz";
+    };
+  };
+  libkdcraw = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkdcraw-16.12.2.tar.xz";
+      sha256 = "0w54h8fa1hgyvqps936annb8dhbrpizv4ifcix0gq714p573l8w3";
+      name = "libkdcraw-16.12.2.tar.xz";
+    };
+  };
+  libkdegames = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkdegames-16.12.2.tar.xz";
+      sha256 = "0lw6v81pr4xq5h58mgkbzlvp5bxic9szfmabgd3nrdijh6mla4ly";
+      name = "libkdegames-16.12.2.tar.xz";
+    };
+  };
+  libkdepim = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkdepim-16.12.2.tar.xz";
+      sha256 = "1xblfj2i205jsm6nl05r3jis4gb4d15naq2mmfgxwy913pjh74jf";
+      name = "libkdepim-16.12.2.tar.xz";
+    };
+  };
+  libkeduvocdocument = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkeduvocdocument-16.12.2.tar.xz";
+      sha256 = "118z200ffqb2rj6yhmqp4b998cq6mlbpzn2gh2pdp70yin9w35qz";
+      name = "libkeduvocdocument-16.12.2.tar.xz";
+    };
+  };
+  libkexiv2 = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkexiv2-16.12.2.tar.xz";
+      sha256 = "1bpk2mwiplk7c5xrdx7nq9fa0g53sgx6f5xa7d4k2i9mzn2s8hyr";
+      name = "libkexiv2-16.12.2.tar.xz";
+    };
+  };
+  libkface = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkface-16.12.2.tar.xz";
+      sha256 = "0jhnx71bnn2f8x5w5iylkk7369fcbx0y793182vc5rdqaax983sc";
+      name = "libkface-16.12.2.tar.xz";
+    };
+  };
+  libkgeomap = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkgeomap-16.12.2.tar.xz";
+      sha256 = "1skmmg3hppzj923nl90r7v26k4fii7h3sr6yxzzvzaakwbil7d9q";
+      name = "libkgeomap-16.12.2.tar.xz";
+    };
+  };
+  libkipi = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkipi-16.12.2.tar.xz";
+      sha256 = "0g1yyd5lhvwwa7q4in1p3q4mwlpp00lbir1a25wanlr6hqr2247w";
+      name = "libkipi-16.12.2.tar.xz";
+    };
+  };
+  libkleo = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkleo-16.12.2.tar.xz";
+      sha256 = "031lfrn48xzi0kxkvg9597nxzharv0s0nxlkbdcr4xx8d8iga2l0";
+      name = "libkleo-16.12.2.tar.xz";
+    };
+  };
+  libkmahjongg = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkmahjongg-16.12.2.tar.xz";
+      sha256 = "0imj2xv6qcf00dx53h37yq84cqrg806qjfmm836hw6wicw24117f";
+      name = "libkmahjongg-16.12.2.tar.xz";
+    };
+  };
+  libkomparediff2 = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libkomparediff2-16.12.2.tar.xz";
+      sha256 = "02d3bd7miq1nq81z6b4c8c64wjj2z9shr8y0rd0yqlzmf8ma05p2";
+      name = "libkomparediff2-16.12.2.tar.xz";
+    };
+  };
+  libksane = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libksane-16.12.2.tar.xz";
+      sha256 = "0p215qc56ma4laajmql72f8bngi2x88nk1q8ysq0wviadgack885";
+      name = "libksane-16.12.2.tar.xz";
+    };
+  };
+  libksieve = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/libksieve-16.12.2.tar.xz";
+      sha256 = "1bzd8lfz0d9gnq6kh8k9wrcfbc61mdigy2madn7ywpxpcjp4rp3v";
+      name = "libksieve-16.12.2.tar.xz";
+    };
+  };
+  lokalize = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/lokalize-16.12.2.tar.xz";
+      sha256 = "03cr89skhwbzq4h6fr78iaziplahpr4i7fvsf8395w6yiwsvcnyk";
+      name = "lokalize-16.12.2.tar.xz";
+    };
+  };
+  lskat = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/lskat-16.12.2.tar.xz";
+      sha256 = "1jz7bjzw5msz5nyjvr21n3c355598afdnnqc6xzfl9zjkfgx4q9w";
+      name = "lskat-16.12.2.tar.xz";
+    };
+  };
+  mailcommon = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/mailcommon-16.12.2.tar.xz";
+      sha256 = "0b9qawglc42y4wd98xaaiqdz7586wabj9zabs3dvk9vs10qpb9p0";
+      name = "mailcommon-16.12.2.tar.xz";
+    };
+  };
+  mailimporter = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/mailimporter-16.12.2.tar.xz";
+      sha256 = "0dvnqqmmxdca7wmsajhzdxgz1k07dfbac0z1paww4d2inr164b8q";
+      name = "mailimporter-16.12.2.tar.xz";
+    };
+  };
+  marble = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/marble-16.12.2.tar.xz";
+      sha256 = "0p7ka2hl0f9ghpmyh124p57dy1ynhw0dszihg4rbbrjfjj65vig0";
+      name = "marble-16.12.2.tar.xz";
+    };
+  };
+  mbox-importer = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/mbox-importer-16.12.2.tar.xz";
+      sha256 = "00q7x30bl1fwfgwvqmgbspp74bmjm40d30rykq052v1cp6n0c060";
+      name = "mbox-importer-16.12.2.tar.xz";
+    };
+  };
+  messagelib = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/messagelib-16.12.2.tar.xz";
+      sha256 = "0b65248mc6qamj1wcpv73v1ywda9gk2s2y20vjf35lmv5xi4cz88";
+      name = "messagelib-16.12.2.tar.xz";
+    };
+  };
+  minuet = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/minuet-16.12.2.tar.xz";
+      sha256 = "1sv9b1lq2dyvlwq0bmmnxak60nz83wbwnw1d8w3n5xadssarbr1s";
+      name = "minuet-16.12.2.tar.xz";
+    };
+  };
+  okteta = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/okteta-16.12.2.tar.xz";
+      sha256 = "1xq1bjpy7g8qn9d7dfgy00kf5bdcpvj1489b65yrlmyi382m5k7s";
+      name = "okteta-16.12.2.tar.xz";
+    };
+  };
+  okular = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/okular-16.12.2.tar.xz";
+      sha256 = "020z6wlycip067j398lznqcspi3b6dx1zds9ibhxw9zzh3ms92kc";
+      name = "okular-16.12.2.tar.xz";
+    };
+  };
+  palapeli = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/palapeli-16.12.2.tar.xz";
+      sha256 = "1vkkq9r9r85x46xx91gqyhpagx1xscrvlkx4knd72rcxfygipzf9";
+      name = "palapeli-16.12.2.tar.xz";
+    };
+  };
+  parley = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/parley-16.12.2.tar.xz";
+      sha256 = "0fvkhph41y5ig3nwmb4zfh8n3sip52r5al3vn4yll2ndkbwdkgjb";
+      name = "parley-16.12.2.tar.xz";
+    };
+  };
+  picmi = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/picmi-16.12.2.tar.xz";
+      sha256 = "0j0jhvw8b18sskvd32snk4g7xpjk3kqfw9kpvfri0qayrshcxk2c";
+      name = "picmi-16.12.2.tar.xz";
+    };
+  };
+  pimcommon = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/pimcommon-16.12.2.tar.xz";
+      sha256 = "1c4h1g6hpa7hw3ka2r561q813if031vriz646skin840jwdhnv7m";
+      name = "pimcommon-16.12.2.tar.xz";
+    };
+  };
+  pim-data-exporter = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/pim-data-exporter-16.12.2.tar.xz";
+      sha256 = "14gkkyvcwa7q1yq6qhswq4ch9gcp1ddpjyf46d0550z1rkpws28m";
+      name = "pim-data-exporter-16.12.2.tar.xz";
+    };
+  };
+  pim-sieve-editor = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/pim-sieve-editor-16.12.2.tar.xz";
+      sha256 = "03a3imm5zs4p6zlp3m0pdc22cii26cnkgl1s1059lhmd3g3dhl85";
+      name = "pim-sieve-editor-16.12.2.tar.xz";
+    };
+  };
+  pim-storage-service-manager = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/pim-storage-service-manager-16.12.2.tar.xz";
+      sha256 = "1kcbrg9h3c5khyabs5n6adqljj60vks7npb8iy649y0rx2qc2fn9";
+      name = "pim-storage-service-manager-16.12.2.tar.xz";
+    };
+  };
+  poxml = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/poxml-16.12.2.tar.xz";
+      sha256 = "17sv19rg1d65h6ks11k7f8zx6yliyhk1j2fxnc81l8md1flarfm0";
+      name = "poxml-16.12.2.tar.xz";
+    };
+  };
+  print-manager = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/print-manager-16.12.2.tar.xz";
+      sha256 = "1amhl13n7i5z1jfhyrhvigk0bhh9myag7kk83bqkxffsx0lzzwbw";
+      name = "print-manager-16.12.2.tar.xz";
+    };
+  };
+  rocs = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/rocs-16.12.2.tar.xz";
+      sha256 = "1gd0wdvp3c4s8br23fqqa0cp2vwfjp3xqkj1y3xf6pzv01sk7n7g";
+      name = "rocs-16.12.2.tar.xz";
+    };
+  };
+  signon-kwallet-extension = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/signon-kwallet-extension-16.12.2.tar.xz";
+      sha256 = "187xjbjw9a34p9cjjhijmwg8n7m83qikxa5q8nsffd48pl7pag2i";
+      name = "signon-kwallet-extension-16.12.2.tar.xz";
+    };
+  };
+  spectacle = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/spectacle-16.12.2.tar.xz";
+      sha256 = "1snz8kgnwm2cbfa6y9awb3d0markfmmbgkjs1k0xs938mqam4507";
+      name = "spectacle-16.12.2.tar.xz";
+    };
+  };
+  step = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/step-16.12.2.tar.xz";
+      sha256 = "0ghr054c644hvay0k4xsahrl8bwnd9w8yqq3slrdblhs7z3c7iqk";
+      name = "step-16.12.2.tar.xz";
+    };
+  };
+  svgpart = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/svgpart-16.12.2.tar.xz";
+      sha256 = "0z9a7654f3n5870d02zm8a9dpymc3jxgmf79wavsp8jjr8sdgy6g";
+      name = "svgpart-16.12.2.tar.xz";
+    };
+  };
+  sweeper = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/sweeper-16.12.2.tar.xz";
+      sha256 = "0g0iw89l27v4ivqzsrv9j1q4dgihk80nvgf2cfagadfd50hmifr4";
+      name = "sweeper-16.12.2.tar.xz";
+    };
+  };
+  syndication = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/syndication-16.12.2.tar.xz";
+      sha256 = "0vgpbr46ibyb097pbqmvpl934d4zwz3gb0fkyc23gwpxq1fgsizp";
+      name = "syndication-16.12.2.tar.xz";
+    };
+  };
+  umbrello = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/umbrello-16.12.2.tar.xz";
+      sha256 = "1g4856mvj9vzm3k86nqm9sfynall1wcj3mvnc80jji7aazmpkl6z";
+      name = "umbrello-16.12.2.tar.xz";
+    };
+  };
+  zeroconf-ioslave = {
+    version = "16.12.2";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.12.2/src/zeroconf-ioslave-16.12.2.tar.xz";
+      sha256 = "1wqiakgc82zylvssxrm2askw6rjw89x85dws7q9zw13hdpvh12ss";
+      name = "zeroconf-ioslave-16.12.2.tar.xz";
+    };
+  };
+}