summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2016-04-21 11:00:51 -0500
committerThomas Tuegel <ttuegel@gmail.com>2016-04-25 19:04:24 -0500
commit3dded2e72a18644f81a60fa8b63e33b74f66e799 (patch)
tree3e2ab114dcf48c56e4f1351c49e131dc93e72016 /pkgs/desktops
parenteb604134f7fdd95c78d7979e826cd165b1f627f2 (diff)
downloadnixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.tar
nixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.tar.gz
nixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.tar.bz2
nixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.tar.lz
nixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.tar.xz
nixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.tar.zst
nixpkgs-3dded2e72a18644f81a60fa8b63e33b74f66e799.zip
kde5_latest.applications: 15.12.03 -> 16.04.0
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/ark.nix58
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/baloo-widgets.nix35
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/default.nix59
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/dolphin-plugins.nix31
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/dolphin.nix70
-rwxr-xr-xpkgs/desktops/kde-5/applications-16.04/fetchsrcs.sh56
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/ffmpegthumbs.nix21
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/filelight.nix35
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/gpgmepp.nix21
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/gwenview.nix44
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kate.nix69
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kcalc.nix39
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kcolorchooser.nix16
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kde-app.nix25
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kde-locale-4.nix27
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kde-locale-5.nix24
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdegraphics-thumbnailers.nix23
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdelibs/0001-old-kde4-cmake-policies.patch56
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdelibs/0002-polkit-install-path.patch25
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdelibs/0003-remove_xdg_impurities.patch47
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdelibs/default.nix45
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdelibs/setup-hook.sh10
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kdenetwork-filesharing.nix29
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kgpg.nix38
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/kio-extras.nix42
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/konsole.nix68
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/l10n.nix244
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/libkdcraw.nix19
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/libkexiv2.nix19
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/libkipi.nix22
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/okular.nix41
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/print-manager.nix47
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/spectacle.nix35
-rw-r--r--pkgs/desktops/kde-5/applications-16.04/srcs.nix2093
34 files changed, 3533 insertions, 0 deletions
diff --git a/pkgs/desktops/kde-5/applications-16.04/ark.nix b/pkgs/desktops/kde-5/applications-16.04/ark.nix
new file mode 100644
index 00000000000..9e6f414db9e
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/ark.nix
@@ -0,0 +1,58 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, karchive
+, kconfig
+, kcrash
+, kdbusaddons
+, ki18n
+, kiconthemes
+, khtml
+, kio
+, kservice
+, kpty
+, kwidgetsaddons
+, libarchive
+, p7zip
+, unrar
+, unzipNLS
+, zip
+}:
+
+let PATH = lib.makeBinPath [
+      p7zip unrar unzipNLS zip
+    ];
+in
+
+kdeApp {
+  name = "ark";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    karchive
+    kconfig
+    kcrash
+    kdbusaddons
+    kiconthemes
+    kservice
+    kpty
+    kwidgetsaddons
+    libarchive
+  ];
+  propagatedBuildInputs = [
+    khtml
+    ki18n
+    kio
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/ark" \
+        --prefix PATH : "${PATH}"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/baloo-widgets.nix b/pkgs/desktops/kde-5/applications-16.04/baloo-widgets.nix
new file mode 100644
index 00000000000..a24928160df
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/baloo-widgets.nix
@@ -0,0 +1,35 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, kconfig
+, kio
+, ki18n
+, kservice
+, kfilemetadata
+, baloo
+, kdelibs4support
+}:
+
+kdeApp {
+  name = "baloo-widgets";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    kconfig
+    kservice
+  ];
+  propagatedBuildInputs = [
+    baloo
+    kdelibs4support
+    kfilemetadata
+    ki18n
+    kio
+  ];
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/default.nix b/pkgs/desktops/kde-5/applications-16.04/default.nix
new file mode 100644
index 00000000000..f9d65ac6d87
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/default.nix
@@ -0,0 +1,59 @@
+# Maintainer's Notes:
+#
+# Minor updates:
+#  1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
+#     releases updates that include only the changed packages; in this case,
+#     multiple URLs can be provided and the results will be merged.
+#  2. Run ./manifest.sh and ./dependencies.sh.
+#  3. Build and enjoy.
+#
+# Major updates:
+#  We prefer not to immediately overwrite older versions with major updates, so
+#  make a copy of this directory first. After copying, be sure to delete ./tmp
+#  if it exists. Then follow the minor update instructions.
+
+{ pkgs, debug ? false }:
+
+let
+
+  inherit (pkgs) lib stdenv;
+
+  srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; };
+  mirror = "mirror://kde";
+
+  packages = self: with self; {
+
+    kdeApp = import ./kde-app.nix {
+      inherit stdenv lib;
+      inherit debug srcs;
+    };
+
+    kdelibs = callPackage ./kdelibs { inherit (pkgs) attica phonon; };
+
+    ark = callPackage ./ark.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 {};
+    gpgmepp = callPackage ./gpgmepp.nix {};
+    gwenview = callPackage ./gwenview.nix {};
+    kate = callPackage ./kate.nix {};
+    kcalc = callPackage ./kcalc.nix {};
+    kcolorchooser = callPackage ./kcolorchooser.nix {};
+    kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
+    kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
+    kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
+    kio-extras = callPackage ./kio-extras.nix {};
+    konsole = callPackage ./konsole.nix {};
+    libkdcraw = callPackage ./libkdcraw.nix {};
+    libkexiv2 = callPackage ./libkexiv2.nix {};
+    libkipi = callPackage ./libkipi.nix {};
+    okular = callPackage ./okular.nix {};
+    print-manager = callPackage ./print-manager.nix {};
+    spectacle = callPackage ./spectacle.nix {};
+
+    l10n = pkgs.recurseIntoAttrs (import ./l10n.nix { inherit callPackage lib pkgs; });
+  };
+
+in packages
diff --git a/pkgs/desktops/kde-5/applications-16.04/dolphin-plugins.nix b/pkgs/desktops/kde-5/applications-16.04/dolphin-plugins.nix
new file mode 100644
index 00000000000..72a08c73261
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/dolphin-plugins.nix
@@ -0,0 +1,31 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, kxmlgui
+, ki18n
+, kio
+, kdelibs4support
+, dolphin
+}:
+
+kdeApp {
+  name = "dolphin-plugins";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    kxmlgui
+    dolphin
+  ];
+  propagatedBuildInputs = [
+    kdelibs4support
+    ki18n
+    kio
+  ];
+  meta = {
+    license = [ lib.licenses.gpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/dolphin.nix b/pkgs/desktops/kde-5/applications-16.04/dolphin.nix
new file mode 100644
index 00000000000..3218146f510
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/dolphin.nix
@@ -0,0 +1,70 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, kinit
+, kcmutils
+, kcoreaddons
+, knewstuff
+, ki18n
+, kdbusaddons
+, kbookmarks
+, kconfig
+, kio
+, kparts
+, solid
+, kiconthemes
+, kcompletion
+, ktexteditor
+, kwindowsystem
+, knotifications
+, kactivities
+, phonon
+, baloo
+, baloo-widgets
+, kfilemetadata
+, kdelibs4support
+}:
+
+kdeApp {
+  name = "dolphin";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+    makeQtWrapper
+  ];
+  buildInputs = [
+    kinit
+    kcmutils
+    kcoreaddons
+    knewstuff
+    kdbusaddons
+    kbookmarks
+    kconfig
+    kparts
+    solid
+    kiconthemes
+    kcompletion
+    knotifications
+    phonon
+    baloo-widgets
+  ];
+  propagatedBuildInputs = [
+    baloo
+    kactivities
+    kdelibs4support
+    kfilemetadata
+    ki18n
+    kio
+    ktexteditor
+    kwindowsystem
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/dolphin"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 fdl12 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/fetchsrcs.sh b/pkgs/desktops/kde-5/applications-16.04/fetchsrcs.sh
new file mode 100755
index 00000000000..2b130c7e3af
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/fetchsrcs.sh
@@ -0,0 +1,56 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p coreutils findutils gnused nix wget
+
+set -x
+
+# The trailing slash at the end is necessary!
+WGET_ARGS='http://download.kde.org/stable/applications/16.04.0/ -A *.tar.xz'
+
+mkdir tmp; cd tmp
+
+rm -f ../srcs.csv
+
+wget -nH -r -c --no-parent $WGET_ARGS
+
+find . | while read src; do
+    if [[ -f "${src}" ]]; then
+        # Sanitize file name
+        filename=$(basename "$src" | tr '@' '_')
+        nameVersion="${filename%.tar.*}"
+        name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,')
+        version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
+        echo "$name,$version,$src,$filename" >>../srcs.csv
+    fi
+done
+
+cat >../srcs.nix <<EOF
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+{ fetchurl, mirror }:
+
+{
+EOF
+
+gawk -F , "{ print \$1 }" ../srcs.csv | sort | uniq | while read name; do
+    versions=$(gawk -F , "/^$name,/ { print \$2 }" ../srcs.csv)
+    latestVersion=$(echo "$versions" | sort -rV | head -n 1)
+    src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" ../srcs.csv)
+    filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" ../srcs.csv)
+    url="${src:2}"
+    sha256=$(nix-hash --type sha256 --base32 --flat "$src")
+    cat >>../srcs.nix <<EOF
+  $name = {
+    version = "$latestVersion";
+    src = fetchurl {
+      url = "\${mirror}/$url";
+      sha256 = "$sha256";
+      name = "$filename";
+    };
+  };
+EOF
+done
+
+echo "}" >>../srcs.nix
+
+rm -f ../srcs.csv
+
+cd ..
diff --git a/pkgs/desktops/kde-5/applications-16.04/ffmpegthumbs.nix b/pkgs/desktops/kde-5/applications-16.04/ffmpegthumbs.nix
new file mode 100644
index 00000000000..53e9d807d64
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/ffmpegthumbs.nix
@@ -0,0 +1,21 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, ffmpeg
+, kio
+}:
+
+kdeApp {
+  name = "ffmpegthumbs";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    ffmpeg
+    kio
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/filelight.nix b/pkgs/desktops/kde-5/applications-16.04/filelight.nix
new file mode 100644
index 00000000000..df5e097a540
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/filelight.nix
@@ -0,0 +1,35 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, qtscript
+, kio
+, solid
+, kxmlgui
+, kparts
+}:
+
+kdeApp {
+  name = "filelight";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+    makeQtWrapper
+  ];
+  buildInputs = [
+    kio
+    kparts
+    qtscript
+    solid
+    kxmlgui
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/filelight"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ fridh vcunat ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/gpgmepp.nix b/pkgs/desktops/kde-5/applications-16.04/gpgmepp.nix
new file mode 100644
index 00000000000..ac14573dcaa
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/gpgmepp.nix
@@ -0,0 +1,21 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, boost
+, gpgme
+}:
+
+kdeApp {
+  name = "gpgmepp";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    boost
+    gpgme
+  ];
+  meta = {
+    license = with lib.licenses; [ lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/gwenview.nix b/pkgs/desktops/kde-5/applications-16.04/gwenview.nix
new file mode 100644
index 00000000000..732ac11e96d
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/gwenview.nix
@@ -0,0 +1,44 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, baloo
+, exiv2
+, kactivities
+, kdelibs4support
+, kio
+, lcms2
+, phonon
+, qtsvg
+, qtx11extras
+}:
+
+kdeApp {
+  name = "gwenview";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+    makeQtWrapper
+  ];
+  buildInputs = [
+    exiv2
+    lcms2
+    phonon
+    qtsvg
+  ];
+  propagatedBuildInputs = [
+    baloo
+    kactivities
+    kdelibs4support
+    kio
+    qtx11extras
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/gwenview"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 fdl12 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kate.nix b/pkgs/desktops/kde-5/applications-16.04/kate.nix
new file mode 100644
index 00000000000..91eeb2314a4
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kate.nix
@@ -0,0 +1,69 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, qtscript
+, kactivities
+, kconfig
+, kcrash
+, kguiaddons
+, kiconthemes
+, ki18n
+, kinit
+, kjobwidgets
+, kio
+, kparts
+, ktexteditor
+, kwindowsystem
+, kxmlgui
+, kdbusaddons
+, kwallet
+, plasma-framework
+, kitemmodels
+, knotifications
+, threadweaver
+, knewstuff
+, libgit2
+}:
+
+kdeApp {
+  name = "kate";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    qtscript
+    kconfig
+    kcrash
+    kguiaddons
+    kiconthemes
+    kinit
+    kjobwidgets
+    kparts
+    kxmlgui
+    kdbusaddons
+    kwallet
+    kitemmodels
+    knotifications
+    threadweaver
+    knewstuff
+    libgit2
+  ];
+  propagatedBuildInputs = [
+    kactivities
+    ki18n
+    kio
+    ktexteditor
+    kwindowsystem
+    plasma-framework
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/kate"
+    wrapQtProgram "$out/bin/kwrite"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kcalc.nix b/pkgs/desktops/kde-5/applications-16.04/kcalc.nix
new file mode 100644
index 00000000000..e4c8e9d6925
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kcalc.nix
@@ -0,0 +1,39 @@
+{ kdeApp
+, lib
+, makeQtWrapper
+, extra-cmake-modules
+, gmp
+, kdoctools
+, kconfig
+, kconfigwidgets
+, kguiaddons
+, kinit
+, knotifications
+}:
+
+kdeApp {
+  name = "kcalc";
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+
+  buildInputs = [
+    gmp
+    kconfig
+    kconfigwidgets
+    kguiaddons
+    kinit
+    knotifications
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/kcalc"
+  '';
+
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kcolorchooser.nix b/pkgs/desktops/kde-5/applications-16.04/kcolorchooser.nix
new file mode 100644
index 00000000000..0f8e8fbee82
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kcolorchooser.nix
@@ -0,0 +1,16 @@
+{ kdeApp, lib
+, extra-cmake-modules
+, ki18n, kwidgetsaddons, kxmlgui
+}:
+
+kdeApp {
+  name = "kcolorchooser";
+
+  meta = {
+    license = with lib.licenses; [ mit ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ ki18n kwidgetsaddons kxmlgui ];
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kde-app.nix b/pkgs/desktops/kde-5/applications-16.04/kde-app.nix
new file mode 100644
index 00000000000..2f1fdc1d643
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kde-app.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, debug, srcs }:
+
+args:
+
+let
+  inherit (args) name;
+  sname = args.sname or name;
+  inherit (srcs."${sname}") src version;
+in
+stdenv.mkDerivation (args // {
+  name = "${name}-${version}";
+  inherit src;
+
+  outputs = args.outputs or [ "dev" "out" ];
+
+  cmakeFlags =
+    (args.cmakeFlags or [])
+    ++ [ "-DBUILD_TESTING=OFF" ]
+    ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+  meta = {
+    platforms = lib.platforms.linux;
+    homepage = "http://www.kde.org";
+  } // (args.meta or {});
+})
diff --git a/pkgs/desktops/kde-5/applications-16.04/kde-locale-4.nix b/pkgs/desktops/kde-5/applications-16.04/kde-locale-4.nix
new file mode 100644
index 00000000000..e83794c60d8
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/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/desktops/kde-5/applications-16.04/kde-locale-5.nix b/pkgs/desktops/kde-5/applications-16.04/kde-locale-5.nix
new file mode 100644
index 00000000000..772ebe37e44
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kde-locale-5.nix
@@ -0,0 +1,24 @@
+name: args:
+
+{ kdeApp, cmake, extra-cmake-modules, gettext, kdoctools }:
+
+kdeApp (args // {
+  sname = "kde-l10n-${name}";
+  name = "kde-l10n-${name}-qt5";
+
+  outputs = [ "out" ];
+
+  nativeBuildInputs =
+    [ cmake extra-cmake-modules 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/desktops/kde-5/applications-16.04/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-5/applications-16.04/kdegraphics-thumbnailers.nix
new file mode 100644
index 00000000000..520bad0d066
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kdegraphics-thumbnailers.nix
@@ -0,0 +1,23 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kio
+, libkexiv2
+, libkdcraw
+}:
+
+kdeApp {
+  name = "kdegraphics-thumbnailers";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    kio
+    libkexiv2
+    libkdcraw
+  ];
+  meta = {
+    license = [ lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kdelibs/0001-old-kde4-cmake-policies.patch b/pkgs/desktops/kde-5/applications-16.04/kdelibs/0001-old-kde4-cmake-policies.patch
new file mode 100644
index 00000000000..b7d7300e9a8
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/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/desktops/kde-5/applications-16.04/kdelibs/0002-polkit-install-path.patch b/pkgs/desktops/kde-5/applications-16.04/kdelibs/0002-polkit-install-path.patch
new file mode 100644
index 00000000000..ff0306ea148
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/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/desktops/kde-5/applications-16.04/kdelibs/0003-remove_xdg_impurities.patch b/pkgs/desktops/kde-5/applications-16.04/kdelibs/0003-remove_xdg_impurities.patch
new file mode 100644
index 00000000000..a79d7b2b7d1
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/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/desktops/kde-5/applications-16.04/kdelibs/default.nix b/pkgs/desktops/kde-5/applications-16.04/kdelibs/default.nix
new file mode 100644
index 00000000000..389362deecc
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kdelibs/default.nix
@@ -0,0 +1,45 @@
+{ kdeApp, attica, attr, automoc4, avahi, bison, cmake
+, docbook_xml_dtd_42, docbook_xsl, flex, giflib, ilmbase
+, libdbusmenu_qt, libjpeg, libxml2, libxslt, perl, phonon, pkgconfig
+, polkit_qt4, qca2, qt4, shared_desktop_ontologies, shared_mime_info
+, soprano, strigi, udev, xz, pcre
+, lib
+}:
+
+kdeApp {
+  name = "kdelibs";
+
+  outputs = [ "out" ];
+
+  buildInputs = [
+    attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
+    polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre
+  ];
+  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
+  nativeBuildInputs = [
+    automoc4 bison cmake flex libxslt perl pkgconfig shared_mime_info
+  ];
+
+  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}/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"
+  ];
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    licenses = with lib.licenses; [ gpl2 fdl12 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kdelibs/setup-hook.sh b/pkgs/desktops/kde-5/applications-16.04/kdelibs/setup-hook.sh
new file mode 100644
index 00000000000..e0a75dc8acd
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kdelibs/setup-hook.sh
@@ -0,0 +1,10 @@
+addQt4Plugins() {
+  if [[ -d "$1/lib/qt4/plugins" ]]; then
+      propagatedUserEnvPkgs+=" $1"
+  fi
+
+  if [[ -d "$1/lib/kde4/plugins" ]]; then
+      propagatedUserEnvPkgs+=" $1"
+  fi
+}
+envHooks+=(addQt4Plugins)
diff --git a/pkgs/desktops/kde-5/applications-16.04/kdenetwork-filesharing.nix b/pkgs/desktops/kde-5/applications-16.04/kdenetwork-filesharing.nix
new file mode 100644
index 00000000000..4e99a43b391
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kdenetwork-filesharing.nix
@@ -0,0 +1,29 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, kcoreaddons
+, ki18n
+, kio
+, kwidgetsaddons
+, samba
+}:
+
+kdeApp {
+  name = "kdenetwork-filesharing";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    kcoreaddons
+    ki18n
+    kio
+    kwidgetsaddons
+    samba
+  ];
+  meta = {
+    license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kgpg.nix b/pkgs/desktops/kde-5/applications-16.04/kgpg.nix
new file mode 100644
index 00000000000..3ee92519718
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kgpg.nix
@@ -0,0 +1,38 @@
+{ kdeApp
+, lib
+, automoc4
+, cmake
+, makeWrapper
+, perl
+, pkgconfig
+, boost
+, gpgme
+, kdelibs
+, kdepimlibs
+, gnupg
+}:
+
+kdeApp {
+  name = "kgpg";
+  nativeBuildInputs = [
+    automoc4
+    cmake
+    makeWrapper
+    perl
+    pkgconfig
+  ];
+  buildInputs = [
+    boost
+    gpgme
+    kdelibs
+    kdepimlibs
+  ];
+  postInstall = ''
+    wrapProgram "$out/bin/kgpg" \
+        --prefix PATH : "${gnupg}/bin"
+  '';
+  meta = {
+    license = [ lib.licenses.gpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/kio-extras.nix b/pkgs/desktops/kde-5/applications-16.04/kio-extras.nix
new file mode 100644
index 00000000000..9de84913a25
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/kio-extras.nix
@@ -0,0 +1,42 @@
+{ kdeApp, lib
+, extra-cmake-modules, 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 = [
+    extra-cmake-modules kdoctools
+    shared_mime_info
+  ];
+  buildInputs = [
+    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 or ilmbase}/include/OpenEXR" ];
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/konsole.nix b/pkgs/desktops/kde-5/applications-16.04/konsole.nix
new file mode 100644
index 00000000000..4b4cba2a377
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/konsole.nix
@@ -0,0 +1,68 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, qtscript
+, kbookmarks
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kguiaddons
+, ki18n
+, kiconthemes
+, kinit
+, kdelibs4support
+, kio
+, knotifications
+, knotifyconfig
+, kparts
+, kpty
+, kservice
+, ktextwidgets
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+}:
+
+kdeApp {
+  name = "konsole";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+    makeQtWrapper
+  ];
+  buildInputs = [
+    qtscript
+    kbookmarks
+    kcompletion
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kguiaddons
+    kiconthemes
+    kinit
+    kio
+    knotifications
+    knotifyconfig
+    kparts
+    kpty
+    kservice
+    ktextwidgets
+    kwidgetsaddons
+    kxmlgui
+  ];
+  propagatedBuildInputs = [
+    kdelibs4support
+    ki18n
+    kwindowsystem
+  ];
+  postInstall = ''
+    wrapQtProgram "$out/bin/konsole"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/l10n.nix b/pkgs/desktops/kde-5/applications-16.04/l10n.nix
new file mode 100644
index 00000000000..9b211faf444
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/l10n.nix
@@ -0,0 +1,244 @@
+{ callPackage, pkgs, lib }:
+
+let
+
+  kdeLocale4 = import ./kde-locale-4.nix;
+  kdeLocale5 = import ./kde-locale-5.nix;
+
+in
+
+lib.mapAttrs (name: attr: pkgs.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/data/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" {}) {};
+  };
+  # TODO: build broken in 15.11.80; re-enable in next release
+  /*
+  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/desktops/kde-5/applications-16.04/libkdcraw.nix b/pkgs/desktops/kde-5/applications-16.04/libkdcraw.nix
new file mode 100644
index 00000000000..319c7fc6583
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/libkdcraw.nix
@@ -0,0 +1,19 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, libraw
+}:
+
+kdeApp {
+  name = "libkdcraw";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    libraw
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/libkexiv2.nix b/pkgs/desktops/kde-5/applications-16.04/libkexiv2.nix
new file mode 100644
index 00000000000..afb1ac83653
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/libkexiv2.nix
@@ -0,0 +1,19 @@
+{ kdeApp
+, lib
+, exiv2
+, extra-cmake-modules
+}:
+
+kdeApp {
+  name = "libkexiv2";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    exiv2
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/libkipi.nix b/pkgs/desktops/kde-5/applications-16.04/libkipi.nix
new file mode 100644
index 00000000000..c23cd8578fb
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/libkipi.nix
@@ -0,0 +1,22 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kconfig
+, ki18n
+, kservice
+, kxmlgui
+}:
+
+kdeApp {
+  name = "libkipi";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    kconfig ki18n kservice kxmlgui
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/okular.nix b/pkgs/desktops/kde-5/applications-16.04/okular.nix
new file mode 100644
index 00000000000..0691325d7a5
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/okular.nix
@@ -0,0 +1,41 @@
+{ kdeApp
+, lib
+, automoc4
+, cmake
+, perl
+, pkgconfig
+, kdelibs
+, qimageblitz
+, poppler_qt4
+, libspectre
+, libkexiv2
+, djvulibre
+, libtiff
+, freetype
+, ebook_tools
+}:
+
+kdeApp {
+  name = "okular";
+  nativeBuildInputs = [
+    automoc4
+    cmake
+    perl
+    pkgconfig
+  ];
+  buildInputs = [
+    kdelibs
+    qimageblitz
+    poppler_qt4
+    libspectre
+    libkexiv2
+    djvulibre
+    libtiff
+    freetype
+    ebook_tools
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/print-manager.nix b/pkgs/desktops/kde-5/applications-16.04/print-manager.nix
new file mode 100644
index 00000000000..b4eab372789
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/print-manager.nix
@@ -0,0 +1,47 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, qtdeclarative
+, cups
+, kconfig
+, kconfigwidgets
+, kdbusaddons
+, kiconthemes
+, ki18n
+, kcmutils
+, kio
+, knotifications
+, plasma-framework
+, kwidgetsaddons
+, kwindowsystem
+, kitemviews
+}:
+
+kdeApp {
+  name = "print-manager";
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+  buildInputs = [
+    cups
+    kconfig
+    kconfigwidgets
+    kdbusaddons
+    kiconthemes
+    kcmutils
+    knotifications
+    kwidgetsaddons
+    kitemviews
+  ];
+  propagatedBuildInputs = [
+    ki18n
+    kio
+    kwindowsystem
+    plasma-framework
+    qtdeclarative
+  ];
+  meta = {
+    license = [ lib.licenses.gpl2 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/spectacle.nix b/pkgs/desktops/kde-5/applications-16.04/spectacle.nix
new file mode 100644
index 00000000000..dc2fb708b53
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/spectacle.nix
@@ -0,0 +1,35 @@
+{ kdeApp, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, kconfig
+, kcoreaddons
+, kdbusaddons
+, kdeclarative
+, ki18n
+, kio
+, knotifications
+, kscreen
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+, libkipi
+, xcb-util-cursor
+}:
+
+kdeApp {
+  name = "spectacle";
+  nativeBuildInputs = [
+    extra-cmake-modules kdoctools makeQtWrapper
+  ];
+  buildInputs = [
+    kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
+    kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi xcb-util-cursor
+  ];
+  postFixup = ''
+    wrapQtProgram "$out/bin/spectacle"
+  '';
+  meta = with lib; {
+    maintainers = with maintainers; [ ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-16.04/srcs.nix b/pkgs/desktops/kde-5/applications-16.04/srcs.nix
new file mode 100644
index 00000000000..0185465e156
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-16.04/srcs.nix
@@ -0,0 +1,2093 @@
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+{ fetchurl, mirror }:
+
+{
+  akonadi = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/akonadi-16.04.0.tar.xz";
+      sha256 = "01m032iwy3yylxxfmznhn0aly20yc07h8z0ppzgx9gz8smn8351k";
+      name = "akonadi-16.04.0.tar.xz";
+    };
+  };
+  akonadi-calendar = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/akonadi-calendar-16.04.0.tar.xz";
+      sha256 = "1n06d0m2m553agn95b75sgqaijaaxdrdb6gnv4zizwjxr37cgnwm";
+      name = "akonadi-calendar-16.04.0.tar.xz";
+    };
+  };
+  akonadi-search = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/akonadi-search-16.04.0.tar.xz";
+      sha256 = "101cbms0mlv86g8ld027ras5bkzfil9avbpvfh2rnlfpm2yp3jgq";
+      name = "akonadi-search-16.04.0.tar.xz";
+    };
+  };
+  analitza = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/analitza-16.04.0.tar.xz";
+      sha256 = "0ir7siwxp6fi9gwri9ynp497ppg72vrbqnwaq3fk3rf9i4brib3s";
+      name = "analitza-16.04.0.tar.xz";
+    };
+  };
+  ark = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ark-16.04.0.tar.xz";
+      sha256 = "07zvnslnxjz0rq90cvba6lh7gcym4z7817fdz56pjdffpcd0j9xa";
+      name = "ark-16.04.0.tar.xz";
+    };
+  };
+  artikulate = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/artikulate-16.04.0.tar.xz";
+      sha256 = "00y47nzlqlhrv3xx0g0h9is2v7v2vch9vk0hmjb4sgmmri21r47i";
+      name = "artikulate-16.04.0.tar.xz";
+    };
+  };
+  audiocd-kio = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/audiocd-kio-16.04.0.tar.xz";
+      sha256 = "1r1x1igihd4bvvjjf8c5xi341y7jn43ba0jh724x82ljhwjjivnh";
+      name = "audiocd-kio-16.04.0.tar.xz";
+    };
+  };
+  baloo-widgets = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/baloo-widgets-16.04.0.tar.xz";
+      sha256 = "0j8l34q0nmprw0y7hcsy5rxisv19zjf757dhy7rwlbvs72a8fyn2";
+      name = "baloo-widgets-16.04.0.tar.xz";
+    };
+  };
+  blinken = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/blinken-16.04.0.tar.xz";
+      sha256 = "1fi0vnxc31nd2hk7yx4gbxlmwsxsrw7yidblv3ly6j3q65ra4cgp";
+      name = "blinken-16.04.0.tar.xz";
+    };
+  };
+  bomber = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/bomber-16.04.0.tar.xz";
+      sha256 = "0rv2mfn8l78zfb0apxpgqfw2zp0zvgrjx5fdqn7mhah6w2wr421i";
+      name = "bomber-16.04.0.tar.xz";
+    };
+  };
+  bovo = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/bovo-16.04.0.tar.xz";
+      sha256 = "1z0wkmlvx052drdjkc3scmbqd299vq26l15qdykf7k7i69abpa91";
+      name = "bovo-16.04.0.tar.xz";
+    };
+  };
+  calendarsupport = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/calendarsupport-16.04.0.tar.xz";
+      sha256 = "1l4hr59r5ns5lhvr4622i8lm99933j72v6fhjv4hmw1yvy0d97kf";
+      name = "calendarsupport-16.04.0.tar.xz";
+    };
+  };
+  cantor = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/cantor-16.04.0.tar.xz";
+      sha256 = "195b974swl1aw9g9l2d4si7zvhb6jahrvkkgjyyzqrkgqj10qjgh";
+      name = "cantor-16.04.0.tar.xz";
+    };
+  };
+  cervisia = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/cervisia-16.04.0.tar.xz";
+      sha256 = "049df86n0mj0jcxlwi64cf1ijm5bilgq0dn0b1av3ivb53c2k8c1";
+      name = "cervisia-16.04.0.tar.xz";
+    };
+  };
+  dolphin = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/dolphin-16.04.0.tar.xz";
+      sha256 = "1cnvlcn5cgy1paxrcv9x8dnjvnivn86pr93gmscwl83p9dg3ly37";
+      name = "dolphin-16.04.0.tar.xz";
+    };
+  };
+  dolphin-plugins = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/dolphin-plugins-16.04.0.tar.xz";
+      sha256 = "0r58i2w7jiznh190jqvdb7rdgyk3rnwb34hxbid02w042hsf06gp";
+      name = "dolphin-plugins-16.04.0.tar.xz";
+    };
+  };
+  dragon = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/dragon-16.04.0.tar.xz";
+      sha256 = "0b81wfpxzx4wnawvkhsj16ijvdajq528m24iswxdss1ya7hcszm2";
+      name = "dragon-16.04.0.tar.xz";
+    };
+  };
+  eventviews = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/eventviews-16.04.0.tar.xz";
+      sha256 = "1gyslz02y0i9fcrxg7xxcag7h7qd1g9amn2ry2rygpxcl98bzcz7";
+      name = "eventviews-16.04.0.tar.xz";
+    };
+  };
+  ffmpegthumbs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ffmpegthumbs-16.04.0.tar.xz";
+      sha256 = "0jjq5gm4avi2lli3r6zd1m4v6nzc4dxd2msm6lr35nkhadamihjj";
+      name = "ffmpegthumbs-16.04.0.tar.xz";
+    };
+  };
+  filelight = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/filelight-16.04.0.tar.xz";
+      sha256 = "07k1fkb5nangzzxl00jkz9jqrlzi8g9dvp1qm8s5vbpfww6gaq4a";
+      name = "filelight-16.04.0.tar.xz";
+    };
+  };
+  gpgmepp = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/gpgmepp-16.04.0.tar.xz";
+      sha256 = "0k5wawmqmpsjg3q4wcg54xvs0rlkv26398gkvfhvw5kixcd71kys";
+      name = "gpgmepp-16.04.0.tar.xz";
+    };
+  };
+  granatier = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/granatier-16.04.0.tar.xz";
+      sha256 = "1j5jzhyfp7jy3nzj6y2s8gy4hm1q8z3vwlx7cd7j936vk27r4vw2";
+      name = "granatier-16.04.0.tar.xz";
+    };
+  };
+  grantleetheme = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/grantleetheme-16.04.0.tar.xz";
+      sha256 = "0dccrqa8nsjjljwi9z9yfx71cr6ds74k8kzkyc2bgw4zdcmw62kg";
+      name = "grantleetheme-16.04.0.tar.xz";
+    };
+  };
+  gwenview = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/gwenview-16.04.0.tar.xz";
+      sha256 = "16viz9z4r3mllc4yfw7rirq9hjaxsbfv0vgckrc4mvwbpjhhbl88";
+      name = "gwenview-16.04.0.tar.xz";
+    };
+  };
+  incidenceeditor = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/incidenceeditor-16.04.0.tar.xz";
+      sha256 = "08fvqpr12295dinarcfrh2m95591h1hiqyllc36asc8pwzisfb9f";
+      name = "incidenceeditor-16.04.0.tar.xz";
+    };
+  };
+  jovie = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/jovie-16.04.0.tar.xz";
+      sha256 = "0xvwgpqzh7h2vl2dpzninz4r93z18giwwij4yffl8740k4fk5id5";
+      name = "jovie-16.04.0.tar.xz";
+    };
+  };
+  juk = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/juk-16.04.0.tar.xz";
+      sha256 = "0y4bfq6qza84s0nk6fajwg1bmn0kzjnjj2zjglas322fh8vbdz4n";
+      name = "juk-16.04.0.tar.xz";
+    };
+  };
+  kaccessible = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kaccessible-16.04.0.tar.xz";
+      sha256 = "1glwmqaafvcm6gjvs2m0d2iaglqz3y1mj3g0jqips4sx32zbsgxf";
+      name = "kaccessible-16.04.0.tar.xz";
+    };
+  };
+  kaccounts-integration = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kaccounts-integration-16.04.0.tar.xz";
+      sha256 = "0h84nbibzzlxs0vpklij0yczs2c53gqwdx5yvfhnipbi285wy7km";
+      name = "kaccounts-integration-16.04.0.tar.xz";
+    };
+  };
+  kaccounts-providers = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kaccounts-providers-16.04.0.tar.xz";
+      sha256 = "1bmc5kycmw7r84jy7si0dap6lq011lbq050ldhba6ix5dnx0nsws";
+      name = "kaccounts-providers-16.04.0.tar.xz";
+    };
+  };
+  kajongg = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kajongg-16.04.0.tar.xz";
+      sha256 = "0fasvm8x3cgw0gv1ac38xp12ncms2nf9b5r8hprjxmb5485p7mh6";
+      name = "kajongg-16.04.0.tar.xz";
+    };
+  };
+  kalarmcal = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kalarmcal-16.04.0.tar.xz";
+      sha256 = "03ylk2kaidqi54zmz84alqhzkiq87kw5a0f7qfj76r8mf7lmnlki";
+      name = "kalarmcal-16.04.0.tar.xz";
+    };
+  };
+  kalgebra = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kalgebra-16.04.0.tar.xz";
+      sha256 = "0clcgq89wh451dj7nib7pbbppncslnzkn3532hyw347ckisphyvc";
+      name = "kalgebra-16.04.0.tar.xz";
+    };
+  };
+  kalzium = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kalzium-16.04.0.tar.xz";
+      sha256 = "1cqkgkc5m8fz7l18x0ybh85ldif15mc9gzdak8g2mdjcacxsm9nz";
+      name = "kalzium-16.04.0.tar.xz";
+    };
+  };
+  kamera = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kamera-16.04.0.tar.xz";
+      sha256 = "0n6h7z9dzv2fhwmk41smzv6l1db61334drcgivjmkblmglbdi473";
+      name = "kamera-16.04.0.tar.xz";
+    };
+  };
+  kanagram = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kanagram-16.04.0.tar.xz";
+      sha256 = "0g2d7zcb76a01hgbk0aid64xp8qym64a76k3vixwqzjdwf3jbcfr";
+      name = "kanagram-16.04.0.tar.xz";
+    };
+  };
+  kapman = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kapman-16.04.0.tar.xz";
+      sha256 = "1arb6jiy1ikn96rsvmd87fj35kxnpdq7s0nxn747psc3wvms43wr";
+      name = "kapman-16.04.0.tar.xz";
+    };
+  };
+  kapptemplate = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kapptemplate-16.04.0.tar.xz";
+      sha256 = "0bqrhzl0w499m8370idv76yz1f8n5wv418y82abd2f9qip0xk1sc";
+      name = "kapptemplate-16.04.0.tar.xz";
+    };
+  };
+  kate = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kate-16.04.0.tar.xz";
+      sha256 = "13v8a4p3fnymgi682kfhfvd2h71xmhb5i1739cbf9baixsggcbnh";
+      name = "kate-16.04.0.tar.xz";
+    };
+  };
+  katomic = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/katomic-16.04.0.tar.xz";
+      sha256 = "1g47gxxxy52mdf3lra98fibg93s302vavp0fi73gdy09wvm4nfk1";
+      name = "katomic-16.04.0.tar.xz";
+    };
+  };
+  kblackbox = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kblackbox-16.04.0.tar.xz";
+      sha256 = "0jjyffs1aijvqan9cva6d9cfnskqp4ynvpqkx1rw2mqnvadm59g3";
+      name = "kblackbox-16.04.0.tar.xz";
+    };
+  };
+  kblocks = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kblocks-16.04.0.tar.xz";
+      sha256 = "1c16s7lq4j6ixq8rvqf5cadag8cabzjgyw9hiwqix9k3csbnh5br";
+      name = "kblocks-16.04.0.tar.xz";
+    };
+  };
+  kblog = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kblog-16.04.0.tar.xz";
+      sha256 = "1hhh2f8rj0nfzm1imckhk3iczzda6q1nxnd3v6bp0dnxh14yanwk";
+      name = "kblog-16.04.0.tar.xz";
+    };
+  };
+  kbounce = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kbounce-16.04.0.tar.xz";
+      sha256 = "0sfrlyqkig089kn1d8fvfhl18hwrc3jygbl9sx0r87wg25w8niv7";
+      name = "kbounce-16.04.0.tar.xz";
+    };
+  };
+  kbreakout = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kbreakout-16.04.0.tar.xz";
+      sha256 = "05rbxhifx8nwma1nm0ji28d3jyg6kadgb90ma573xj9i4b97ak74";
+      name = "kbreakout-16.04.0.tar.xz";
+    };
+  };
+  kbruch = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kbruch-16.04.0.tar.xz";
+      sha256 = "1ncfcdcdvxd992q1brqqfq107x8q2y0235dx7z2hxvclf94npigj";
+      name = "kbruch-16.04.0.tar.xz";
+    };
+  };
+  kcachegrind = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcachegrind-16.04.0.tar.xz";
+      sha256 = "0jks1gc03s2qc6x9klc6x2j8jcx05n13qn0l5qp4sny93mxxyxlv";
+      name = "kcachegrind-16.04.0.tar.xz";
+    };
+  };
+  kcalc = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcalc-16.04.0.tar.xz";
+      sha256 = "15w0856jqh7vrg3a88b1mcqw63gmady3sdl1zish719jg5hjgw9i";
+      name = "kcalc-16.04.0.tar.xz";
+    };
+  };
+  kcalcore = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcalcore-16.04.0.tar.xz";
+      sha256 = "1cnp93sgh13aiycwfw9zayzhk6wcxawa8cnvliyfn05809cjffwq";
+      name = "kcalcore-16.04.0.tar.xz";
+    };
+  };
+  kcalutils = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcalutils-16.04.0.tar.xz";
+      sha256 = "0gz83k11idib66n9m02kql6blfv6h39slmqsx6fkbd6vlajz9wn7";
+      name = "kcalutils-16.04.0.tar.xz";
+    };
+  };
+  kcharselect = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcharselect-16.04.0.tar.xz";
+      sha256 = "07gnsdnxm84whi2syyj2h2n6sq99mhjx53dndcm3y8c1ry4d2qp5";
+      name = "kcharselect-16.04.0.tar.xz";
+    };
+  };
+  kcolorchooser = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcolorchooser-16.04.0.tar.xz";
+      sha256 = "0l2ahmqzrl1s3vsiwbgb05rsazqcg5zk8h5n2lg00q30glly24x3";
+      name = "kcolorchooser-16.04.0.tar.xz";
+    };
+  };
+  kcontacts = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcontacts-16.04.0.tar.xz";
+      sha256 = "1ysism44p2ql95q0fkypa3w1r0fps720yj539a61g60fvdij2nsn";
+      name = "kcontacts-16.04.0.tar.xz";
+    };
+  };
+  kcron = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kcron-16.04.0.tar.xz";
+      sha256 = "0dkrb4h5fnzh81c1i38j62ik5lqfai0hhyjs3zrh9av6ylzmb9yc";
+      name = "kcron-16.04.0.tar.xz";
+    };
+  };
+  kde-baseapps = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-baseapps-16.04.0.tar.xz";
+      sha256 = "1py7j2j2nnxih0cyyyv27g6svrga80v4hqsi5gafk843zln5v836";
+      name = "kde-baseapps-16.04.0.tar.xz";
+    };
+  };
+  kdebugsettings = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdebugsettings-16.04.0.tar.xz";
+      sha256 = "0madfi735qas20dpfx92jfcl6mcl2sfr0z5wxby5k1p1xc0rmm32";
+      name = "kdebugsettings-16.04.0.tar.xz";
+    };
+  };
+  kde-dev-scripts = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-dev-scripts-16.04.0.tar.xz";
+      sha256 = "1p4aklykn463f0h6kn0brhm81lli5rl5sh4d5fgaj6r3b5s0l2gf";
+      name = "kde-dev-scripts-16.04.0.tar.xz";
+    };
+  };
+  kde-dev-utils = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-dev-utils-16.04.0.tar.xz";
+      sha256 = "0ldmmww497q2lmlj16jm6k2p89931bgn841rvaj7rb6pclms1l49";
+      name = "kde-dev-utils-16.04.0.tar.xz";
+    };
+  };
+  kdeedu-data = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdeedu-data-16.04.0.tar.xz";
+      sha256 = "01ps6iqdc685q3xpyjfcjy98hz29max0gl9kfppzq4nzx3hiykj9";
+      name = "kdeedu-data-16.04.0.tar.xz";
+    };
+  };
+  kdegraphics-mobipocket = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdegraphics-mobipocket-16.04.0.tar.xz";
+      sha256 = "0lzj4xyjs91404k7h0mcbg8vc2jd5h2r83w83iq76b4cy2gmqhhd";
+      name = "kdegraphics-mobipocket-16.04.0.tar.xz";
+    };
+  };
+  kdegraphics-strigi-analyzer = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdegraphics-strigi-analyzer-16.04.0.tar.xz";
+      sha256 = "0ibkbr7z5lz42cz65hwx0j4sjqy7k8rzj304d8ra2732mazamapj";
+      name = "kdegraphics-strigi-analyzer-16.04.0.tar.xz";
+    };
+  };
+  kdegraphics-thumbnailers = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdegraphics-thumbnailers-16.04.0.tar.xz";
+      sha256 = "0qw0bq9gkasrkd4mxh30k15k50d28jkl7sc88akys91id1wn8mcb";
+      name = "kdegraphics-thumbnailers-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ar = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ar-16.04.0.tar.xz";
+      sha256 = "1rb8vqq06f83w5q81d1r5qf76yzr85kf826a0a47hfly2plaw3lc";
+      name = "kde-l10n-ar-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ast = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ast-16.04.0.tar.xz";
+      sha256 = "1lzlwyxyi9dgds8sgghzjlhkbd18w9plbli4yqrglfbxl8yc60xl";
+      name = "kde-l10n-ast-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-bg = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-bg-16.04.0.tar.xz";
+      sha256 = "026apn9qz3k29dvk1pvylh9ha1m637gjhnpjmj6i03frh2ai7fqs";
+      name = "kde-l10n-bg-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-bs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-bs-16.04.0.tar.xz";
+      sha256 = "0j1i6794rvdpzzqmjqcig6wh1ljrnvygwm6zr0yin4didadm78xm";
+      name = "kde-l10n-bs-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ca = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ca-16.04.0.tar.xz";
+      sha256 = "08wrdlrdqp0w7dg2ygk9pi78ynj6ipzlyxx2mqyplnj1hx2jgrw4";
+      name = "kde-l10n-ca-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ca_valencia = {
+    version = "ca_valencia-16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ca@valencia-16.04.0.tar.xz";
+      sha256 = "0a9dyvqng3gbn5kljq0av93b6wd7l04i57gmac0vz3qja9fyw7px";
+      name = "kde-l10n-ca_valencia-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-cs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-cs-16.04.0.tar.xz";
+      sha256 = "1ai2p9hg7l7s77k45gmxdn3lqnv4mh8gdsxhbjdpqcmwxyc2zgwf";
+      name = "kde-l10n-cs-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-da = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-da-16.04.0.tar.xz";
+      sha256 = "05ncpim4fpyiv2cca4dvn7d8sd031xjc4f85p1yf9inwbsj4nf5x";
+      name = "kde-l10n-da-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-de = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-de-16.04.0.tar.xz";
+      sha256 = "17cbibk6lqiabyyinnj9by0jjhqzlkn09zr8m0h967704fkhnzjc";
+      name = "kde-l10n-de-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-el = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-el-16.04.0.tar.xz";
+      sha256 = "15raxjj0cnnrqwr8cfdww5a93k7c17lakb88z65lpafvhnyf6mry";
+      name = "kde-l10n-el-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-en_GB = {
+    version = "en_GB-16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-en_GB-16.04.0.tar.xz";
+      sha256 = "17dbbwmwm5mqxc0wbc27ys9izfh8jkjbvc2vnw8gd1kxqgfqy49l";
+      name = "kde-l10n-en_GB-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-eo = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-eo-16.04.0.tar.xz";
+      sha256 = "03bz9hpm36lmh1g2560r2xy8fais0f7wdqj58z82kvxb2lqwr2jg";
+      name = "kde-l10n-eo-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-es = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-es-16.04.0.tar.xz";
+      sha256 = "0kqvw2a7lgp9qy3ph6f6kxl3mvqlq19r99821w0hbv7qk2p9frbs";
+      name = "kde-l10n-es-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-et = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-et-16.04.0.tar.xz";
+      sha256 = "1x483l2a39da9kbhh8k20s84x6zjy27f760i7y9mmkah5ryxbn68";
+      name = "kde-l10n-et-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-eu = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-eu-16.04.0.tar.xz";
+      sha256 = "0z0bqnywx9crk829vdixg5kswf208qmcicvi72fiz2cwjwcqhbyg";
+      name = "kde-l10n-eu-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-fa = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-fa-16.04.0.tar.xz";
+      sha256 = "1m4vdmzy94jg3rky8d8rbqrkyja6rv6jybfh1q0ydpihz9k5p5hk";
+      name = "kde-l10n-fa-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-fi = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-fi-16.04.0.tar.xz";
+      sha256 = "1bcblmd3dsx6slvia5x9ammw4054wsyjk6mdzgcabyi86xmm1xj8";
+      name = "kde-l10n-fi-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-fr = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-fr-16.04.0.tar.xz";
+      sha256 = "1311ymksp37l1yfz8921zvbrcd4g2pygfhilmmjrww0chizxjdjf";
+      name = "kde-l10n-fr-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ga = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ga-16.04.0.tar.xz";
+      sha256 = "0iml1y2xdwchn2gqgbvcvs2fbq78drh2r6068jlrc3hixbf76wsy";
+      name = "kde-l10n-ga-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-gl = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-gl-16.04.0.tar.xz";
+      sha256 = "1v1hq61fwj2x8iiqjm9fwabzgc7m044narb1108cijl7d76lsn4m";
+      name = "kde-l10n-gl-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-he = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-he-16.04.0.tar.xz";
+      sha256 = "0q1gj3gffin7l0r7xlp395zj5kdil8bnrl6apk2jslg7pz929dhb";
+      name = "kde-l10n-he-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-hi = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-hi-16.04.0.tar.xz";
+      sha256 = "19czqc6l4jn321zwygk7b46wgsimcbf8zvl30a0rkdvspwyvaqc5";
+      name = "kde-l10n-hi-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-hr = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-hr-16.04.0.tar.xz";
+      sha256 = "0bbcjrxgm5yqjz1y4ngm133hcvrp3c2z8lrycpg76g7j50w3fsi5";
+      name = "kde-l10n-hr-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-hu = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-hu-16.04.0.tar.xz";
+      sha256 = "0iww0m45gdlmf0j1jw8qljqar0dsmax4sxkr6yd3kswwr6m75v2i";
+      name = "kde-l10n-hu-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ia = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ia-16.04.0.tar.xz";
+      sha256 = "0ivgp1gjxshxq1fvn254k4gni30svyqfnlfz7d8niqp3msnfmc2b";
+      name = "kde-l10n-ia-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-id = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-id-16.04.0.tar.xz";
+      sha256 = "15fnm4isigmgpxsgpqhj6gbvcrlhi51491a6fnxiwa3xmrc2pva8";
+      name = "kde-l10n-id-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-is = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-is-16.04.0.tar.xz";
+      sha256 = "14bl3j2kqwg6cln84k5kpm400mnm4r81xhgmjpfb3xy92ms3sycr";
+      name = "kde-l10n-is-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-it = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-it-16.04.0.tar.xz";
+      sha256 = "06akl5x2x0j50gyzw3m1yavxxw3jszyfyychsihn74fk8hslzp6m";
+      name = "kde-l10n-it-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ja = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ja-16.04.0.tar.xz";
+      sha256 = "1kcmryifsjripsxwa7qa7m3ky0wxaipz9smrfhhrnw41i62sfp9a";
+      name = "kde-l10n-ja-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-kk = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-kk-16.04.0.tar.xz";
+      sha256 = "05c100727ydimn55jlvyynlgxzxncig2y4i4b53aslfi6h17fn0i";
+      name = "kde-l10n-kk-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-km = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-km-16.04.0.tar.xz";
+      sha256 = "1shbg5vbzbgx07lbgi6ddhphh5b2bm9qd1gavls8alcgpbqj221c";
+      name = "kde-l10n-km-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ko = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ko-16.04.0.tar.xz";
+      sha256 = "1fjavkaivv6zspagqcbdhy7gdkmv38z20bv7fs45qf4470ffmwz5";
+      name = "kde-l10n-ko-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-lt = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-lt-16.04.0.tar.xz";
+      sha256 = "09n4yc9grd7g3yqkgxj9x6hkygcqbx6dxi0jj6v98a5p50b78a5d";
+      name = "kde-l10n-lt-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-lv = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-lv-16.04.0.tar.xz";
+      sha256 = "1c86bhsq0j0r2bmc6524g4sxc0bsw5sx6d4fxs6sxzx3bpdml5bq";
+      name = "kde-l10n-lv-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-mr = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-mr-16.04.0.tar.xz";
+      sha256 = "1xp3fb99crsvf1xl45iy9q31nbs2735hxai1wlfn5h0q9scz2nin";
+      name = "kde-l10n-mr-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-nb = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-nb-16.04.0.tar.xz";
+      sha256 = "1dkfwqvbh6dxfxg4gznchpkwscc4g6rgwndxzjj53lvfz69611dj";
+      name = "kde-l10n-nb-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-nds = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-nds-16.04.0.tar.xz";
+      sha256 = "1pma4pn7h1r9y6dxs86xqh0ahvl04rhw8qad3cbyil2r1s7j80ac";
+      name = "kde-l10n-nds-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-nl = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-nl-16.04.0.tar.xz";
+      sha256 = "0bd49aylsklgp9rqs6nk72n0za9kcp7fjzr5myfavcxliwv8lhqp";
+      name = "kde-l10n-nl-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-nn = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-nn-16.04.0.tar.xz";
+      sha256 = "14acr8pchds4ib246fz6ml65qjkiifcxfs6r5hqh99l72im30hx1";
+      name = "kde-l10n-nn-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-pa = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-pa-16.04.0.tar.xz";
+      sha256 = "116dssrchp0yf173m3n8hkcfyr0k02bjlda24ikknjbh50y5kqfk";
+      name = "kde-l10n-pa-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-pl = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-pl-16.04.0.tar.xz";
+      sha256 = "1gibqcmgqvq9f1573jfchh7nhkd8czdi183n2smld4irsd750la8";
+      name = "kde-l10n-pl-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-pt = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-pt-16.04.0.tar.xz";
+      sha256 = "1yrjhqcl93fdch9nvzc2yk30rbzxsrya3xsj54xgxv2anggbr3wr";
+      name = "kde-l10n-pt-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-pt_BR = {
+    version = "pt_BR-16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-pt_BR-16.04.0.tar.xz";
+      sha256 = "0sbg767ddcknzs4k4v76ys00jxgqlxlggf5i9fw3dvaggs78azj7";
+      name = "kde-l10n-pt_BR-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ro = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ro-16.04.0.tar.xz";
+      sha256 = "0bz25pg9xj2n4vl2aadaj02p0jx37j3i37p7bvafsb499qpgprk2";
+      name = "kde-l10n-ro-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ru = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ru-16.04.0.tar.xz";
+      sha256 = "0jkljdc5i3hq7kkkq4gl7rh92ia4vv6m2vd74bsilibgxgb1kmah";
+      name = "kde-l10n-ru-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-sk = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-sk-16.04.0.tar.xz";
+      sha256 = "06lnlky47xq6fcjj70msc28q97cymsh0g4z06pbc0cyyby85521m";
+      name = "kde-l10n-sk-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-sl = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-sl-16.04.0.tar.xz";
+      sha256 = "0z2d8jx117prr35malcp0ca93ipbjj55s4dm3iad2iy2q728hkmv";
+      name = "kde-l10n-sl-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-sr = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-sr-16.04.0.tar.xz";
+      sha256 = "0w24mrb48qyc7diw40hwzplxb2rqlrrymvwnxbdy2d6x35hha0j4";
+      name = "kde-l10n-sr-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-sv = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-sv-16.04.0.tar.xz";
+      sha256 = "039q4d2y3vwxnpz6rwgf9s1ivhrlz26gp5kx3y9cz8fhcsa4jk8j";
+      name = "kde-l10n-sv-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-tr = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-tr-16.04.0.tar.xz";
+      sha256 = "1sr5xxxzs29sah0azfc71w01nbm5njhgygpzll3lfx3padsvfz49";
+      name = "kde-l10n-tr-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-ug = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-ug-16.04.0.tar.xz";
+      sha256 = "16jpax5k3z8anhsf61wsi93n8ail8ybjpi31dnk859g0y50a4nr5";
+      name = "kde-l10n-ug-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-uk = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-uk-16.04.0.tar.xz";
+      sha256 = "1275347grzcdm0jd9mzm1ww8dsh3g2ws5ppfxs3ip7jdsxgmcqh0";
+      name = "kde-l10n-uk-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-wa = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-wa-16.04.0.tar.xz";
+      sha256 = "1gz918hj908308fd49pdbw1z8252shjbng5qgfzmdgfp9nvfhc14";
+      name = "kde-l10n-wa-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-zh_CN = {
+    version = "zh_CN-16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-zh_CN-16.04.0.tar.xz";
+      sha256 = "1kyakzig301vylmib9wjb46llllw0jjiq18wys017hzjxykx170f";
+      name = "kde-l10n-zh_CN-16.04.0.tar.xz";
+    };
+  };
+  kde-l10n-zh_TW = {
+    version = "zh_TW-16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-l10n/kde-l10n-zh_TW-16.04.0.tar.xz";
+      sha256 = "0s2m1f4ylm6l3vp67h6v41n06pmk6762lk32wqy0l2fgg4zxrrzl";
+      name = "kde-l10n-zh_TW-16.04.0.tar.xz";
+    };
+  };
+  kdelibs = {
+    version = "4.14.19";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdelibs-4.14.19.tar.xz";
+      sha256 = "0dfmhivd41y8c9pnag496rc8qlj78dg62liap5zdphgvi2baf8p6";
+      name = "kdelibs-4.14.19.tar.xz";
+    };
+  };
+  kdenetwork-filesharing = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdenetwork-filesharing-16.04.0.tar.xz";
+      sha256 = "08rlg7ppqbi2xvq6ixjjw1xdr17n7bhzi2ymssxv8q1fmznfqhvp";
+      name = "kdenetwork-filesharing-16.04.0.tar.xz";
+    };
+  };
+  kdenetwork-strigi-analyzers = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdenetwork-strigi-analyzers-16.04.0.tar.xz";
+      sha256 = "0i08niv87jn6bh6c1fknpqr7mkbg5csd8lgm39bwq551zgn7n6sw";
+      name = "kdenetwork-strigi-analyzers-16.04.0.tar.xz";
+    };
+  };
+  kdenlive = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdenlive-16.04.0.tar.xz";
+      sha256 = "0ks30as7cnr9jcacj97c720pf2dn1wv8xg9mgxsin7c2lhbz8i5f";
+      name = "kdenlive-16.04.0.tar.xz";
+    };
+  };
+  kdepim = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdepim-16.04.0.tar.xz";
+      sha256 = "0cd39hgr7gvv78mf5rypj7yjpfrnapd1pxad1aanlsr6ms5qdzyg";
+      name = "kdepim-16.04.0.tar.xz";
+    };
+  };
+  kdepim-addons = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdepim-addons-16.04.0.tar.xz";
+      sha256 = "1dfvl0pd9269ghpjwydyws40flvw7clq2hq830m4jk6myqjccd4i";
+      name = "kdepim-addons-16.04.0.tar.xz";
+    };
+  };
+  kdepim-apps-libs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdepim-apps-libs-16.04.0.tar.xz";
+      sha256 = "1slnsssd242wzk0pga4l6i8q83gdca1vgmqixz82x4pvfj62bw7w";
+      name = "kdepim-apps-libs-16.04.0.tar.xz";
+    };
+  };
+  kdepimlibs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdepimlibs-16.04.0.tar.xz";
+      sha256 = "1mk8rjf918c5dfglv1sdrs6wjyf31dry4070ip3fx6kdph2x5akr";
+      name = "kdepimlibs-16.04.0.tar.xz";
+    };
+  };
+  kdepim-runtime = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdepim-runtime-16.04.0.tar.xz";
+      sha256 = "0siwplwdbrsaikzfxbz9w00wk3xfg4a6y124nlwqx7588ni8brs3";
+      name = "kdepim-runtime-16.04.0.tar.xz";
+    };
+  };
+  kde-runtime = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kde-runtime-16.04.0.tar.xz";
+      sha256 = "0sr06v4z6lbkacqgk8a35m3ldal1fcpvp6n2s8bfa226yck8sdq6";
+      name = "kde-runtime-16.04.0.tar.xz";
+    };
+  };
+  kdesdk-kioslaves = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdesdk-kioslaves-16.04.0.tar.xz";
+      sha256 = "0lwdy4l48id0p3vkpk92n3ja6ymzxx9zl7iwwszb1rxbr48q4v7l";
+      name = "kdesdk-kioslaves-16.04.0.tar.xz";
+    };
+  };
+  kdesdk-strigi-analyzers = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdesdk-strigi-analyzers-16.04.0.tar.xz";
+      sha256 = "1bn12pqqq9bgr6y916wd54i0dsw30ab9xhz99mqyjw2fcxpz4mf8";
+      name = "kdesdk-strigi-analyzers-16.04.0.tar.xz";
+    };
+  };
+  kdesdk-thumbnailers = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdesdk-thumbnailers-16.04.0.tar.xz";
+      sha256 = "1wqlrkgix2nnpvlqqqdja4j5iws4vjglds94ra5s0wmyfk0y9yc2";
+      name = "kdesdk-thumbnailers-16.04.0.tar.xz";
+    };
+  };
+  kdewebdev = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdewebdev-16.04.0.tar.xz";
+      sha256 = "1xmibm0hi0mdwsvp8h48qph4mjwb1k3q58i9y8s1c7vqczl1q09n";
+      name = "kdewebdev-16.04.0.tar.xz";
+    };
+  };
+  kdf = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdf-16.04.0.tar.xz";
+      sha256 = "12bcvy6x8wkizjykrc3wmd3lbsj2zmiizxknic5jiwin6zqjrzh4";
+      name = "kdf-16.04.0.tar.xz";
+    };
+  };
+  kdgantt2 = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdgantt2-16.04.0.tar.xz";
+      sha256 = "0j9b2f5zkvasv5w4paazyc47iph27nqd4l4nrwr3plvdirivdidf";
+      name = "kdgantt2-16.04.0.tar.xz";
+    };
+  };
+  kdiamond = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kdiamond-16.04.0.tar.xz";
+      sha256 = "1alb6hv95whdy15kmc0kzx4758wjni6q2k3dxxpdhw0hq657v508";
+      name = "kdiamond-16.04.0.tar.xz";
+    };
+  };
+  kfloppy = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kfloppy-16.04.0.tar.xz";
+      sha256 = "09jwqbfs0ayswlzih90bq439c8ljhay12jfv73gdnkvf23qiq5vw";
+      name = "kfloppy-16.04.0.tar.xz";
+    };
+  };
+  kfourinline = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kfourinline-16.04.0.tar.xz";
+      sha256 = "13hgwn3gzyhvh4xw7ym80vsbnqbvhlvn3jwzjrxlj377q9q1h6i6";
+      name = "kfourinline-16.04.0.tar.xz";
+    };
+  };
+  kgeography = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kgeography-16.04.0.tar.xz";
+      sha256 = "1pk76akkd5ykh9p1l757cqj8niwwavxdxwinkz51w0dz0n62zb4x";
+      name = "kgeography-16.04.0.tar.xz";
+    };
+  };
+  kget = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kget-16.04.0.tar.xz";
+      sha256 = "17z2n0bgj1dm4d4abprnx8crw30flxxk95w8sv3483zqbk0k3p4i";
+      name = "kget-16.04.0.tar.xz";
+    };
+  };
+  kgoldrunner = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kgoldrunner-16.04.0.tar.xz";
+      sha256 = "019dk1nq1jmk7w3lklxlsy667m7vahspjd0w5rrpas54czl975w8";
+      name = "kgoldrunner-16.04.0.tar.xz";
+    };
+  };
+  kgpg = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kgpg-16.04.0.tar.xz";
+      sha256 = "0qrijbwnrg61kwmv7l5k6796lbr9ry4grmk9jc38cq2g7bi64wz2";
+      name = "kgpg-16.04.0.tar.xz";
+    };
+  };
+  khangman = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/khangman-16.04.0.tar.xz";
+      sha256 = "0ljrap9ybccmwymkay7760rgmpp51cssnvn4lwmd3mig5cfqlavs";
+      name = "khangman-16.04.0.tar.xz";
+    };
+  };
+  khelpcenter = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/khelpcenter-16.04.0.tar.xz";
+      sha256 = "1r6aysdnc0qdg9lbzy1zb6pirfyfah3sbjsqkmrnf63kqsyjvapy";
+      name = "khelpcenter-16.04.0.tar.xz";
+    };
+  };
+  kholidays = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kholidays-16.04.0.tar.xz";
+      sha256 = "04gfy3f5fip79ra08m3f098cbgp0k7v76lam3513r0zvl0h53gad";
+      name = "kholidays-16.04.0.tar.xz";
+    };
+  };
+  kidentitymanagement = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kidentitymanagement-16.04.0.tar.xz";
+      sha256 = "0dhpjgmz7ndbk77syp1zvk5g7sn991wjx5cllk6dx0q9ylfl1895";
+      name = "kidentitymanagement-16.04.0.tar.xz";
+    };
+  };
+  kig = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kig-16.04.0.tar.xz";
+      sha256 = "0rlx7cm41z8zm4v4rdwmwicam2g2ibd0gmzlsnh77s4cv8xhmd7y";
+      name = "kig-16.04.0.tar.xz";
+    };
+  };
+  kigo = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kigo-16.04.0.tar.xz";
+      sha256 = "1cw8hyhayn650j73kqr8aqzj6wd6bq21l5c4ibl2qm90p1byj6zz";
+      name = "kigo-16.04.0.tar.xz";
+    };
+  };
+  killbots = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/killbots-16.04.0.tar.xz";
+      sha256 = "1qnrwj1shy7ah2x0nh03r0zf3h8535qxxg62wgyg675n80ndl6wh";
+      name = "killbots-16.04.0.tar.xz";
+    };
+  };
+  kimap = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kimap-16.04.0.tar.xz";
+      sha256 = "028xpqdxgylab6sznzxdd7pyfm7l27mzj13zzxhd7lc7fqd3xgx9";
+      name = "kimap-16.04.0.tar.xz";
+    };
+  };
+  kio-extras = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kio-extras-16.04.0.tar.xz";
+      sha256 = "0iims3vk5mqz8lnpimwc3kjlvkmfh10287zy4sm5p8kxxfgz88fj";
+      name = "kio-extras-16.04.0.tar.xz";
+    };
+  };
+  kiriki = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kiriki-16.04.0.tar.xz";
+      sha256 = "0bywgx8j1kx5x5j4h5bv8zrf73pkdzd96wharrgia0x55kmnzgn2";
+      name = "kiriki-16.04.0.tar.xz";
+    };
+  };
+  kiten = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kiten-16.04.0.tar.xz";
+      sha256 = "12d0p468439llj5jyxyd7qhr2zavdkbl8s87qcfhw7lngsnssq34";
+      name = "kiten-16.04.0.tar.xz";
+    };
+  };
+  kjumpingcube = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kjumpingcube-16.04.0.tar.xz";
+      sha256 = "1grrcfblnfr2p6a72n38r6awkfm662brnv1r2k4kqbiz0qmwmvyd";
+      name = "kjumpingcube-16.04.0.tar.xz";
+    };
+  };
+  kldap = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kldap-16.04.0.tar.xz";
+      sha256 = "1gbm7rgf2llxdnckzlnsjii9jd8s59hym96hf9v87svbphbm1738";
+      name = "kldap-16.04.0.tar.xz";
+    };
+  };
+  kleopatra = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kleopatra-16.04.0.tar.xz";
+      sha256 = "0rmzsqvp0xwyjr25d2vnslgg6cvni9km8hkijyhz8zrmnmpdm97z";
+      name = "kleopatra-16.04.0.tar.xz";
+    };
+  };
+  klettres = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/klettres-16.04.0.tar.xz";
+      sha256 = "17m30hkjjrk5h4a5z1c96sgl8i0729537q11v9ndj8kh1699sfxs";
+      name = "klettres-16.04.0.tar.xz";
+    };
+  };
+  klickety = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/klickety-16.04.0.tar.xz";
+      sha256 = "0ggj585vki81ds94k9i7b1sawzxz24k582zm5d3lngipcb1x808l";
+      name = "klickety-16.04.0.tar.xz";
+    };
+  };
+  klines = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/klines-16.04.0.tar.xz";
+      sha256 = "1000j5n9hzr3ffpi7mj5aicflr5gvbbd02s4l2qy9ghgxf5ghfzw";
+      name = "klines-16.04.0.tar.xz";
+    };
+  };
+  kmag = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmag-16.04.0.tar.xz";
+      sha256 = "0z9jrd9a9xmxsbk6xckiqvidd6f9dcj1lfav818fm1wf5jr04v40";
+      name = "kmag-16.04.0.tar.xz";
+    };
+  };
+  kmahjongg = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmahjongg-16.04.0.tar.xz";
+      sha256 = "0wl7mv20zal3nx3y1cdc8xq0vhkvb8rb8sag8kb66a1ch8zdzw9s";
+      name = "kmahjongg-16.04.0.tar.xz";
+    };
+  };
+  kmailtransport = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmailtransport-16.04.0.tar.xz";
+      sha256 = "0imw47nlfnd1qq2c91ig7cmwrcm1c9jcqfxvi1svllbwy9bgab3i";
+      name = "kmailtransport-16.04.0.tar.xz";
+    };
+  };
+  kmbox = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmbox-16.04.0.tar.xz";
+      sha256 = "1w2y6nda7p5wfl76rmirpglgar8qxhyynx66k5qnvfpvk8xa02wk";
+      name = "kmbox-16.04.0.tar.xz";
+    };
+  };
+  kmime = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmime-16.04.0.tar.xz";
+      sha256 = "04hqdl1kbqv3xm0qvdsrvjs1fnsymqfw2yn286rh7ynlix4p09zz";
+      name = "kmime-16.04.0.tar.xz";
+    };
+  };
+  kmines = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmines-16.04.0.tar.xz";
+      sha256 = "0q8jqycwsjadi10a1ycxn09507j85lh0zwxq1b374cdb01m7ajzw";
+      name = "kmines-16.04.0.tar.xz";
+    };
+  };
+  kmix = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmix-16.04.0.tar.xz";
+      sha256 = "0nmfjrxdxpkvxrsp06w6ddcyhfasmzvn8hk44n4wd9v86vgi29cz";
+      name = "kmix-16.04.0.tar.xz";
+    };
+  };
+  kmousetool = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmousetool-16.04.0.tar.xz";
+      sha256 = "1g2lgmimkq9yb8s1lypwh4cz5zxih4fppcqcjlgwcpg0n4ia2hh7";
+      name = "kmousetool-16.04.0.tar.xz";
+    };
+  };
+  kmouth = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmouth-16.04.0.tar.xz";
+      sha256 = "0bqqjs2khdhqgd3apk7bd8sayb9dg6mwc8f211z7zb03xvgb95nd";
+      name = "kmouth-16.04.0.tar.xz";
+    };
+  };
+  kmplot = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kmplot-16.04.0.tar.xz";
+      sha256 = "1q76bl3604qcp67w754qsncsg0mw5vm9c5jp8hj6i9vksdl8i3n8";
+      name = "kmplot-16.04.0.tar.xz";
+    };
+  };
+  knavalbattle = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/knavalbattle-16.04.0.tar.xz";
+      sha256 = "0q0k37dvw8pajxcmsv25if726ml9mzdm6am2q22x64hblsgmva0h";
+      name = "knavalbattle-16.04.0.tar.xz";
+    };
+  };
+  knetwalk = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/knetwalk-16.04.0.tar.xz";
+      sha256 = "0i00lnw31jb7lb18r6r8k4k61syjak7pglwxwbah96wxrrmdnvpk";
+      name = "knetwalk-16.04.0.tar.xz";
+    };
+  };
+  kolf = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kolf-16.04.0.tar.xz";
+      sha256 = "1b0247wpnzm9lz82d5v3wv28cacj3b7r5rirdg8plri5y2gks8ql";
+      name = "kolf-16.04.0.tar.xz";
+    };
+  };
+  kollision = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kollision-16.04.0.tar.xz";
+      sha256 = "1hmgw5410xznjddv1x2jg6v1rv6hkksr281ylhdb2ca8zh2wdwqi";
+      name = "kollision-16.04.0.tar.xz";
+    };
+  };
+  kolourpaint = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kolourpaint-16.04.0.tar.xz";
+      sha256 = "13x7r8k60q0nnip37xadqdypm88c2zrfk2nhlllhqb41d23hbbsw";
+      name = "kolourpaint-16.04.0.tar.xz";
+    };
+  };
+  kompare = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kompare-16.04.0.tar.xz";
+      sha256 = "1yd06ykjbi5kvas9vrnhy9svpsvlk4y8xvs963vvi0jdw7x5ylzj";
+      name = "kompare-16.04.0.tar.xz";
+    };
+  };
+  konquest = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/konquest-16.04.0.tar.xz";
+      sha256 = "198s495slqi7fffmsnn6pj90mi51bjw3grkr033l4z0lmxhqljmb";
+      name = "konquest-16.04.0.tar.xz";
+    };
+  };
+  konsole = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/konsole-16.04.0.tar.xz";
+      sha256 = "06c3d01h658g00yi4vhc8rk6ndxs4ha0pj6y0w4d10g78zcnjmd4";
+      name = "konsole-16.04.0.tar.xz";
+    };
+  };
+  kontactinterface = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kontactinterface-16.04.0.tar.xz";
+      sha256 = "1plhya2xpvvsx2japbiq8v5a2c1rbw77jf3q278kqwracrkgsiax";
+      name = "kontactinterface-16.04.0.tar.xz";
+    };
+  };
+  kopete = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kopete-16.04.0.tar.xz";
+      sha256 = "1xcaz0f6cmjxy7sifxhlm7jvndj238azx59xg4glrk4mhrnac5m7";
+      name = "kopete-16.04.0.tar.xz";
+    };
+  };
+  kpat = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kpat-16.04.0.tar.xz";
+      sha256 = "06xsisy0sv8rldpc2fw3hc4dr66wmxbw006x3p9gi1xxwqlp8j3w";
+      name = "kpat-16.04.0.tar.xz";
+    };
+  };
+  kpimtextedit = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kpimtextedit-16.04.0.tar.xz";
+      sha256 = "0wkxqqyifvgd1h2i2q3958diwybff8m2wc7g9grl6wagj0rbr6y8";
+      name = "kpimtextedit-16.04.0.tar.xz";
+    };
+  };
+  kppp = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kppp-16.04.0.tar.xz";
+      sha256 = "0z53n7cppr79z7k8siaadrspl1134gw5a7wx02jigl0kihm9sykf";
+      name = "kppp-16.04.0.tar.xz";
+    };
+  };
+  kqtquickcharts = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kqtquickcharts-16.04.0.tar.xz";
+      sha256 = "12x3mgxba4bfi7imli22a8m3af3hkq3fkx192ij3wx8ils7b6in7";
+      name = "kqtquickcharts-16.04.0.tar.xz";
+    };
+  };
+  krdc = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/krdc-16.04.0.tar.xz";
+      sha256 = "0azlvqai97ki33dc448zw76hqbsqzd6a5k7gj9fsj8pg11m06kn4";
+      name = "krdc-16.04.0.tar.xz";
+    };
+  };
+  kremotecontrol = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kremotecontrol-16.04.0.tar.xz";
+      sha256 = "027ljqfxl9gsn6q5rld0azqzg3a1ky96045i809dzhdwknrz014a";
+      name = "kremotecontrol-16.04.0.tar.xz";
+    };
+  };
+  kreversi = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kreversi-16.04.0.tar.xz";
+      sha256 = "193vj6qdshh0k7jn7ca63yfkb99sbb0xn3fhyd65iimwcyziz6yj";
+      name = "kreversi-16.04.0.tar.xz";
+    };
+  };
+  krfb = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/krfb-16.04.0.tar.xz";
+      sha256 = "1xcnvs9l2w5awfkxzq2yi0chpljip8nkc3zqlzlqnchkzpxy568j";
+      name = "krfb-16.04.0.tar.xz";
+    };
+  };
+  kross-interpreters = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kross-interpreters-16.04.0.tar.xz";
+      sha256 = "18sc600x5yki1rngxa9ng6zrw5yam824sf05filwa6m22kxi91y8";
+      name = "kross-interpreters-16.04.0.tar.xz";
+    };
+  };
+  kruler = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kruler-16.04.0.tar.xz";
+      sha256 = "07p85apr7rvgwphnd7vwpmyn8i26m1px4ssq54wk9kindxcs2awg";
+      name = "kruler-16.04.0.tar.xz";
+    };
+  };
+  ksaneplugin = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ksaneplugin-16.04.0.tar.xz";
+      sha256 = "0ldgj3pna0y7ayyw8nz2ybj8g6i1i7axd96sgpgx11708jqphy91";
+      name = "ksaneplugin-16.04.0.tar.xz";
+    };
+  };
+  kscd = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kscd-16.04.0.tar.xz";
+      sha256 = "0k1dxi6gimy41d8mjcb371fkv8z64cdjhyisdgsyfqq6klhy93ss";
+      name = "kscd-16.04.0.tar.xz";
+    };
+  };
+  kshisen = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kshisen-16.04.0.tar.xz";
+      sha256 = "1k75l3y89hv0gs08kfczb1avy5i5h964xf4b976hslzhpvwi8w1q";
+      name = "kshisen-16.04.0.tar.xz";
+    };
+  };
+  ksirk = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ksirk-16.04.0.tar.xz";
+      sha256 = "0hswi5f0r10yjm9rdiffaw96d5wwjwcnv2g07hh7lc1w6irmq7v7";
+      name = "ksirk-16.04.0.tar.xz";
+    };
+  };
+  ksnakeduel = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ksnakeduel-16.04.0.tar.xz";
+      sha256 = "1666k9q065xrij07fbwv1b1xa23p02qk3b366cfhd38kf1shp9fg";
+      name = "ksnakeduel-16.04.0.tar.xz";
+    };
+  };
+  kspaceduel = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kspaceduel-16.04.0.tar.xz";
+      sha256 = "03jqb8yn5jgdc9pd92bpbkvr8vwr91cpvmzgmmrqi4llj3cjpp9x";
+      name = "kspaceduel-16.04.0.tar.xz";
+    };
+  };
+  ksquares = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ksquares-16.04.0.tar.xz";
+      sha256 = "11fqvpkghvy54zrvyvwk9kasx3i1clw8rj4bjphif2nr6sc5wdi7";
+      name = "ksquares-16.04.0.tar.xz";
+    };
+  };
+  kstars = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kstars-16.04.0.tar.xz";
+      sha256 = "0h648mnp6l5msv56pmwrm5197hdx20jmw2wzdflx09lj3iir6d1y";
+      name = "kstars-16.04.0.tar.xz";
+    };
+  };
+  ksudoku = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ksudoku-16.04.0.tar.xz";
+      sha256 = "1d6mwhcsa09yrrd43a842xzyf87hpqwlhp1x82f9kx31hkq1hs6m";
+      name = "ksudoku-16.04.0.tar.xz";
+    };
+  };
+  ksystemlog = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ksystemlog-16.04.0.tar.xz";
+      sha256 = "0qcycfyj1wk730hcnzjn75wf6vcxd6svmvqz6q3q85rrjjs3am6s";
+      name = "ksystemlog-16.04.0.tar.xz";
+    };
+  };
+  kteatime = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kteatime-16.04.0.tar.xz";
+      sha256 = "0yhldn2d2kz0kf5s1s8wkmmg73v620mf2h5prf59hqygkdzmxq1n";
+      name = "kteatime-16.04.0.tar.xz";
+    };
+  };
+  ktimer = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktimer-16.04.0.tar.xz";
+      sha256 = "0p925v4h944vsp8br581wdlnfvp51yq92kf8xfsgc8d7r85h28w4";
+      name = "ktimer-16.04.0.tar.xz";
+    };
+  };
+  ktnef = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktnef-16.04.0.tar.xz";
+      sha256 = "1n1hi22l1cgjq989dhglm1m47f8bg3zdpsyh506qa3j7fg2y3rs6";
+      name = "ktnef-16.04.0.tar.xz";
+    };
+  };
+  ktouch = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktouch-16.04.0.tar.xz";
+      sha256 = "19n33p2yirxh21i7ij2bncqksz1i2k57c2cwrzzq40a3b9dndimc";
+      name = "ktouch-16.04.0.tar.xz";
+    };
+  };
+  ktp-accounts-kcm = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-accounts-kcm-16.04.0.tar.xz";
+      sha256 = "1mr7f481dcgg3gyyzycs92n7s2ap5kyv7xy2dmf7rypz1xkp2sya";
+      name = "ktp-accounts-kcm-16.04.0.tar.xz";
+    };
+  };
+  ktp-approver = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-approver-16.04.0.tar.xz";
+      sha256 = "1mqbvb797mms4mwk5v5xkh2z67fkh1ayhkjq0hgj0wi3a2x65zx8";
+      name = "ktp-approver-16.04.0.tar.xz";
+    };
+  };
+  ktp-auth-handler = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-auth-handler-16.04.0.tar.xz";
+      sha256 = "1l7rlqiaaffcdpplznkbhhrn41q7f1vx4ripjizj0q8a62fivbr6";
+      name = "ktp-auth-handler-16.04.0.tar.xz";
+    };
+  };
+  ktp-call-ui = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-call-ui-16.04.0.tar.xz";
+      sha256 = "0ndknp2c3qyd894cavxbp7kfc8rxgz7pcd3gvsrwdgk31k4jajyx";
+      name = "ktp-call-ui-16.04.0.tar.xz";
+    };
+  };
+  ktp-common-internals = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-common-internals-16.04.0.tar.xz";
+      sha256 = "1q0bwnsna9h7lj8pva1kzmn8qnlgyynbvldgcr85g713jr2lnmr8";
+      name = "ktp-common-internals-16.04.0.tar.xz";
+    };
+  };
+  ktp-contact-list = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-contact-list-16.04.0.tar.xz";
+      sha256 = "07ffzrzm5y8kgz6cxjsj8kkgsnvprrjkl4ck8y0san47gk2p5rb7";
+      name = "ktp-contact-list-16.04.0.tar.xz";
+    };
+  };
+  ktp-contact-runner = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-contact-runner-16.04.0.tar.xz";
+      sha256 = "0rcpci13hz9xdc51p364rvyi50vkjjgmf74wkwmaxc57sclf5bwi";
+      name = "ktp-contact-runner-16.04.0.tar.xz";
+    };
+  };
+  ktp-desktop-applets = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-desktop-applets-16.04.0.tar.xz";
+      sha256 = "01w3cdbrii14211wgn9vl3l108za5bw22f39pyznf1bqjimdz4nh";
+      name = "ktp-desktop-applets-16.04.0.tar.xz";
+    };
+  };
+  ktp-filetransfer-handler = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-filetransfer-handler-16.04.0.tar.xz";
+      sha256 = "1sf7xg317dgcdvnj2j9hq63633d6iyl7rgn22xryawpq2iw3wz9n";
+      name = "ktp-filetransfer-handler-16.04.0.tar.xz";
+    };
+  };
+  ktp-kded-module = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-kded-module-16.04.0.tar.xz";
+      sha256 = "13zsgzipmkn15h83ziwa3wg1dcin4lqawmhapkhlf4xxs8wm1mb6";
+      name = "ktp-kded-module-16.04.0.tar.xz";
+    };
+  };
+  ktp-send-file = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-send-file-16.04.0.tar.xz";
+      sha256 = "0sdwrj644n80xnx8syycpiwwn432ww2i3vvx1v6sj696gcrkv7i4";
+      name = "ktp-send-file-16.04.0.tar.xz";
+    };
+  };
+  ktp-text-ui = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktp-text-ui-16.04.0.tar.xz";
+      sha256 = "1pgz1hzrkmx6k88cghgacgjykmkbjvvm1hhyr377hgvdhrfc6scy";
+      name = "ktp-text-ui-16.04.0.tar.xz";
+    };
+  };
+  ktuberling = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/ktuberling-16.04.0.tar.xz";
+      sha256 = "1w7qv0iacjhr9yphm3kxxiwh2c17x6ky4i2yzb178nb5sh6dgdig";
+      name = "ktuberling-16.04.0.tar.xz";
+    };
+  };
+  kturtle = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kturtle-16.04.0.tar.xz";
+      sha256 = "1as62h92dx4f1n1fb1lhsyvx90msl2392b595hfsgkhgqb4spn3y";
+      name = "kturtle-16.04.0.tar.xz";
+    };
+  };
+  kubrick = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kubrick-16.04.0.tar.xz";
+      sha256 = "1vvh3yzpcri1yyc3z4djkr8sjs03pbrwinrz0f4iwah8diyrdpy0";
+      name = "kubrick-16.04.0.tar.xz";
+    };
+  };
+  kuser = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kuser-16.04.0.tar.xz";
+      sha256 = "11fradjslci2znglh24wcljhpld4zp206r0wrp392hjc4i6ck069";
+      name = "kuser-16.04.0.tar.xz";
+    };
+  };
+  kwalletmanager = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kwalletmanager-16.04.0.tar.xz";
+      sha256 = "1wqdhwvkxky0c4lnm9b3akjvb2ydx3qx3hr08959za7kkk976nmb";
+      name = "kwalletmanager-16.04.0.tar.xz";
+    };
+  };
+  kwordquiz = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/kwordquiz-16.04.0.tar.xz";
+      sha256 = "0yk95l6gl57hs62l8xvi9xfrzmkcch0v3ijasqhg20i4w33309z0";
+      name = "kwordquiz-16.04.0.tar.xz";
+    };
+  };
+  libgravatar = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libgravatar-16.04.0.tar.xz";
+      sha256 = "0kbvy90r5x1s1s3h680cqiqj221gicvy8j0pwid5vr2pxjkdih0l";
+      name = "libgravatar-16.04.0.tar.xz";
+    };
+  };
+  libkcddb = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkcddb-16.04.0.tar.xz";
+      sha256 = "1wylsqij5l3w4pvw3g2jkypqpn3a8fg72x7q5dp22l0n9ihrhn8j";
+      name = "libkcddb-16.04.0.tar.xz";
+    };
+  };
+  libkcompactdisc = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkcompactdisc-16.04.0.tar.xz";
+      sha256 = "0zf3bry65jak3z4kjhnszjy05h4pvnzzz7nh954cmigv369iwsz8";
+      name = "libkcompactdisc-16.04.0.tar.xz";
+    };
+  };
+  libkdcraw = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkdcraw-16.04.0.tar.xz";
+      sha256 = "0l6aa2458apxbz1hm300w3s32ywxjhy80vnm3sxnk3313ba38cml";
+      name = "libkdcraw-16.04.0.tar.xz";
+    };
+  };
+  libkdeedu = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkdeedu-16.04.0.tar.xz";
+      sha256 = "16aabzc57qjjzmfmsnb4rjw28w4014l66dsy528rfj5i0wyw40vy";
+      name = "libkdeedu-16.04.0.tar.xz";
+    };
+  };
+  libkdegames = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkdegames-16.04.0.tar.xz";
+      sha256 = "0nr3z1plcinx0hw9q1gac32czgy6079q36v57qk76l6531cssk73";
+      name = "libkdegames-16.04.0.tar.xz";
+    };
+  };
+  libkdepim = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkdepim-16.04.0.tar.xz";
+      sha256 = "0197r1hdx6cpakmvcp1195bm1vn71y8sprbx23n4m9ak92ak9z6x";
+      name = "libkdepim-16.04.0.tar.xz";
+    };
+  };
+  libkeduvocdocument = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkeduvocdocument-16.04.0.tar.xz";
+      sha256 = "0j92kjhj143z4g9702ir4xs0hdpkk74ydi9347cvb1vh8mq7wqn0";
+      name = "libkeduvocdocument-16.04.0.tar.xz";
+    };
+  };
+  libkexiv2 = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkexiv2-16.04.0.tar.xz";
+      sha256 = "1n3bhzlw729vka1lc00sw75m7cfg5ibqh2lliv6lv9g9aqb7xk0z";
+      name = "libkexiv2-16.04.0.tar.xz";
+    };
+  };
+  libkface = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkface-16.04.0.tar.xz";
+      sha256 = "1vykpj8yws1sd4x3zcpjlrlq9ygybia4wi34qcakx5016fym2qxb";
+      name = "libkface-16.04.0.tar.xz";
+    };
+  };
+  libkgeomap = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkgeomap-16.04.0.tar.xz";
+      sha256 = "0kl2wzxmy25398amk3631vql0vh66vd2j9qdxzjb9lvlw7gvn55s";
+      name = "libkgeomap-16.04.0.tar.xz";
+    };
+  };
+  libkipi = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkipi-16.04.0.tar.xz";
+      sha256 = "0ffa57f1p86sdqq1spf5bvzh2vfa9wfhm8lrhs6mfrr0nr65v85x";
+      name = "libkipi-16.04.0.tar.xz";
+    };
+  };
+  libkleo = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkleo-16.04.0.tar.xz";
+      sha256 = "0yw36vxscwh10bnn20lbas06j1pcwdgd08qhd8hfdl9yajg9jg0w";
+      name = "libkleo-16.04.0.tar.xz";
+    };
+  };
+  libkmahjongg = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkmahjongg-16.04.0.tar.xz";
+      sha256 = "08vh9mpxy4i9lnd8a57i443lr77b5am50w4xnpssi0jfy0jjsxkr";
+      name = "libkmahjongg-16.04.0.tar.xz";
+    };
+  };
+  libkomparediff2 = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libkomparediff2-16.04.0.tar.xz";
+      sha256 = "137p3c07f7ni5khwbnb9fm9i8vprn0y0wzqmlfa2rhc78bn0czsl";
+      name = "libkomparediff2-16.04.0.tar.xz";
+    };
+  };
+  libksane = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libksane-16.04.0.tar.xz";
+      sha256 = "07944vywdm13swqh5psw6jv36f6hdxqhrb718wicjlr57lbg65mb";
+      name = "libksane-16.04.0.tar.xz";
+    };
+  };
+  libksieve = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/libksieve-16.04.0.tar.xz";
+      sha256 = "15gwg02sand97khvdl22zhqq734n4xdbndldzla0jh2jxixa2ihn";
+      name = "libksieve-16.04.0.tar.xz";
+    };
+  };
+  lokalize = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/lokalize-16.04.0.tar.xz";
+      sha256 = "1r77pmy2dxnbxh1dgcmrpz2d6kpnj6z31yan1lkr8wf0fgh7355i";
+      name = "lokalize-16.04.0.tar.xz";
+    };
+  };
+  lskat = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/lskat-16.04.0.tar.xz";
+      sha256 = "1px4wv9kxqqvrdmk9v4bw212mdjwl0v7qbh8mmyq8j06axf3a6jm";
+      name = "lskat-16.04.0.tar.xz";
+    };
+  };
+  mailcommon = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/mailcommon-16.04.0.tar.xz";
+      sha256 = "0s62kzjas1zs9cm06lfk37d3nx4h0h0m75i3wlj87spd7hg8p2i1";
+      name = "mailcommon-16.04.0.tar.xz";
+    };
+  };
+  mailimporter = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/mailimporter-16.04.0.tar.xz";
+      sha256 = "0ij07frw0bf3h8hlkdacdv8a2czsaipkjqwlscbsl5vcplfxpsxv";
+      name = "mailimporter-16.04.0.tar.xz";
+    };
+  };
+  marble = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/marble-16.04.0.tar.xz";
+      sha256 = "05idh1011njasxr24r2cd16i07720af1qqvba3anfx20nav1sxgr";
+      name = "marble-16.04.0.tar.xz";
+    };
+  };
+  messagelib = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/messagelib-16.04.0.tar.xz";
+      sha256 = "0zh4fxs33yvvn9wgfs47d016bhzss1mr7qjyq023mrlmsl7jnpr8";
+      name = "messagelib-16.04.0.tar.xz";
+    };
+  };
+  minuet = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/minuet-16.04.0.tar.xz";
+      sha256 = "0jyrl2rxl1dllv2d99vrga7jn3dqqkrkvhg3bv7a80w766j9hq8g";
+      name = "minuet-16.04.0.tar.xz";
+    };
+  };
+  mplayerthumbs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/mplayerthumbs-16.04.0.tar.xz";
+      sha256 = "0mkgnxli1pysrzqbcxky6hsmcvjww7zly82ya2p4nsjr71g8laid";
+      name = "mplayerthumbs-16.04.0.tar.xz";
+    };
+  };
+  okteta = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/okteta-16.04.0.tar.xz";
+      sha256 = "01p4sqd1j75nyg3aax15b5z3dnppnzc27ci61yzsa3jhd0470n3c";
+      name = "okteta-16.04.0.tar.xz";
+    };
+  };
+  okular = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/okular-16.04.0.tar.xz";
+      sha256 = "0dn9vm22hc30v1fhly52fmbvjd6my2zxvl08f44jwimbh7wh9rw0";
+      name = "okular-16.04.0.tar.xz";
+    };
+  };
+  palapeli = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/palapeli-16.04.0.tar.xz";
+      sha256 = "1yrph8a07jm69cg5gj0rgc4mgqfvqg024wald724yyydbcx5i8br";
+      name = "palapeli-16.04.0.tar.xz";
+    };
+  };
+  parley = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/parley-16.04.0.tar.xz";
+      sha256 = "17lwb2vy36hrpgz3f9hrfikp7kz36xq013ym4cijh26xysha2gsx";
+      name = "parley-16.04.0.tar.xz";
+    };
+  };
+  picmi = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/picmi-16.04.0.tar.xz";
+      sha256 = "0w2x9c0bd26b34ckmyzcfn980kbsq0y5zw3kfw3dsh5q8n0c627f";
+      name = "picmi-16.04.0.tar.xz";
+    };
+  };
+  pimcommon = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/pimcommon-16.04.0.tar.xz";
+      sha256 = "0c0xkg2vd5jps0nfy661z2np17gygpyvkdc6cp5ir41b5sk2fz4h";
+      name = "pimcommon-16.04.0.tar.xz";
+    };
+  };
+  poxml = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/poxml-16.04.0.tar.xz";
+      sha256 = "1zwg7b4j5ijs9sry8hl7fnnli8hsw3gy685cdgpairgj46yyryx8";
+      name = "poxml-16.04.0.tar.xz";
+    };
+  };
+  print-manager = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/print-manager-16.04.0.tar.xz";
+      sha256 = "1kl68fz52zjwfs9kprihar0i6n6sg6s40slblfhvi60s1g5krf4m";
+      name = "print-manager-16.04.0.tar.xz";
+    };
+  };
+  rocs = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/rocs-16.04.0.tar.xz";
+      sha256 = "05wc9b93csf7bsbmy99jcnml7n0mgfql1rvrs3z8jcz17jnfcx9s";
+      name = "rocs-16.04.0.tar.xz";
+    };
+  };
+  signon-kwallet-extension = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/signon-kwallet-extension-16.04.0.tar.xz";
+      sha256 = "0a36gklixkkwgnhs3w3z3l14p6x6r0xgzcqw344g36v1x3imvspf";
+      name = "signon-kwallet-extension-16.04.0.tar.xz";
+    };
+  };
+  spectacle = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/spectacle-16.04.0.tar.xz";
+      sha256 = "0c0qmgjd32iam0zd4n08kmajfqpfsa0zphxvgq2rh7plxw3npfga";
+      name = "spectacle-16.04.0.tar.xz";
+    };
+  };
+  step = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/step-16.04.0.tar.xz";
+      sha256 = "18imzm9v2gbf64f3p08a3l7r7axyjsmi2xvbqvg0ir2ly3pabrx0";
+      name = "step-16.04.0.tar.xz";
+    };
+  };
+  svgpart = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/svgpart-16.04.0.tar.xz";
+      sha256 = "11793djb9v499b11kwr1312p9j9hhrjk7i67035s64lblrnbb9yw";
+      name = "svgpart-16.04.0.tar.xz";
+    };
+  };
+  sweeper = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/sweeper-16.04.0.tar.xz";
+      sha256 = "0hahwmiziiwraahssxzsxfzvyli4lmj7fdskqnv9q7b39hai88j7";
+      name = "sweeper-16.04.0.tar.xz";
+    };
+  };
+  syndication = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/syndication-16.04.0.tar.xz";
+      sha256 = "0m8dacbqdg9vya2c8gknckx8xjp6m9s93vxd4j6a78jz28j6yvcc";
+      name = "syndication-16.04.0.tar.xz";
+    };
+  };
+  umbrello = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/umbrello-16.04.0.tar.xz";
+      sha256 = "11b7a7bg9v2gdl4hjpfz06k5ks2v36ai70iri6rcp0lw9bcspig2";
+      name = "umbrello-16.04.0.tar.xz";
+    };
+  };
+  zeroconf-ioslave = {
+    version = "16.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.04.0/src/zeroconf-ioslave-16.04.0.tar.xz";
+      sha256 = "0ablccfi3kq18rcx79jwn9z317qyflb05ck9kalqpr7f8xnmhzn3";
+      name = "zeroconf-ioslave-16.04.0.tar.xz";
+    };
+  };
+}