about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorLuca Bruno <lethalman88@gmail.com>2015-11-25 21:31:09 +0100
committerLuca Bruno <lethalman88@gmail.com>2015-11-25 21:37:30 +0100
commita41292792498e03024d682d092947c2153290073 (patch)
treeb937402b60ea79cfa0e5562dad3268127a491d81 /pkgs/applications
parent8a664fd5bc6b170bdf809030de6871fd6a454f5a (diff)
parentb34a6c96ee14518b82648c5a8c1b29225c15d9df (diff)
downloadnixlib-a41292792498e03024d682d092947c2153290073.tar
nixlib-a41292792498e03024d682d092947c2153290073.tar.gz
nixlib-a41292792498e03024d682d092947c2153290073.tar.bz2
nixlib-a41292792498e03024d682d092947c2153290073.tar.lz
nixlib-a41292792498e03024d682d092947c2153290073.tar.xz
nixlib-a41292792498e03024d682d092947c2153290073.tar.zst
nixlib-a41292792498e03024d682d092947c2153290073.zip
Merge remote-tracking branch 'origin/master' into closure-size
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/altcoins/dashpay.nix2
-rw-r--r--pkgs/applications/audio/audacity/default.nix18
-rw-r--r--pkgs/applications/audio/cava/default.nix2
-rw-r--r--pkgs/applications/audio/helm/default.nix50
-rw-r--r--pkgs/applications/audio/keyfinder/default.nix2
-rw-r--r--pkgs/applications/audio/mhwaveedit/default.nix19
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix60
-rw-r--r--pkgs/applications/display-managers/sddm/0001-ignore-config-mtime.patch (renamed from pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch)16
-rw-r--r--pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch26
-rw-r--r--pkgs/applications/display-managers/sddm/default.nix5
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/brackets/default.nix63
-rw-r--r--pkgs/applications/editors/emacs-modes/jabber/default.nix2
-rw-r--r--pkgs/applications/editors/geany/default.nix4
-rw-r--r--pkgs/applications/editors/idea/default.nix34
-rw-r--r--pkgs/applications/editors/vim/macvim.nix23
-rw-r--r--pkgs/applications/editors/vim/macvim.patch165
-rw-r--r--pkgs/applications/gis/saga/default.nix6
-rw-r--r--pkgs/applications/graphics/freecad/default.nix17
-rw-r--r--pkgs/applications/graphics/freecad/pythonpath.patch23
-rw-r--r--pkgs/applications/graphics/imv/default.nix2
-rw-r--r--pkgs/applications/graphics/phototonic/default.nix30
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix4
-rw-r--r--pkgs/applications/graphics/simple-scan/default.nix11
-rw-r--r--pkgs/applications/graphics/xaos/default.nix34
-rw-r--r--pkgs/applications/kde-apps-15.12/ark.nix58
-rw-r--r--pkgs/applications/kde-apps-15.12/baloo-widgets.nix35
-rw-r--r--pkgs/applications/kde-apps-15.12/default.nix54
-rw-r--r--pkgs/applications/kde-apps-15.12/dolphin-plugins.nix31
-rw-r--r--pkgs/applications/kde-apps-15.12/dolphin.nix70
-rwxr-xr-xpkgs/applications/kde-apps-15.12/fetchsrcs.sh56
-rw-r--r--pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix21
-rw-r--r--pkgs/applications/kde-apps-15.12/gpgmepp.nix21
-rw-r--r--pkgs/applications/kde-apps-15.12/gwenview.nix44
-rw-r--r--pkgs/applications/kde-apps-15.12/kate.nix69
-rw-r--r--pkgs/applications/kde-apps-15.12/kde-app.nix23
-rw-r--r--pkgs/applications/kde-apps-15.12/kde-locale-4.nix20
-rw-r--r--pkgs/applications/kde-apps-15.12/kde-locale-5.nix17
-rw-r--r--pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix23
-rw-r--r--pkgs/applications/kde-apps-15.12/kgpg.nix38
-rw-r--r--pkgs/applications/kde-apps-15.12/konsole.nix68
-rw-r--r--pkgs/applications/kde-apps-15.12/ksnapshot.nix29
-rw-r--r--pkgs/applications/kde-apps-15.12/l10n.nix237
-rw-r--r--pkgs/applications/kde-apps-15.12/libkdcraw.nix19
-rw-r--r--pkgs/applications/kde-apps-15.12/libkexiv2.nix19
-rw-r--r--pkgs/applications/kde-apps-15.12/libkipi.nix22
-rw-r--r--pkgs/applications/kde-apps-15.12/okular.nix41
-rw-r--r--pkgs/applications/kde-apps-15.12/print-manager.nix47
-rw-r--r--pkgs/applications/kde-apps-15.12/srcs.nix1925
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/dmenu2/default.nix2
-rw-r--r--pkgs/applications/misc/eaglemode/default.nix2
-rw-r--r--pkgs/applications/misc/electrum/default.nix6
-rw-r--r--pkgs/applications/misc/emem/default.nix42
-rw-r--r--pkgs/applications/misc/finalterm/default.nix2
-rw-r--r--pkgs/applications/misc/gphoto2/gphotofs.nix33
-rw-r--r--pkgs/applications/misc/gphoto2/src-info-for-gphotofs.nix6
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix7
-rw-r--r--pkgs/applications/misc/keybase/default.nix2
-rw-r--r--pkgs/applications/misc/mupdf/default.nix10
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix14
-rw-r--r--pkgs/applications/misc/qtpass/default.nix6
-rw-r--r--pkgs/applications/misc/ranger/default.nix12
-rw-r--r--pkgs/applications/misc/rtv/default.nix13
-rw-r--r--pkgs/applications/misc/sent/default.nix22
-rw-r--r--pkgs/applications/misc/spacefm/default.nix31
-rw-r--r--pkgs/applications/misc/st/default.nix2
-rw-r--r--pkgs/applications/misc/terminal-notifier/default.nix2
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix15
-rw-r--r--pkgs/applications/networking/browsers/conkeror/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb58
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix362
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix120
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/chronos/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix2
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/rsstail/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix10
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix4
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix2
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix2
-rw-r--r--pkgs/applications/networking/znc/default.nix4
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix100
-rw-r--r--pkgs/applications/office/gnucash/default.nix3
-rw-r--r--pkgs/applications/office/pinpoint/default.nix8
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix2
-rw-r--r--pkgs/applications/science/geometry/drgeo/default.nix23
-rw-r--r--pkgs/applications/science/logic/coq/8.5.nix6
-rw-r--r--pkgs/applications/science/logic/cvc3/default.nix57
-rw-r--r--pkgs/applications/science/logic/iprover/default.nix60
-rw-r--r--pkgs/applications/science/logic/opensmt/default.nix56
-rw-r--r--pkgs/applications/science/logic/spass/default.nix58
-rw-r--r--pkgs/applications/science/math/R/default.nix4
-rw-r--r--pkgs/applications/science/math/gap/default.nix66
-rw-r--r--pkgs/applications/science/math/singular/default.nix65
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix8
-rw-r--r--pkgs/applications/video/key-mon/default.nix12
-rw-r--r--pkgs/applications/video/kodi/plugins.nix37
-rw-r--r--pkgs/applications/video/minitube/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/default.nix18
-rw-r--r--pkgs/applications/virtualization/docker/default.nix28
-rw-r--r--pkgs/applications/virtualization/docker/gc.nix33
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix13
-rw-r--r--pkgs/applications/window-managers/fbpanel/default.nix59
-rw-r--r--pkgs/applications/window-managers/stalonetray/default.nix50
-rw-r--r--pkgs/applications/window-managers/tabbed/default.nix2
-rw-r--r--pkgs/applications/window-managers/vwm/default.nix2
109 files changed, 4320 insertions, 874 deletions
diff --git a/pkgs/applications/altcoins/dashpay.nix b/pkgs/applications/altcoins/dashpay.nix
index 68a0926c4668..2e9f17017a2d 100644
--- a/pkgs/applications/altcoins/dashpay.nix
+++ b/pkgs/applications/altcoins/dashpay.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://dashpay.io;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = with platforms; unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 221955e2bf94..1bf8b0e5c7dc 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -4,12 +4,12 @@
   }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.5";
+  version = "2.1.1";
   name = "audacity-${version}";
 
   src = fetchurl {
-    url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.xz";
-    sha256 = "0y9bvc3a3zxsk31yg7bha029mzkjiw5i9m86kbyj7x8ps0fm91z2";
+    url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
+    sha256 = "15c5ff7ac1c0b19b08f4bdcb0f4988743da2f9ed3fab41d6f07600e67cb9ddb6";
   };
 
   # fix with gcc-5 from http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2012-December/245884.html
@@ -34,13 +34,13 @@ stdenv.mkDerivation rec {
   ]; #ToDo: detach sbsms
 
   dontDisableStatic = true;
-  doCheck = true;
+  doCheck = false; # Test fails
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Sound editor with graphical UI";
-    homepage = http://audacity.sourceforge.net;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.the-kenny ];
+    homepage = http://audacityteam.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
   };
 }
diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix
index c1b5aef333b8..456a22ee697a 100644
--- a/pkgs/applications/audio/cava/default.nix
+++ b/pkgs/applications/audio/cava/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     description = "Console-based Audio Visualizer for Alsa";
     homepage = https://github.com/karlstav/cava;
     maintainers = with maintainers; [offline];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
new file mode 100644
index 000000000000..7be510a64183
--- /dev/null
+++ b/pkgs/applications/audio/helm/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchgit, xorg, freetype, alsaLib, libjack2
+, lv2, pkgconfig, mesa }:
+
+stdenv.mkDerivation rec {
+  name = "helm-git-2015-09-11";
+
+  src = fetchgit {
+    url = "https://github.com/mtytel/helm.git";
+    rev = "ad798d4a0a2e7db52e1a7451176ff198a393cdb4";
+    sha256 = "0ic4xjikq7s2p53507ykv89844j6sqcd9mh3y59a6wnslr5wq1cw";
+  };
+
+  buildInputs = [
+    xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
+    xorg.libXinerama xorg.libXrender xorg.libXrandr
+    freetype alsaLib libjack2 pkgconfig mesa lv2
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/lib/lv2
+    cp -a standalone/builds/linux/build/* $out/bin
+    cp -a builds/linux/LV2/* $out/lib/lv2/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://tytel.org/helm;
+    description = "A free, cross-platform, polyphonic synthesizer";
+    longDescription = ''
+      A free, cross-platform, polyphonic synthesizer.
+      Features:
+        32 voice polyphony
+        Interactive visual interface
+        Powerful modulation system with live visual feedback
+        Dual oscillators with cross modulation and up to 15 oscillators each
+        Unison and Harmony mode for oscillators
+        Oscillator feedback and saturation for waveshaping
+        12 different waveforms
+        7 filter types with keytracking
+        2 monophonic and 1 polyphonic LFO
+        Step sequencer
+        Lots of modulation sources including polyphonic aftertouch
+        Simple arpeggiator
+        Effects: Formant filter, stutter, delay
+    '';
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/keyfinder/default.nix b/pkgs/applications/audio/keyfinder/default.nix
index ffd8d071ab21..7706203104ca 100644
--- a/pkgs/applications/audio/keyfinder/default.nix
+++ b/pkgs/applications/audio/keyfinder/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     '';
     homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
     license = licenses.gpl3Plus;
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
 
diff --git a/pkgs/applications/audio/mhwaveedit/default.nix b/pkgs/applications/audio/mhwaveedit/default.nix
index d0259ada3cf7..d640ddaeb942 100644
--- a/pkgs/applications/audio/mhwaveedit/default.nix
+++ b/pkgs/applications/audio/mhwaveedit/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, SDL , alsaLib, gtk, libjack2, ladspaH
-, ladspaPlugins, libsamplerate, libsndfile, pkgconfig, libpulseaudio }:
+{ stdenv, fetchurl, makeWrapper, SDL , alsaLib, gtk, libjack2, ladspaH
+, ladspaPlugins, libsamplerate, libsndfile, pkgconfig, libpulseaudio, lame
+, vorbisTools }:
 
 stdenv.mkDerivation  rec {
   name = "mhwaveedit-${version}";
@@ -10,15 +11,19 @@ stdenv.mkDerivation  rec {
     sha256 = "010rk4mr631s440q9cfgdxx2avgzysr9aq52diwdlbq9cddifli3";
   };
 
-  buildInputs =
-   [ SDL alsaLib gtk libjack2 ladspaH libsamplerate libsndfile
-     pkgconfig libpulseaudio
-   ];
+  buildInputs = [ SDL alsaLib gtk libjack2 ladspaH libsamplerate libsndfile
+     pkgconfig libpulseaudio makeWrapper ];
 
   configureFlags = "--with-default-ladspa-path=${ladspaPlugins}/lib/ladspa";
 
+  postInstall = ''
+    wrapProgram $out/bin/mhwaveedit \
+      --prefix PATH : ${lame}/bin/ \
+      --prefix PATH : ${vorbisTools}/bin/
+  '';
+
   meta = with stdenv.lib; {
-    description = "graphical program for editing, playing and recording sound files";
+    description = "Graphical program for editing, playing and recording sound files";
     homepage = https://gna.org/projects/mhwaveedit;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
new file mode 100644
index 000000000000..ce5844ca7f12
--- /dev/null
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, fetchFromGitHub
+, qscintilla
+, supercollider
+, ruby
+, cmake
+, pkgconfig
+, qt48Full
+, bash
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.8.0";
+  name = "sonic-pi-${version}";
+
+  src = fetchFromGitHub {
+    owner = "samaaron";
+    repo = "sonic-pi";
+    rev = "v${version}";
+    sha256 = "1yyavgazb6ar7xnmjx460s9p8nh70klaja2yb20nci15k8vngq9h";
+  };
+
+  buildInputs = [
+    qscintilla
+    supercollider
+    ruby
+    qt48Full
+    cmake
+    pkgconfig
+    bash
+    makeWrapper
+  ];
+
+  meta = {
+    homepage = http://sonic-pi.net/;
+    description = "Free live coding synth for everyone originally designed to support computing and music lessons within schools";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.Phlogistique ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  dontUseCmakeConfigure = true;
+
+  buildPhase = ''
+    pushd app/server/bin
+    ${ruby}/bin/ruby compile-extensions.rb
+    popd
+
+    pushd app/gui/qt
+    ${bash}/bin/bash rp-build-app
+    popd
+  '';
+
+  installPhase = ''
+    cp -r . $out
+    wrapProgram $out/bin/sonic-pi --prefix PATH : \
+      ${ruby}/bin:${bash}/bin
+  '';
+}
diff --git a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch b/pkgs/applications/display-managers/sddm/0001-ignore-config-mtime.patch
index 9edd9a7b5382..836df2de292d 100644
--- a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch
+++ b/pkgs/applications/display-managers/sddm/0001-ignore-config-mtime.patch
@@ -1,8 +1,17 @@
+From e9d82bfbc49993a5be2c93f6b72a969630587f26 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 23 Nov 2015 06:56:28 -0600
+Subject: [PATCH 1/2] ignore config mtime
+
+---
+ src/common/ConfigReader.cpp | 5 -----
+ 1 file changed, 5 deletions(-)
+
 diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp
-index 6618455..5356e76 100644
+index cfc9940..5bf5a6a 100644
 --- a/src/common/ConfigReader.cpp
 +++ b/src/common/ConfigReader.cpp
-@@ -136,11 +136,6 @@ namespace SDDM {
+@@ -138,11 +138,6 @@ namespace SDDM {
          QString currentSection = QStringLiteral(IMPLICIT_SECTION);
  
          QFile in(m_path);
@@ -14,3 +23,6 @@ index 6618455..5356e76 100644
  
          in.open(QIODevice::ReadOnly);
          while (!in.atEnd()) {
+-- 
+2.6.3
+
diff --git a/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch b/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch
new file mode 100644
index 000000000000..ad5dcbc472db
--- /dev/null
+++ b/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch
@@ -0,0 +1,26 @@
+From 7a18f4cb77c567dec9ad924fcc76c50092de6ee7 Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 23 Nov 2015 06:57:51 -0600
+Subject: [PATCH 2/2] fix ConfigReader QStringList corruption
+
+---
+ src/common/ConfigReader.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp
+index 5bf5a6a..34182e6 100644
+--- a/src/common/ConfigReader.cpp
++++ b/src/common/ConfigReader.cpp
+@@ -30,7 +30,8 @@
+ 
+ QTextStream &operator>>(QTextStream &str, QStringList &list)  {
+     list.clear();
+-    foreach(const QStringRef &s, str.readLine().splitRef(QLatin1Char(',')))
++    QString line = str.readLine();
++    foreach(const QStringRef &s, line.splitRef(QLatin1Char(',')))
+     {
+         QStringRef trimmed = s.trimmed();
+         if (!trimmed.isEmpty())
+-- 
+2.6.3
+
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
index 5851f1af6390..dc891605d1b6 100644
--- a/pkgs/applications/display-managers/sddm/default.nix
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
     sha256 = "0c3q8lpb123m9k5x3i71mm8lmyzhknw77zxh89yfl8qmn6zd61i1";
   };
 
-  patches = [ ./sddm-ignore-config-mtime.patch ];
+  patches = [
+    ./0001-ignore-config-mtime.patch
+    ./0002-fix-ConfigReader-QStringList-corruption.patch
+  ];
 
   nativeBuildInputs = [ cmake makeQtWrapper pkgconfig qttools ];
 
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index bd1597b02ba6..e3dc175b339a 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -16,11 +16,11 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1rbwwwryhcasqgn2y1d9hvi3n4dag50dh1fd9hmkx4h9nmm3mbi0";
+    sha256 = "05s3kvsz6pzh4gm22aaps1nccp76skfshdzlqwg0qn0ljz58sdqh";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix
new file mode 100644
index 000000000000..131675486bad
--- /dev/null
+++ b/pkgs/applications/editors/brackets/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, buildEnv, gtk, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf
+, cups, libgcrypt_1_5, makeWrapper, dbus, udev }:
+let
+  bracketsEnv = buildEnv {
+    name = "env-brackets";
+    paths = [
+      gtk glib gdk_pixbuf stdenv.cc.cc alsaLib nss nspr gconf cups libgcrypt_1_5
+      dbus udev
+    ];
+  };
+in
+stdenv.mkDerivation rec {
+  name = "brackets-${version}";
+  version = "1.5";
+
+  src = fetchurl {
+    url = "https://github.com/adobe/brackets/releases/download/release-${version}/Brackets.Release.${version}.64-bit.deb";
+    sha256 = "1fc8wvh9wbcydd1sw20yfnwlfv7nllb6vrssr6hgn80m7i0zl3db";
+    name = "${name}.deb";
+  };
+
+  phases = [ "installPhase" ];
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out
+    ar p $src data.tar.xz | tar -C $out -xJ
+
+    mv $out/usr/* $out/
+    rmdir $out/usr
+    ln -sf $out/opt/brackets/brackets $out/bin/brackets
+
+    ln -s ${udev}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \
+      $out/opt/brackets/Brackets
+
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      $out/opt/brackets/Brackets-node
+
+    patchelf \
+      --set-rpath "${bracketsEnv}/lib:${bracketsEnv}/lib64" \
+      $out/opt/brackets/lib/libcef.so
+
+    wrapProgram $out/opt/brackets/brackets \
+      --prefix LD_LIBRARY_PATH : "${bracketsEnv}/lib:${bracketsEnv}/lib64"
+
+    substituteInPlace $out/opt/brackets/brackets.desktop \
+      --replace "Exec=/opt/brackets/brackets" "Exec=brackets"
+    mkdir -p $out/share/applications
+    ln -s $out/opt/brackets/brackets.desktop $out/share/applications/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An open source code editor for the web, written in JavaScript, HTML and CSS";
+    homepage = http://brackets.io/;
+    license = licenses.mit;
+    maintainers = [ maintainers.matejc ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/jabber/default.nix b/pkgs/applications/editors/emacs-modes/jabber/default.nix
index 781806bedd67..c0ddbc88cf27 100644
--- a/pkgs/applications/editors/emacs-modes/jabber/default.nix
+++ b/pkgs/applications/editors/emacs-modes/jabber/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://emacs-jabber.sourceforge.net/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ astsmtl ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 5dd839d56514..1b99d44bcc5a 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }:
 
 let
-  version = "1.25";
+  version = "1.26";
 in
 
 stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.geany.org/${name}.tar.bz2";
-    sha256 = "8ee41da28cead8c94d433e616d7ababa81727c63e9196ca6758ade3af14a49ef";
+    sha256 = "e38530e87c577e1e9806be3b40e08fb9ee321eb1abc6361ddacdad89c825f90d";
   };
 
   buildInputs = [ gtk2 which pkgconfig intltool file ];
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 0323baabe49e..ca8aca5c1e39 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -212,14 +212,14 @@ in
 
   android-studio = buildAndroidStudio rec {
     name = "android-studio-${version}";
-    version = "1.4.0.10";
-    build = "141.2288178";
+    version = "1.5.0.4";
+    build = "141.2422023";
     description = "Android development environment based on IntelliJ IDEA";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
             "/android-studio-ide-${build}-linux.zip";
-      sha256 = "04zzzk6xlvzip6klxvs4zz2wyfyn3w9b5jwilzbqjidiz2d3va57";
+      sha256 = "1sjxs9cq7mdalxmzp6v2gwbg1w8p43c2cp5j4v212w66h5rqv11z";
     };
   };
 
@@ -237,25 +237,25 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "15.0";
-    build = "IC-143.381";
+    version = "15.0.1";
+    build = "IC-143.382";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0d39ipwji76gkc7w5bcl7a94kdz5cwmcnwmvq1lzm06v43jjq51s";
+      sha256 = "1dbwzj12xkv2xw5nrhr779ac24hag0rb96dlagzyxcvc44xigjps";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "15.0";
-    build = "IU-143.381";
+    version = "15.0.1";
+    build = "IU-143.382";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "1hw8hqpzkdlp0ilax6anzjybhmjb40s16jblyplqpah065pc8rja";
+      sha256 = "0bw6qvsvhw0nabv01bgsbnl78vimnz2kb280jzv0ikmhxranyk0z";
     };
   };
 
@@ -273,25 +273,25 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "5.0";
-    build = "143.589";
+    version = "5.0.1";
+    build = "143.595";
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
-      url = "https://download-cf.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "01q51m6rpyw296imiglbadzfr0r91wvyrxdid683yl7f5v73wzwh";
+      url = "https://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "14m3imy64cp2l9pnmknxbjzj3z30rx88r4brz9d5xk5qailjg2wf";
     };
   };
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "5.0";
-    build = "143.589";
+    version = "5.0.1";
+    build = "143.595";
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
-      url = "https://download-cf.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "16lwg00dl03gwj4dqihdrn15p1fy8513srw2dslna1w1glfajv06";
+      url = "https://download.jetbrains.com/python/${name}.tar.gz";
+      sha256 = "102sfjvchk80911w3qpjsp30wvq73kgpwyqcqdgqxcgm2vqh3183";
     };
   };
 
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index d69c1e27c4aa..69e9ab35e96e 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, ncurses, gettext,
-  pkgconfig, cscope, python, ruby, tcl, perl, luajit
+{ stdenv, fetchFromGitHub, ncurses, gettext
+, pkgconfig, cscope, python, ruby, tcl, perl, luajit
 }:
 
 stdenv.mkDerivation rec {
   name = "macvim-${version}";
 
-  version = "7.4.648";
+  version = "7.4.909";
 
-  src = fetchurl {
-    url = "https://github.com/genoma/macvim/archive/g-snapshot-32.tar.gz";
-    sha256 = "1wqg5sy7krgqg3sj00gb34avg90ga2kbvv09bsxv2267j7agi0iq";
+  src = fetchFromGitHub {
+    owner = "macvim-dev";
+    repo = "macvim";
+    rev = "75aa7774645adb586ab9010803773bd80e659254";
+    sha256 = "0k04jimbms6zffh8i8fjm2y51q01m5kga2n4djipd3pxij1qy89y";
   };
 
   enableParallelBuilding = true;
@@ -54,7 +56,16 @@ stdenv.mkDerivation rec {
 
   makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
 
+  # This is unfortunate, but we need to use the same compiler as XCode,
+  # but XCode doesn't provide a way to configure the compiler.
+  #
+  # If you're willing to modify the system files, you can do this:
+  #   http://hamelot.co.uk/programming/add-gcc-compiler-to-xcode-6/
+  #
+  # But we don't have that option.
   preConfigure = ''
+    CC=/usr/bin/clang
+
     DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer
     configureFlagsArray+=(
       "--with-developer-dir=$DEV_DIR"
diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch
index a42ebd4cc03c..e8f34aba537d 100644
--- a/pkgs/applications/editors/vim/macvim.patch
+++ b/pkgs/applications/editors/vim/macvim.patch
@@ -1,5 +1,5 @@
 diff --git a/src/MacVim/MacVim.xcodeproj/project.pbxproj b/src/MacVim/MacVim.xcodeproj/project.pbxproj
-index 1c5ff47..677a2cc 100644
+index c384bf7..bf1ce96 100644
 --- a/src/MacVim/MacVim.xcodeproj/project.pbxproj
 +++ b/src/MacVim/MacVim.xcodeproj/project.pbxproj
 @@ -437,6 +437,8 @@
@@ -27,44 +27,24 @@ index 1c5ff47..677a2cc 100644
  				PRODUCT_NAME = MacVim;
  				VERSIONING_SYSTEM = "apple-generic";
  				WRAPPER_EXTENSION = app;
-
-diff --git a/src/vimtutor b/src/vimtutor
-index 70d9ec7..b565a1a 100755
---- a/src/vimtutor
-+++ b/src/vimtutor
-@@ -16,7 +16,7 @@ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
- if test "$1" = "-g"; then 
-   # Try to use the GUI version of Vim if possible, it will fall back
-   # on Vim if Gvim is not installed.
--  seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
-+  seq="mvim gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
-   shift
- fi
- 
-
+diff --git a/src/Makefile b/src/Makefile
+index 84a93f7..e23196d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1306,7 +1306,7 @@ MACVIMGUI_SRC	= gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
+ 		  MacVim/MacVim.m
+ MACVIMGUI_OBJ	= objects/gui.o objects/gui_beval.o objects/pty.o \
+ 		  objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
+-MACVIMGUI_DEFS	= -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
++MACVIMGUI_DEFS	= -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
+ MACVIMGUI_IPATH	=
+ MACVIMGUI_LIBS_DIR =
+ MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
 diff --git a/src/auto/configure b/src/auto/configure
-index bc9f074..9b9125e 100755
+index cdc0819..8e2fd16 100755
 --- a/src/auto/configure
 +++ b/src/auto/configure
-@@ -2252,7 +2252,7 @@ rm -f conftest.val
-   as_fn_set_status $ac_retval
- 
- } # ac_fn_c_compute_int
--cat >auto/config.log <<_ACEOF
-+cat >config.log <<_ACEOF
- This file contains any messages produced by compilers while
- running configure, to aid debugging if configure makes a mistake.
- 
-@@ -2262,7 +2262,7 @@ generated by GNU Autoconf 2.69.  Invocation command line was
-   $ $0 $@
- 
- _ACEOF
--exec 5>>auto/config.log
-+exec 5>>config.log
- {
- cat <<_ASUNAME
- ## --------- ##
-@@ -5377,10 +5377,7 @@ $as_echo "no" >&6; }
+@@ -5383,10 +5383,7 @@ $as_echo "no" >&6; }
    fi
  
    if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
@@ -76,7 +56,7 @@ index bc9f074..9b9125e 100755
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
        MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
      elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
-@@ -5716,23 +5713,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
+@@ -5731,23 +5728,6 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
    fi
  
    if test "x$MACOSX" = "xyes"; then
@@ -100,18 +80,21 @@ index bc9f074..9b9125e 100755
                  PERL_LIBS=`echo "$PERL_LIBS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
      PERL_CFLAGS=`echo "$PERL_CFLAGS" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//' -e 's/-arch\ x86_64//'`
    fi
-@@ -5926,10 +5906,6 @@ __:
+@@ -5954,13 +5934,6 @@ __:
  eof
  	    	    eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
  	    rm -f -- "${tmp_mkf}"
 -	    if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
 -		"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
 -	      vi_cv_path_python_plibs="-framework Python"
+-	      if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
+-		  vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
+-	      fi
 -	    else
  	      if test "${vi_cv_var_python_version}" = "1.4"; then
  		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
  	      else
-@@ -5937,7 +5913,6 @@ eof
+@@ -5979,7 +5952,6 @@ eof
  	      fi
  	      vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
  	      	      vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
@@ -119,7 +102,7 @@ index bc9f074..9b9125e 100755
  
  fi
  
-@@ -6004,13 +5979,6 @@ rm -f core conftest.err conftest.$ac_objext \
+@@ -6055,13 +6027,6 @@ rm -f core conftest.err conftest.$ac_objext \
  $as_echo "no" >&6; }
  	fi
  
@@ -133,7 +116,7 @@ index bc9f074..9b9125e 100755
  			{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compile and link flags for Python are sane" >&5
  $as_echo_n "checking if compile and link flags for Python are sane... " >&6; }
  	cflags_save=$CFLAGS
-@@ -6853,11 +6821,7 @@ $as_echo "$tclver - OK" >&6; };
+@@ -6919,11 +6884,7 @@ $as_echo "$tclver - OK" >&6; };
  
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5
  $as_echo_n "checking for location of Tcl include... " >&6; }
@@ -145,7 +128,7 @@ index bc9f074..9b9125e 100755
        TCL_INC=
        for try in $tclinc; do
  	if test -f "$try/tcl.h"; then
-@@ -6875,12 +6839,8 @@ $as_echo "<not found>" >&6; }
+@@ -6941,12 +6902,8 @@ $as_echo "<not found>" >&6; }
        if test -z "$SKIP_TCL"; then
  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5
  $as_echo_n "checking for location of tclConfig.sh script... " >&6; }
@@ -158,7 +141,7 @@ index bc9f074..9b9125e 100755
  	for try in $tclcnf; do
  	  if test -f $try/tclConfig.sh; then
  	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
-@@ -7050,10 +7010,6 @@ $as_echo "$rubyhdrdir" >&6; }
+@@ -7120,10 +7077,6 @@ $as_echo "$rubyhdrdir" >&6; }
  	if test -f "$rubylibdir/$librubya"; then
  	  librubyarg="$librubyarg"
  	  RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
@@ -169,41 +152,8 @@ index bc9f074..9b9125e 100755
  	fi
  
  	if test "X$librubyarg" != "X"; then
-@@ -14061,7 +14017,7 @@ fi
- 
- _ACEOF
- cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
--exec 5>>auto/config.log
-+exec 5>>config.log
- {
-   echo
-   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-@@ -14653,7 +14609,7 @@ if test "$no_create" != yes; then
-     ac_config_status_args="$ac_config_status_args --quiet"
-   exec 5>/dev/null
-   $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
--  exec 5>>auto/config.log
-+  exec 5>>config.log
-   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-   # would make configure fail if this is the last instruction.
-   $ac_cs_success || as_fn_exit 1
-
-diff --git a/src/Makefile b/src/Makefile
-index 1c4d104..fff2015 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC	= gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \
- 		  MacVim/MacVim.m
- MACVIMGUI_OBJ	= objects/gui.o objects/gui_beval.o objects/pty.o \
- 		  objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o
--MACVIMGUI_DEFS	= -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
-+MACVIMGUI_DEFS	= -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe
- MACVIMGUI_IPATH	=
- MACVIMGUI_LIBS_DIR =
- MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
-
 diff --git a/src/if_python.c b/src/if_python.c
-index b356bf7..b7bfa78 100644
+index 1d87cac..9d28df0 100644
 --- a/src/if_python.c
 +++ b/src/if_python.c
 @@ -55,11 +55,7 @@
@@ -219,4 +169,63 @@ index b356bf7..b7bfa78 100644
  
  #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000
  # undef PY_SSIZE_T_CLEAN
- MACVIMGUI_LIBS1	= -framework Cocoa -framework Carbon
+diff --git a/src/if_ruby.c b/src/if_ruby.c
+index 1deb83e..ac23878 100644
+--- a/src/if_ruby.c
++++ b/src/if_ruby.c
+@@ -106,17 +106,9 @@
+ # define rb_check_type rb_check_type_stub
+ #endif
+ 
+-#ifdef FEAT_GUI_MACVIM
+-# include <Ruby/ruby.h>
+-#else
+-# include <ruby.h>
+-#endif
++#include <ruby.h>
+ #ifdef RUBY19_OR_LATER
+-# ifdef FEAT_GUI_MACVIM
+-#  include <Ruby/ruby/encoding.h>
+-# else
+-#  include <ruby/encoding.h>
+-# endif
++# include <ruby/encoding.h>
+ #endif
+ 
+ #undef off_t	/* ruby defines off_t as _int64, Mingw uses long */
+diff --git a/src/vim.h b/src/vim.h
+index 4c93908..edc6bd7 100644
+--- a/src/vim.h
++++ b/src/vim.h
+@@ -308,18 +308,6 @@
+ # define UNUSED
+ #endif
+ 
+-/* if we're compiling in C++ (currently only KVim), the system
+- * headers must have the correct prototypes or nothing will build.
+- * conversely, our prototypes might clash due to throw() specifiers and
+- * cause compilation failures even though the headers are correct.  For
+- * a concrete example, gcc-3.2 enforces exception specifications, and
+- * glibc-2.2.5 has them in their system headers.
+- */
+-#if !defined(__cplusplus) && defined(UNIX) \
+-  && !defined(MACOS_X) /* MACOS_X doesn't yet support osdef.h */
+-# include "auto/osdef.h"	/* bring missing declarations in */
+-#endif
+-
+ #ifdef __EMX__
+ # define    getcwd  _getcwd2
+ # define    chdir   _chdir2
+diff --git a/src/vimtutor b/src/vimtutor
+index 70d9ec7..b565a1a 100755
+--- a/src/vimtutor
++++ b/src/vimtutor
+@@ -16,7 +16,7 @@ seq="vim vim8 vim75 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
+ if test "$1" = "-g"; then 
+   # Try to use the GUI version of Vim if possible, it will fall back
+   # on Vim if Gvim is not installed.
+-  seq="gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
++  seq="mvim gvim gvim8 gvim75 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
+   shift
+ fi
+ 
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index 46fefc9fd7b5..200d091b64a0 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -2,15 +2,15 @@
   libharu, opencv, vigra, postgresql }:
 
 stdenv.mkDerivation rec {
-  name = "saga-2.2.1";
+  name = "saga-2.2.2";
 
   buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ];
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/saga-gis/files/SAGA%20-%202.2/SAGA%202.2.1/saga_2.2.1.tar.gz";
-    sha256 = "325e0890c28dc19c4ec727f58672be67480b2a4dd6604252c0cc4cc08aad34d0";
+    url = "http://downloads.sourceforge.net/project/saga-gis/SAGA%20-%202.2/SAGA%202.2.2/saga-2.2.2.tar.gz";
+    sha256 = "031cd70b7ec248f32f955a9316aefc7f7ab283c5129c49aa4bd748717d20357e";
   };
 
   meta = {
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 57dd49f7eb7c..0390021d8397 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
 , boost, zlib, python, swig, gfortran, soqt, libf2c, makeWrapper
-, matplotlib, pycollada, pyside, pysideShiboken }:
+, matplotlib, pycollada, pyside, pysideTools, pysideShiboken }:
 
 stdenv.mkDerivation rec {
   name = "freecad-${version}";
-  version = "0.14.3702";
+  version = "0.15";
 
   src = fetchurl {
-    url = "mirror://sourceforge/free-cad/${name}.tar.gz";
-    sha256 = "1jcx7d3mp2wxkd20qdvr4vlf7h5wb0jgab9dl63sicdz88swy97f";
+    url = https://github.com/FreeCAD/FreeCAD/archive/0.15.tar.gz;
+    sha256 = "1vndvywvq86hyhmg629bkn5ag4lk2mg1pl4dq7jvbjvbrczb12fc";
   };
 
   buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
     zlib python swig gfortran soqt libf2c makeWrapper matplotlib
-    pycollada pyside pysideShiboken
+    pycollada pyside pysideShiboken pysideTools
   ];
 
   enableParallelBuilding = true;
@@ -23,13 +23,16 @@ stdenv.mkDerivation rec {
     export NIX_LDFLAGS="-L${gfortran.cc}/lib64 -L${gfortran.cc}/lib $NIX_LDFLAGS";
   '';
 
+  # Their main() removes PYTHONPATH=, and we rely on it.
+  preConfigure = ''
+    sed '/putenv("PYTHONPATH/d' -i src/Main/MainGui.cpp
+  '';
+
   postInstall = ''
     wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \
       --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
   '';
 
-  patches = [ ./pythonpath.patch ];
-
   meta = with stdenv.lib; {
     description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
     homepage = http://www.freecadweb.org/;
diff --git a/pkgs/applications/graphics/freecad/pythonpath.patch b/pkgs/applications/graphics/freecad/pythonpath.patch
deleted file mode 100644
index 8b09a5748071..000000000000
--- a/pkgs/applications/graphics/freecad/pythonpath.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp
-index 03407c5..b029384 100644
---- a/src/Main/MainGui.cpp
-+++ b/src/Main/MainGui.cpp
-@@ -190,15 +190,15 @@ int main( int argc, char ** argv )
-     // http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559846

-     putenv("LANG=C");

-     putenv("LC_ALL=C");

--    putenv("PYTHONPATH=");

-+    //putenv("PYTHONPATH=");

- #elif defined(FC_OS_MACOSX)

-     (void)QLocale::system();

-     putenv("LANG=C");

-     putenv("LC_ALL=C");

--    putenv("PYTHONPATH=");

-+    //putenv("PYTHONPATH=");

- #else

-     setlocale(LC_NUMERIC, "C");

--    _putenv("PYTHONPATH=");

-+    //_putenv("PYTHONPATH=");

- #endif

- 

-     // Name and Version of the Application

diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix
index b5d44eb4ccef..462f657f2a7b 100644
--- a/pkgs/applications/graphics/imv/default.nix
+++ b/pkgs/applications/graphics/imv/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "imv";
+  name = "imv-${version}";
   version = "1.0.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix
new file mode 100644
index 000000000000..f1a46b63d588
--- /dev/null
+++ b/pkgs/applications/graphics/phototonic/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, qt5, exiv2 }:
+
+stdenv.mkDerivation rec {
+  name = "phototonic-${version}";
+  version = "1.7";
+
+  src = fetchFromGitHub {
+    repo = "phototonic";
+    owner = "oferkv";
+    rev = "v${version}";
+    sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj";
+  };
+
+  buildInputs = [ qt5.base exiv2 ];
+
+  configurePhase = ''
+    sed -i 's;/usr;;' phototonic.pro
+    qmake PREFIX=""
+  '';
+
+  installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "An image viewer and organizer";
+    homepage = http://oferkv.github.io/phototonic/;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index cbb72471de55..5e5371166eee 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite
-, webkitgtk24x, pkgconfig, gnome3, gst_all_1, which, udev, libraw, glib, json_glib
+, webkitgtk24x, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib
 , gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, makeWrapper
 , gnome_doc_utils, hicolor_icon_theme }:
 
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk24x
                   pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee
-                  which udev gnome3.gexiv2 hicolor_icon_theme
+                  which udev libgudev gnome3.gexiv2 hicolor_icon_theme
                   libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
                   makeWrapper gnome_doc_utils gnome3.rest
                   gnome3.defaultIconTheme ];
diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix
index 7c68e94100f7..1943d24382ae 100644
--- a/pkgs/applications/graphics/simple-scan/default.nix
+++ b/pkgs/applications/graphics/simple-scan/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool, libusb
 , libxml2, makeWrapper, pkgconfig, saneBackends, systemd, vala }:
 
-let version = "3.19.1"; in
+let version = "3.19.2"; in
 stdenv.mkDerivation rec {
   name = "simple-scan-${version}";
 
   src = fetchurl {
-    sha256 = "1d2a8cncq36ly60jpz0fzdw1lgxynl6lyrlw0q66yijlxqn81ynr";
+    sha256 = "08454ky855iaiq5wn9rdbfal3i4fjss5fn5mg6cmags50wy9spsg";
     url = "https://launchpad.net/simple-scan/3.19/${version}/+download/${name}.tar.xz";
   };
 
@@ -14,6 +14,13 @@ stdenv.mkDerivation rec {
     systemd vala ];
   nativeBuildInputs = [ intltool itstool makeWrapper pkgconfig ];
 
+  configureFlags = [ "--disable-packagekit" ];
+
+  preBuild = ''
+    # Clean up stale generated .c files still referencing packagekit headers:
+    make clean
+  '';
+
   enableParallelBuilding = true;
 
   doCheck = true;
diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix
index 7e01d3847d56..44c8313d9c3a 100644
--- a/pkgs/applications/graphics/xaos/default.nix
+++ b/pkgs/applications/graphics/xaos/default.nix
@@ -1,34 +1,28 @@
-a @ { libXt, libX11, libXext, xextproto, xproto, gsl, aalib, zlib, intltool, gettext, perl, ... }:
-let
-  fetchurl = a.fetchurl;
+{ stdenv, fetchurl, aalib, gsl, libpng, libX11, xproto, libXext
+, xextproto, libXt, zlib, gettext, intltool, perl }:
+
+stdenv.mkDerivation rec {
+  name = "xaos-${version}";
+  version = "3.6";
 
-  version = a.lib.attrByPath ["version"] "3.6" a;
-  buildInputs = with a; [
-    aalib gsl libpng libX11 xproto libXext xextproto
-    libXt zlib gettext intltool perl
-  ];
-in
-rec {
   src = fetchurl {
-    url = "mirror://sourceforge/xaos/xaos-${version}.tar.gz";
+    url = "mirror://sourceforge/xaos/${name}.tar.gz";
     sha256 = "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"];
+  buildInputs = [
+    aalib gsl libpng libX11 xproto libXext xextproto
+    libXt zlib gettext intltool perl
+  ];
 
-  preConfigure = a.fullDepEntry (''
+  preConfigure = ''
     sed -e s@/usr/@"$out/"@g -i configure $(find . -name 'Makefile*')
     mkdir -p $out/share/locale
-  '') ["doUnpack" "minInit" "defEnsureDir"];
+  '';
 
-  name = "xaos-" + version;
   meta = {
     homepage = http://xaos.sourceforge.net/;
     description = "Fractal viewer";
-    license = a.stdenv.lib.licenses.gpl2Plus;
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/kde-apps-15.12/ark.nix b/pkgs/applications/kde-apps-15.12/ark.nix
new file mode 100644
index 000000000000..36a1ca7cfbd7
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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.makeSearchPath "bin" [
+      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/applications/kde-apps-15.12/baloo-widgets.nix b/pkgs/applications/kde-apps-15.12/baloo-widgets.nix
new file mode 100644
index 000000000000..a24928160df1
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/default.nix b/pkgs/applications/kde-apps-15.12/default.nix
new file mode 100644
index 000000000000..0c8c0780aaf2
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/default.nix
@@ -0,0 +1,54 @@
+# 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";
+
+  kdeApp = import ./kde-app.nix {
+    inherit stdenv lib;
+    inherit debug srcs;
+  };
+
+  packages = self: with self; {
+    inherit (pkgs.kdeApps_15_08) kdelibs ksnapshot;
+
+    ark = callPackage ./ark.nix {};
+    baloo-widgets = callPackage ./baloo-widgets.nix {};
+    dolphin = callPackage ./dolphin.nix {};
+    dolphin-plugins = callPackage ./dolphin-plugins.nix {};
+    ffmpegthumbs = callPackage ./ffmpegthumbs.nix {};
+    gpgmepp = callPackage ./gpgmepp.nix {};
+    gwenview = callPackage ./gwenview.nix {};
+    kate = callPackage ./kate.nix {};
+    kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
+    kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
+    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 {};
+
+    l10n = pkgs.recurseIntoAttrs (import ./l10n.nix { inherit callPackage lib pkgs; });
+  };
+
+  newScope = scope: pkgs.kf516.newScope ({ inherit kdeApp; } // scope);
+
+in lib.makeScope newScope packages
diff --git a/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix b/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix
new file mode 100644
index 000000000000..72a08c732614
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/dolphin.nix b/pkgs/applications/kde-apps-15.12/dolphin.nix
new file mode 100644
index 000000000000..3218146f510e
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/fetchsrcs.sh b/pkgs/applications/kde-apps-15.12/fetchsrcs.sh
new file mode 100755
index 000000000000..a5d568a2b6f7
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/unstable/applications/15.11.80/ -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/applications/kde-apps-15.12/ffmpegthumbs.nix b/pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix
new file mode 100644
index 000000000000..53e9d807d647
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/gpgmepp.nix b/pkgs/applications/kde-apps-15.12/gpgmepp.nix
new file mode 100644
index 000000000000..ac14573dcaa3
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/gwenview.nix b/pkgs/applications/kde-apps-15.12/gwenview.nix
new file mode 100644
index 000000000000..732ac11e96d0
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/kate.nix b/pkgs/applications/kde-apps-15.12/kate.nix
new file mode 100644
index 000000000000..91eeb2314a4c
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/kde-app.nix b/pkgs/applications/kde-apps-15.12/kde-app.nix
new file mode 100644
index 000000000000..242f3d9c793d
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kde-app.nix
@@ -0,0 +1,23 @@
+{ 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;
+
+  cmakeFlags =
+    (args.cmakeFlags or [])
+    ++ [ "-DBUILD_TESTING=OFF" ]
+    ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
+
+  meta = {
+    platforms = lib.platforms.linux;
+    homepage = "http://www.kde.org";
+  } // (args.meta or {});
+})
diff --git a/pkgs/applications/kde-apps-15.12/kde-locale-4.nix b/pkgs/applications/kde-apps-15.12/kde-locale-4.nix
new file mode 100644
index 000000000000..4b612ee3e3c2
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kde-locale-4.nix
@@ -0,0 +1,20 @@
+name: args:
+
+{ kdeApp, automoc4, cmake, gettext, kdelibs, perl }:
+
+kdeApp (args // {
+  sname = "kde-l10n-${name}";
+  name = "kde-l10n-${name}-qt4";
+
+  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 ""}
+  '';
+})
diff --git a/pkgs/applications/kde-apps-15.12/kde-locale-5.nix b/pkgs/applications/kde-apps-15.12/kde-locale-5.nix
new file mode 100644
index 000000000000..522fc542aeb2
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kde-locale-5.nix
@@ -0,0 +1,17 @@
+name: args:
+
+{ kdeApp, cmake, extra-cmake-modules, gettext, kdoctools }:
+
+kdeApp (args // {
+  sname = "kde-l10n-${name}";
+  name = "kde-l10n-${name}-qt5";
+
+  nativeBuildInputs =
+    [ cmake extra-cmake-modules gettext kdoctools ]
+    ++ (args.nativeBuildInputs or []);
+
+  preConfigure = ''
+    sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt
+    ${args.preConfigure or ""}
+  '';
+})
diff --git a/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix b/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix
new file mode 100644
index 000000000000..520bad0d066a
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/kgpg.nix b/pkgs/applications/kde-apps-15.12/kgpg.nix
new file mode 100644
index 000000000000..3ee925197189
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/konsole.nix b/pkgs/applications/kde-apps-15.12/konsole.nix
new file mode 100644
index 000000000000..4b4cba2a3779
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/ksnapshot.nix b/pkgs/applications/kde-apps-15.12/ksnapshot.nix
new file mode 100644
index 000000000000..b757f4f04037
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/ksnapshot.nix
@@ -0,0 +1,29 @@
+{ kdeApp
+, lib
+, automoc4
+, cmake
+, perl
+, pkgconfig
+, kdelibs
+, libkipi
+, libXfixes
+}:
+
+kdeApp {
+  name = "ksnapshot";
+  nativeBuildInputs = [
+    automoc4
+    cmake
+    perl
+    pkgconfig
+  ];
+  buildInputs = [
+    kdelibs
+    libkipi
+    libXfixes
+  ];
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/applications/kde-apps-15.12/l10n.nix b/pkgs/applications/kde-apps-15.12/l10n.nix
new file mode 100644
index 000000000000..a0605e3bd55d
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/l10n.nix
@@ -0,0 +1,237 @@
+{ 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" {}) {};
+  };
+  # TODO: build broken in 15.11.80; re-enable in next release
+  /*
+  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" {}) {};
+    qt5 = callPackage (kdeLocale5 "sr" {
+      preConfigure = ''
+        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/applications/kde-apps-15.12/libkdcraw.nix b/pkgs/applications/kde-apps-15.12/libkdcraw.nix
new file mode 100644
index 000000000000..319c7fc6583d
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/libkexiv2.nix b/pkgs/applications/kde-apps-15.12/libkexiv2.nix
new file mode 100644
index 000000000000..afb1ac836537
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/libkipi.nix b/pkgs/applications/kde-apps-15.12/libkipi.nix
new file mode 100644
index 000000000000..c23cd8578fb9
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/okular.nix b/pkgs/applications/kde-apps-15.12/okular.nix
new file mode 100644
index 000000000000..0691325d7a52
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/print-manager.nix b/pkgs/applications/kde-apps-15.12/print-manager.nix
new file mode 100644
index 000000000000..b4eab372789d
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/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/applications/kde-apps-15.12/srcs.nix b/pkgs/applications/kde-apps-15.12/srcs.nix
new file mode 100644
index 000000000000..ffd12f9e242c
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/srcs.nix
@@ -0,0 +1,1925 @@
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+{ fetchurl, mirror }:
+
+{
+  akonadi = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/akonadi-15.11.80.tar.xz";
+      sha256 = "02a4j9ydxqvjv5kpp8nlw7j0jil0ryqrv39ibypcfm73hx09xxkn";
+      name = "akonadi-15.11.80.tar.xz";
+    };
+  };
+  akonadi-calendar = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/akonadi-calendar-15.11.80.tar.xz";
+      sha256 = "1cdyv10gfc5ygiz726vxzr17s6bk28bla7z8vidn9nkh922wn3k4";
+      name = "akonadi-calendar-15.11.80.tar.xz";
+    };
+  };
+  akonadi-search = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/akonadi-search-15.11.80.tar.xz";
+      sha256 = "0749i1hqwyn4l12039vq2ckm72p9ajcmr9mljsn9vcil9cvd8g82";
+      name = "akonadi-search-15.11.80.tar.xz";
+    };
+  };
+  analitza = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/analitza-15.11.80.tar.xz";
+      sha256 = "1x8l71acmg2fswwlc4pci6681nz7r1qsvbcfdw3alq76l28zmrhp";
+      name = "analitza-15.11.80.tar.xz";
+    };
+  };
+  ark = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ark-15.11.80.tar.xz";
+      sha256 = "1sj6mkzxy4gw19yclps5jn54780is5vpr526bvmbsa2vgj8njxcw";
+      name = "ark-15.11.80.tar.xz";
+    };
+  };
+  artikulate = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/artikulate-15.11.80.tar.xz";
+      sha256 = "0qxykga1kyc6viyqdsqngfvnrf0wk81h54ybrlq3bgkirnfmng07";
+      name = "artikulate-15.11.80.tar.xz";
+    };
+  };
+  audiocd-kio = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/audiocd-kio-15.11.80.tar.xz";
+      sha256 = "0l4x2gm1f6qwzvdq57h0z1zw1qkg7dah5zb2gpjz6apggw4iah00";
+      name = "audiocd-kio-15.11.80.tar.xz";
+    };
+  };
+  baloo-widgets = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/baloo-widgets-15.11.80.tar.xz";
+      sha256 = "11wf2gf64dd8xxyk32kviyxki8f0ddg86nzw5g19l9drspils6jh";
+      name = "baloo-widgets-15.11.80.tar.xz";
+    };
+  };
+  blinken = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/blinken-15.11.80.tar.xz";
+      sha256 = "1lib5mq4xy8xphxfa3ljcdzqp1kd08f1zc7ch6sfb124dv9yzpln";
+      name = "blinken-15.11.80.tar.xz";
+    };
+  };
+  bomber = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/bomber-15.11.80.tar.xz";
+      sha256 = "1rldcx532llxy22y6r1lvz6y8zh66mby5in59snzp5gv1bj6aq89";
+      name = "bomber-15.11.80.tar.xz";
+    };
+  };
+  bovo = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/bovo-15.11.80.tar.xz";
+      sha256 = "1ypna943rq6sidx2zc23r8mm61jfhsc28bdi74v1qg4ishpsjls9";
+      name = "bovo-15.11.80.tar.xz";
+    };
+  };
+  cantor = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/cantor-15.11.80.tar.xz";
+      sha256 = "0pfksygz9ng1c4vf3wfnw6w9dfr133hn7xnfdd2vymqh6bws8b34";
+      name = "cantor-15.11.80.tar.xz";
+    };
+  };
+  cervisia = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/cervisia-15.11.80.tar.xz";
+      sha256 = "0hrbxd3db71kcnvjv64184c3cqankzdnfyfjj4ar1sznvvl29836";
+      name = "cervisia-15.11.80.tar.xz";
+    };
+  };
+  dolphin = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/dolphin-15.11.80.tar.xz";
+      sha256 = "1c7i3akafqhrrv6aq992fl9a9ki2mgs6y9cd6ha320x6npl1f1rj";
+      name = "dolphin-15.11.80.tar.xz";
+    };
+  };
+  dolphin-plugins = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/dolphin-plugins-15.11.80.tar.xz";
+      sha256 = "0vn02bjwch54cg1rfrad12g773r3slhdnl9kpfy1kgjra5p2vdm9";
+      name = "dolphin-plugins-15.11.80.tar.xz";
+    };
+  };
+  dragon = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/dragon-15.11.80.tar.xz";
+      sha256 = "1vv8kxrz2444n8ffi4vq99vi7a64ywbhmy4dx6k055hzpcmh5005";
+      name = "dragon-15.11.80.tar.xz";
+    };
+  };
+  ffmpegthumbs = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ffmpegthumbs-15.11.80.tar.xz";
+      sha256 = "0zcaz96rd178w22cqmlay3iq2gb3j6snyy2fd0x4xnzmhmwnvxm6";
+      name = "ffmpegthumbs-15.11.80.tar.xz";
+    };
+  };
+  filelight = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/filelight-15.11.80.tar.xz";
+      sha256 = "0i2iwrq83j2jv4kw3nakiprxdk8i9zk700pvcm9p89ls2h91gv0k";
+      name = "filelight-15.11.80.tar.xz";
+    };
+  };
+  gpgmepp = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/gpgmepp-15.11.80.tar.xz";
+      sha256 = "14igg9kpkv1762q9jjzdc3289swj5l2a21q9xj3smabf7b3mzm3d";
+      name = "gpgmepp-15.11.80.tar.xz";
+    };
+  };
+  granatier = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/granatier-15.11.80.tar.xz";
+      sha256 = "11rsgjl9fkdhwwmszj3sx97mmrks77qhj9zfwb4rgd67q6q8vrzm";
+      name = "granatier-15.11.80.tar.xz";
+    };
+  };
+  gwenview = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/gwenview-15.11.80.tar.xz";
+      sha256 = "1w67bgbsfykg0lsh7vapimgp3wmlygdq9pcwdrbdscymwhhpirj3";
+      name = "gwenview-15.11.80.tar.xz";
+    };
+  };
+  jovie = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/jovie-15.11.80.tar.xz";
+      sha256 = "1mlwm31dbph2dzsjg64rbjq7nr3i6fnh5h45xlmbq6fi1906h9kw";
+      name = "jovie-15.11.80.tar.xz";
+    };
+  };
+  juk = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/juk-15.11.80.tar.xz";
+      sha256 = "0lc0x5pscqnzi5mhwsdd0qrqi8b8nwsqbqplfrbk4zlg5dvql7nl";
+      name = "juk-15.11.80.tar.xz";
+    };
+  };
+  kaccessible = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kaccessible-15.11.80.tar.xz";
+      sha256 = "0vg684xnr46iipil058vwwa75rigq3hdq2isfzhi5qxxm9n1n6ri";
+      name = "kaccessible-15.11.80.tar.xz";
+    };
+  };
+  kaccounts-integration = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kaccounts-integration-15.11.80.tar.xz";
+      sha256 = "0sbihlzd837q1p52vjc5ym7c5vsms00rl7l5wa72pd8q9haqabz8";
+      name = "kaccounts-integration-15.11.80.tar.xz";
+    };
+  };
+  kaccounts-providers = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kaccounts-providers-15.11.80.tar.xz";
+      sha256 = "12127sk2ki8hxrwap7mazz6ksqn5wf6wh6h3qb5sw1k8ngmqaxqd";
+      name = "kaccounts-providers-15.11.80.tar.xz";
+    };
+  };
+  kajongg = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kajongg-15.11.80.tar.xz";
+      sha256 = "017x84r78kf25hv9xl7ac9hsrkzxdxdzgdxhq74mgw3lsnp9vrvp";
+      name = "kajongg-15.11.80.tar.xz";
+    };
+  };
+  kalarmcal = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kalarmcal-15.11.80.tar.xz";
+      sha256 = "1h11r2j2iw2cpd2javzpsnspjzy6h5bypj29j426m77b00d8jyaw";
+      name = "kalarmcal-15.11.80.tar.xz";
+    };
+  };
+  kalgebra = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kalgebra-15.11.80.tar.xz";
+      sha256 = "160m1jvfx03dafvzz37jap023p9ap0b2f59r9ayaf1y7ldagdip5";
+      name = "kalgebra-15.11.80.tar.xz";
+    };
+  };
+  kalzium = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kalzium-15.11.80.tar.xz";
+      sha256 = "0hw9a18h3ldvilz6aawnph62mc6v9yggapkyf478d9m7faqdpmll";
+      name = "kalzium-15.11.80.tar.xz";
+    };
+  };
+  kamera = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kamera-15.11.80.tar.xz";
+      sha256 = "0zhi6aimih3szdph4vn0s7a48bn97glp0kxdy6mfkcmx4hgv59v8";
+      name = "kamera-15.11.80.tar.xz";
+    };
+  };
+  kanagram = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kanagram-15.11.80.tar.xz";
+      sha256 = "1hhpzk4yf9pxmdkydwazdvzm3iayh07wwp1p06nhd91zxgjh696y";
+      name = "kanagram-15.11.80.tar.xz";
+    };
+  };
+  kapman = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kapman-15.11.80.tar.xz";
+      sha256 = "1kdjdngsdm95w8skr21722nmv4h860gaa2zifbzkn387k348n23s";
+      name = "kapman-15.11.80.tar.xz";
+    };
+  };
+  kapptemplate = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kapptemplate-15.11.80.tar.xz";
+      sha256 = "0xs5x6hlsm41axavdr3dbaqhcr5ncjigwxzcvr0d3v58k4w55va5";
+      name = "kapptemplate-15.11.80.tar.xz";
+    };
+  };
+  kate = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kate-15.11.80.tar.xz";
+      sha256 = "0503hzhys5004d8f72j8q5vifi39shfkdvj3kvs1wy4naipg6906";
+      name = "kate-15.11.80.tar.xz";
+    };
+  };
+  katomic = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/katomic-15.11.80.tar.xz";
+      sha256 = "0brp5zxaaw9ymyvdbw47c72s9ms6q0prgn327qmnzjpcvi1nagiv";
+      name = "katomic-15.11.80.tar.xz";
+    };
+  };
+  kblackbox = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kblackbox-15.11.80.tar.xz";
+      sha256 = "06qpbivv7jmj900pizs35kivsyz34z6smw3vjmczh5cg6wccjwwc";
+      name = "kblackbox-15.11.80.tar.xz";
+    };
+  };
+  kblocks = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kblocks-15.11.80.tar.xz";
+      sha256 = "0rf60pa73kj5zcyvswpx0pwwrkxif2z8gj75cj1qg20nl15xzcv9";
+      name = "kblocks-15.11.80.tar.xz";
+    };
+  };
+  kblog = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kblog-15.11.80.tar.xz";
+      sha256 = "09ywpx0pkl518hshlcbqx5g7kfrivz0j440xkp7slzaw5ydslh9w";
+      name = "kblog-15.11.80.tar.xz";
+    };
+  };
+  kbounce = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kbounce-15.11.80.tar.xz";
+      sha256 = "1brgv8zc9zw6hkg2315dhnqpk4s2wdv223pxxp7dqcjg28zmr8fs";
+      name = "kbounce-15.11.80.tar.xz";
+    };
+  };
+  kbreakout = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kbreakout-15.11.80.tar.xz";
+      sha256 = "1rr606dgsj75cy665q94cdqz68glc0n8r59ihmwgjkz2xg06cpnc";
+      name = "kbreakout-15.11.80.tar.xz";
+    };
+  };
+  kbruch = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kbruch-15.11.80.tar.xz";
+      sha256 = "1hqnxj4f005jbhhbhjac5lzpmhbfgmsw4mhqavw79v42nldmaygj";
+      name = "kbruch-15.11.80.tar.xz";
+    };
+  };
+  kcachegrind = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcachegrind-15.11.80.tar.xz";
+      sha256 = "0rc308n9yrjfmdg8v0fz4qmm9p8vvvihw9mvc7n31kpfwwlymx3n";
+      name = "kcachegrind-15.11.80.tar.xz";
+    };
+  };
+  kcalc = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcalc-15.11.80.tar.xz";
+      sha256 = "1dvnj2fnl6rjcfw373xplchzkkl63lr0h1b1d0h2l36i7j37g0ih";
+      name = "kcalc-15.11.80.tar.xz";
+    };
+  };
+  kcalcore = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcalcore-15.11.80.tar.xz";
+      sha256 = "1kxw4cvz72flb3587wzx1p8vykwhwjbsw2xq10z6zvk55s8y9g8h";
+      name = "kcalcore-15.11.80.tar.xz";
+    };
+  };
+  kcalutils = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcalutils-15.11.80.tar.xz";
+      sha256 = "0gnw0j92nk9gf40gn0ikbmij8qd3p8zsqwwcq8rbmrlh6g31cb94";
+      name = "kcalutils-15.11.80.tar.xz";
+    };
+  };
+  kcharselect = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcharselect-15.11.80.tar.xz";
+      sha256 = "0sdq3vwkcjm59gbyq7hz3lhpkwrhb6xv4rrdpw9wfhh50gy1ckif";
+      name = "kcharselect-15.11.80.tar.xz";
+    };
+  };
+  kcolorchooser = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcolorchooser-15.11.80.tar.xz";
+      sha256 = "1i2s7ay2r0ymfrhcnmvza627ni2m955c9m7c085h5qchgmljp994";
+      name = "kcolorchooser-15.11.80.tar.xz";
+    };
+  };
+  kcontacts = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcontacts-15.11.80.tar.xz";
+      sha256 = "1wa45vyd7j3zbi1wsz4z0mkhf2ii4qnb7pd8rshvh4z929f1kqg8";
+      name = "kcontacts-15.11.80.tar.xz";
+    };
+  };
+  kcron = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kcron-15.11.80.tar.xz";
+      sha256 = "10dndgavnmwagkfylbji23kvyblnj5p7drygds6md0dqmcdnlvg6";
+      name = "kcron-15.11.80.tar.xz";
+    };
+  };
+  kde-baseapps = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-baseapps-15.11.80.tar.xz";
+      sha256 = "14d5rx0rl6673h949b0c51pxx0a604wsv1sdwyd44ym6z7p5nvab";
+      name = "kde-baseapps-15.11.80.tar.xz";
+    };
+  };
+  kdebugsettings = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdebugsettings-15.11.80.tar.xz";
+      sha256 = "1z0h2ng4v287bb1pjwfdq2slhy6ph516k458jyjsv2mgkjfi5fhi";
+      name = "kdebugsettings-15.11.80.tar.xz";
+    };
+  };
+  kde-dev-scripts = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-dev-scripts-15.11.80.tar.xz";
+      sha256 = "001396pg0jgy3rdk44fi3c2bavqzbfryi75d0ldn33jzhpa2l7sl";
+      name = "kde-dev-scripts-15.11.80.tar.xz";
+    };
+  };
+  kde-dev-utils = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-dev-utils-15.11.80.tar.xz";
+      sha256 = "0jkmgdap3win3znz089nc8znpa001scs0la7rni1a3fh7fm6x1pc";
+      name = "kde-dev-utils-15.11.80.tar.xz";
+    };
+  };
+  kdeedu-data = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdeedu-data-15.11.80.tar.xz";
+      sha256 = "17mfb3xp5xpbx6wfs88frdqh9732jfliv4kq5nba8mh3h8vrnrrb";
+      name = "kdeedu-data-15.11.80.tar.xz";
+    };
+  };
+  kdegraphics-mobipocket = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdegraphics-mobipocket-15.11.80.tar.xz";
+      sha256 = "1yydb4g0dd9pfq8lypp245y42zk18f63khp7na61c04k04d6vfwl";
+      name = "kdegraphics-mobipocket-15.11.80.tar.xz";
+    };
+  };
+  kdegraphics-strigi-analyzer = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdegraphics-strigi-analyzer-15.11.80.tar.xz";
+      sha256 = "0z0gx48rjxad45ar4spppxndpr13zx4lvb8zx2whpdbhf43a8xng";
+      name = "kdegraphics-strigi-analyzer-15.11.80.tar.xz";
+    };
+  };
+  kdegraphics-thumbnailers = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdegraphics-thumbnailers-15.11.80.tar.xz";
+      sha256 = "0gpwv1d8v2x631p2zdpq5b6wbr5zjvawh04pfajkbi45iby9z156";
+      name = "kdegraphics-thumbnailers-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ar = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ar-15.11.80.tar.xz";
+      sha256 = "07hdcqm0f5i47g7vzgdc7mhn03hv0nbrww24xqx7kmzxmq8ficik";
+      name = "kde-l10n-ar-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-bg = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-bg-15.11.80.tar.xz";
+      sha256 = "1cx7vax6n27ai54zpxibi9q2v1ilkzw5vs4zk7y7fr3r8llsn3ci";
+      name = "kde-l10n-bg-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-bs = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-bs-15.11.80.tar.xz";
+      sha256 = "1nw5h67j7qis4h127f101c5b5zc82r2pwfb7rhc0jg8fyxrkb0l9";
+      name = "kde-l10n-bs-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ca = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ca-15.11.80.tar.xz";
+      sha256 = "1x6p2bklh2qf047ws9jincbgk33c9xsg20xsyfazp7x4iyrsw3lv";
+      name = "kde-l10n-ca-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ca_valencia = {
+    version = "ca_valencia-15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ca@valencia-15.11.80.tar.xz";
+      sha256 = "1n58flzasr0r64pqhh8j7rizz0w3h9xdjhlj8c18mm50xyp011bq";
+      name = "kde-l10n-ca_valencia-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-cs = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-cs-15.11.80.tar.xz";
+      sha256 = "0mnwbb9s2x2pl168awxygrah8a8yzn2zlsrh7fp9kbhiypwr8gvl";
+      name = "kde-l10n-cs-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-da = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-da-15.11.80.tar.xz";
+      sha256 = "0igc9dzj7l7n4kznlij0myvqsdcm2a2hf80j23wh810d1fkgg16a";
+      name = "kde-l10n-da-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-de = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-de-15.11.80.tar.xz";
+      sha256 = "1mwaiapzailc644j5qcmac3m3h5jg7swia21gshdpywcjisrrka7";
+      name = "kde-l10n-de-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-el = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-el-15.11.80.tar.xz";
+      sha256 = "1f0nj7lh2hgs6yxwxcgmc9ydiy294d2pfxffqg3nvk6r7qxxr62i";
+      name = "kde-l10n-el-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-en_GB = {
+    version = "en_GB-15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-en_GB-15.11.80.tar.xz";
+      sha256 = "05kxsfmj6p3w10ily3yn3l53zgjib0v10whq8ls5l99aygws90y3";
+      name = "kde-l10n-en_GB-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-eo = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-eo-15.11.80.tar.xz";
+      sha256 = "1wial0ky930cg66a5f0a7j7f57m7c8nyj62v6c66irdskfm5gh9d";
+      name = "kde-l10n-eo-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-es = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-es-15.11.80.tar.xz";
+      sha256 = "02jz8lm6rz14vp0abycnyghwz87vc6qca2371p8bnsz4sggqbarj";
+      name = "kde-l10n-es-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-et = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-et-15.11.80.tar.xz";
+      sha256 = "1da4jz8a8ixkalwvf27mknchrr761a0rifjghjl2wlr463ivba4q";
+      name = "kde-l10n-et-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-eu = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-eu-15.11.80.tar.xz";
+      sha256 = "1l0clwn2h6ph6jgnv3vrfx2ww04rm55byrndivm78x1i8vci8jx0";
+      name = "kde-l10n-eu-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-fa = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-fa-15.11.80.tar.xz";
+      sha256 = "0v2vcpyvih2xmx69yg1d9wyh988f3439g66vk01wqp2gsa505r1p";
+      name = "kde-l10n-fa-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-fi = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-fi-15.11.80.tar.xz";
+      sha256 = "0shxcr6xndxz2136nx1qhm4kbfcgxw3j8fnby1jgjqz8shfjz318";
+      name = "kde-l10n-fi-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-fr = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-fr-15.11.80.tar.xz";
+      sha256 = "1b1cs3fwzknhm3rd2ipbgx63wkn7idck825wvpjbgipg65q6a788";
+      name = "kde-l10n-fr-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ga = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ga-15.11.80.tar.xz";
+      sha256 = "05z536w3djr5p89vbyc1rj8d9z4cwgym74fv08jaz816iq1cz8ww";
+      name = "kde-l10n-ga-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-gl = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-gl-15.11.80.tar.xz";
+      sha256 = "0jrv68qjcrikgpnqsgdgxj6nl0m2prbgj418fjns1c4c4lna43qk";
+      name = "kde-l10n-gl-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-he = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-he-15.11.80.tar.xz";
+      sha256 = "0h71g3rqsvfwkvj2rwf6c0mma6qmp2h0nrbc3biqijgjxl8vyd5s";
+      name = "kde-l10n-he-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-hi = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-hi-15.11.80.tar.xz";
+      sha256 = "1blwzqk0v9455c1lsvb9q5qf0x2lj0zj5av8vxbicfd35hr6hc6y";
+      name = "kde-l10n-hi-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-hr = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-hr-15.11.80.tar.xz";
+      sha256 = "11zz6zjk13hqd9i409786d6xinkpyaynlza2dkql104kzymbyknf";
+      name = "kde-l10n-hr-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-hu = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-hu-15.11.80.tar.xz";
+      sha256 = "18hzyyv5ijl29b27q9jfm9sq0w82638yb4gjabq7rkngy0h2v02x";
+      name = "kde-l10n-hu-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ia = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ia-15.11.80.tar.xz";
+      sha256 = "013acls9vqfhpr6yzfpg6c3yn87myrznq2qxm2n4lgmksibw8l38";
+      name = "kde-l10n-ia-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-id = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-id-15.11.80.tar.xz";
+      sha256 = "0l1vsa5s6zdiymw67iy28fsarh2lgi4wpcma7nnbj90jf4l7zj0g";
+      name = "kde-l10n-id-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-is = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-is-15.11.80.tar.xz";
+      sha256 = "07rs26zl15qar6pn6mg3ihfx78zakqn5mbvqv7f0zjsfd6fmmkxx";
+      name = "kde-l10n-is-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-it = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-it-15.11.80.tar.xz";
+      sha256 = "0x7qi9rgma6l7i80r5i37jh35zfi4j6axk6ha1h9dbmyfw9p1fkr";
+      name = "kde-l10n-it-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ja = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ja-15.11.80.tar.xz";
+      sha256 = "0dh8k8gyimzdhmycz8711l2hn0rddprywqz1brs7m43shx8cqxk7";
+      name = "kde-l10n-ja-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-kk = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-kk-15.11.80.tar.xz";
+      sha256 = "1r9w4yw3fc4v0pgy130phvapy69p1b7j1gzayg60lakckr3wbpd8";
+      name = "kde-l10n-kk-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-km = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-km-15.11.80.tar.xz";
+      sha256 = "10swsr4zvrv42d2i2w45kqmaqkba7an7w6f519qqsnmp4ykcl0dk";
+      name = "kde-l10n-km-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ko = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ko-15.11.80.tar.xz";
+      sha256 = "07ly80fbz0kqiam3ykfilv6q4y0pa6nzi9chxas830xzzkygri9k";
+      name = "kde-l10n-ko-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-lt = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-lt-15.11.80.tar.xz";
+      sha256 = "11xq8wv3rcg8yz76mnb0052xd6h8l5wis5c9k6lrpqik57kg06ic";
+      name = "kde-l10n-lt-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-lv = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-lv-15.11.80.tar.xz";
+      sha256 = "0wxd9cbzgw404zvi94zs71sx65cai8xhks8jb6j5g0086iscar5a";
+      name = "kde-l10n-lv-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-mr = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-mr-15.11.80.tar.xz";
+      sha256 = "116pk7fzba0k32pl8mdgaq54xxhqg43y7vv1ra0dgilf0znpibyv";
+      name = "kde-l10n-mr-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-nb = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nb-15.11.80.tar.xz";
+      sha256 = "03y3qbf8nfbqh0c2saznv12igg82bj56i791ksxcphlm5065rlzq";
+      name = "kde-l10n-nb-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-nds = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nds-15.11.80.tar.xz";
+      sha256 = "0wr842xfclxbx5w30f2aig2rdq5p2vrhd91kr5v9zcidgddms2fj";
+      name = "kde-l10n-nds-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-nl = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nl-15.11.80.tar.xz";
+      sha256 = "110fwbf2b6ss21vrswj3d3d9zlr1n2p44vs3znwcrv9pjds2v8jg";
+      name = "kde-l10n-nl-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-nn = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-nn-15.11.80.tar.xz";
+      sha256 = "073zcpwx8acv1hdwkk8w7nzkrg6qfb4w4lvah8gkgjhl2r6h4lkr";
+      name = "kde-l10n-nn-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-pa = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pa-15.11.80.tar.xz";
+      sha256 = "1x99m4rj99wdlyiqmgl9vs125vdjl2g46nk1q0xb2xz7znn003na";
+      name = "kde-l10n-pa-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-pl = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pl-15.11.80.tar.xz";
+      sha256 = "0hxsdbcclgnalkzpvrl948l4yb122lg8bhxg0mkcm23jmvi594cv";
+      name = "kde-l10n-pl-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-pt = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pt-15.11.80.tar.xz";
+      sha256 = "1wijadwzv119dyx7wpddwiyc4jip1lqwkhb01dvyq1dzzkjf39f4";
+      name = "kde-l10n-pt-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-pt_BR = {
+    version = "pt_BR-15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-pt_BR-15.11.80.tar.xz";
+      sha256 = "19ki8sf4mj8fjrf2f7a43bj8bnqg9bc0m6982ba558nxdb3lr7fs";
+      name = "kde-l10n-pt_BR-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ro = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ro-15.11.80.tar.xz";
+      sha256 = "1p79xvd49vs81gn18pzmpjz6qy974ryn3ywvqda920nb1wfaqh1k";
+      name = "kde-l10n-ro-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ru = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ru-15.11.80.tar.xz";
+      sha256 = "04x6ym1gs1n6krg9k876gfk7d4ljrxvwv5lmagmjadx7dhfvy4ym";
+      name = "kde-l10n-ru-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-sk = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sk-15.11.80.tar.xz";
+      sha256 = "0mdy9fhppnm5nkanb7q2myinngmnf6hq3iywvhg66iv6nsmbjdw9";
+      name = "kde-l10n-sk-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-sl = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sl-15.11.80.tar.xz";
+      sha256 = "06nd0wjni4sfmiza6wb8m3mdrbkkvk0k5ymvar396wh8037mjp64";
+      name = "kde-l10n-sl-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-sr = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sr-15.11.80.tar.xz";
+      sha256 = "1pj9k4j6c5hfzl1lz7vyakggl6p8drrfy5ln7m69s1qy4skraf8x";
+      name = "kde-l10n-sr-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-sv = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-sv-15.11.80.tar.xz";
+      sha256 = "18p880a66iz258lbc8hn3h217qcigi3glzml5r9yq2d8kmr1gfwg";
+      name = "kde-l10n-sv-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-tr = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-tr-15.11.80.tar.xz";
+      sha256 = "0r3sb0i1c0zzywsvkxzmhr67592ss6xzdaqmams6qa37znpxwjw3";
+      name = "kde-l10n-tr-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-ug = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-ug-15.11.80.tar.xz";
+      sha256 = "0daw8qi6bn26xhvxnz3rs7xxqi5azhmj57ay8p62p84d6wfbswsw";
+      name = "kde-l10n-ug-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-uk = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-uk-15.11.80.tar.xz";
+      sha256 = "0sfgsj4n0v0c99lmzbicjsyysf1n49413509lh0ljgmsr7v4mskw";
+      name = "kde-l10n-uk-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-wa = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-wa-15.11.80.tar.xz";
+      sha256 = "04v29qq4n48lkql4nyxx4v95jl9v4gh5wxjqrimycw3n2xmrlbnb";
+      name = "kde-l10n-wa-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-zh_CN = {
+    version = "zh_CN-15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-zh_CN-15.11.80.tar.xz";
+      sha256 = "15aa0b3bry1x87v9vwsylp06wzirq98jii1qfbkvh4cf17l23yvb";
+      name = "kde-l10n-zh_CN-15.11.80.tar.xz";
+    };
+  };
+  kde-l10n-zh_TW = {
+    version = "zh_TW-15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-l10n/kde-l10n-zh_TW-15.11.80.tar.xz";
+      sha256 = "0llisjlc6w13gqya7qgq9cxrqh8aicpz2q4z4afn770dqm02jbvn";
+      name = "kde-l10n-zh_TW-15.11.80.tar.xz";
+    };
+  };
+  kdenetwork-filesharing = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdenetwork-filesharing-15.11.80.tar.xz";
+      sha256 = "0rip7k13lfpblg2lbpj6y1dj6j0gmr6ydqdqkcnb37lgrjr1cmn0";
+      name = "kdenetwork-filesharing-15.11.80.tar.xz";
+    };
+  };
+  kdenetwork-strigi-analyzers = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdenetwork-strigi-analyzers-15.11.80.tar.xz";
+      sha256 = "097m04s0vflpfpkbf55k4drbs9w8mp1a80chwyn623mmvg2bdr92";
+      name = "kdenetwork-strigi-analyzers-15.11.80.tar.xz";
+    };
+  };
+  kdenlive = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdenlive-15.11.80.tar.xz";
+      sha256 = "0ms8q5daq8kklv73yhyh8905766zy6v26gbjcrsj4pvql3r6rbs4";
+      name = "kdenlive-15.11.80.tar.xz";
+    };
+  };
+  kdepim = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdepim-15.11.80.tar.xz";
+      sha256 = "0zjrjlsd49c3zk0l12b9ijl62y8jmgkmllgvxkpzrblpn1mqjjls";
+      name = "kdepim-15.11.80.tar.xz";
+    };
+  };
+  kdepimlibs = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdepimlibs-15.11.80.tar.xz";
+      sha256 = "06z926a68b8k02w89qqddlarcnrr8wrpgvgg021xqnykgar3dy7h";
+      name = "kdepimlibs-15.11.80.tar.xz";
+    };
+  };
+  kdepim-runtime = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdepim-runtime-15.11.80.tar.xz";
+      sha256 = "07xirx1z54xa7r4gcqfp0sz3r0vgi5f75klcmwna21j53hzc387r";
+      name = "kdepim-runtime-15.11.80.tar.xz";
+    };
+  };
+  kde-runtime = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kde-runtime-15.11.80.tar.xz";
+      sha256 = "1470pp11nc8z1x6wr5b8cpvx6fzflzx2ds06zl2yrq96acl5g8sp";
+      name = "kde-runtime-15.11.80.tar.xz";
+    };
+  };
+  kdesdk-kioslaves = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdesdk-kioslaves-15.11.80.tar.xz";
+      sha256 = "1gm8k4xnkija07kssakpli32isf5455hfvq5pnciqlzf7lllmib7";
+      name = "kdesdk-kioslaves-15.11.80.tar.xz";
+    };
+  };
+  kdesdk-strigi-analyzers = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdesdk-strigi-analyzers-15.11.80.tar.xz";
+      sha256 = "0h6pnssm3nfnk3fqva3qwbkw82vxrzkg7incg2qzpvk0pwbxgyz9";
+      name = "kdesdk-strigi-analyzers-15.11.80.tar.xz";
+    };
+  };
+  kdesdk-thumbnailers = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdesdk-thumbnailers-15.11.80.tar.xz";
+      sha256 = "0wm4gy020lz7mlgn6naixy4fz72xscdlg1vmpw37p4dmxzphmdxy";
+      name = "kdesdk-thumbnailers-15.11.80.tar.xz";
+    };
+  };
+  kdewebdev = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdewebdev-15.11.80.tar.xz";
+      sha256 = "00qmfas4d2r1gh8w421zmxyfra1xbc76zdisyv48phhw80rpqwyx";
+      name = "kdewebdev-15.11.80.tar.xz";
+    };
+  };
+  kdf = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdf-15.11.80.tar.xz";
+      sha256 = "19gazwf02kzga0980y6ixj5l56hjmzfms51zh0n7wl1cr8dbgg5i";
+      name = "kdf-15.11.80.tar.xz";
+    };
+  };
+  kdiamond = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kdiamond-15.11.80.tar.xz";
+      sha256 = "0pp01c8n9m208hknigwcq5nvw5anf4621kip232iibw7pkwk8x2i";
+      name = "kdiamond-15.11.80.tar.xz";
+    };
+  };
+  kfloppy = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kfloppy-15.11.80.tar.xz";
+      sha256 = "1935k4gm32kspjvb05jr24q1b3r31f96vs9g2s6b9s5a63b89w5j";
+      name = "kfloppy-15.11.80.tar.xz";
+    };
+  };
+  kfourinline = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kfourinline-15.11.80.tar.xz";
+      sha256 = "0y5hv4gr0nyilizcd90xka34n6xgqzgh9gh8gy8mw76xklnd1mfd";
+      name = "kfourinline-15.11.80.tar.xz";
+    };
+  };
+  kgeography = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kgeography-15.11.80.tar.xz";
+      sha256 = "01jzl84dc6jf48dx4i6vdv9mgnjvv92ssnamqkgs4jw2iva22s6f";
+      name = "kgeography-15.11.80.tar.xz";
+    };
+  };
+  kget = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kget-15.11.80.tar.xz";
+      sha256 = "17q7vpnx89zrgqgybxc1vjc596vgh82fpanqfbym5n0bxcpap8q5";
+      name = "kget-15.11.80.tar.xz";
+    };
+  };
+  kgoldrunner = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kgoldrunner-15.11.80.tar.xz";
+      sha256 = "0k815mkmd82aa6djyblm71ddl94796b52c0gf6c5dsg42r29w10f";
+      name = "kgoldrunner-15.11.80.tar.xz";
+    };
+  };
+  kgpg = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kgpg-15.11.80.tar.xz";
+      sha256 = "0p088fb8mhfgvp0zihdda0554yw8k90f1xkd6hc4c9ngjc7d2pjf";
+      name = "kgpg-15.11.80.tar.xz";
+    };
+  };
+  khangman = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/khangman-15.11.80.tar.xz";
+      sha256 = "1lz2qgqddq18dczs9cax0r5pay9yxqn63j7msch0y99x33hfyidn";
+      name = "khangman-15.11.80.tar.xz";
+    };
+  };
+  kholidays = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kholidays-15.11.80.tar.xz";
+      sha256 = "086d0vbzz2xcq6ibd7ia97lz89452gz3cxb879rvqxz3cyhhyfwr";
+      name = "kholidays-15.11.80.tar.xz";
+    };
+  };
+  kidentitymanagement = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kidentitymanagement-15.11.80.tar.xz";
+      sha256 = "1j159alnxhvq4mpd2vr7jnj091x58gv47ms1rxk865xc66xv956s";
+      name = "kidentitymanagement-15.11.80.tar.xz";
+    };
+  };
+  kig = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kig-15.11.80.tar.xz";
+      sha256 = "0w19w1bmj2grinq6s7biqqbdv9njdwqsynncb605ldwfvxnyyw7w";
+      name = "kig-15.11.80.tar.xz";
+    };
+  };
+  kigo = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kigo-15.11.80.tar.xz";
+      sha256 = "169cl12z1mjk4jn3c1ncq2q5adravsqraqxp7zq63yz819mv2mxj";
+      name = "kigo-15.11.80.tar.xz";
+    };
+  };
+  killbots = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/killbots-15.11.80.tar.xz";
+      sha256 = "13l02ndf3nyqq2qisfb4ap87z5jf1iplcs7mdj2iswmr57vpc16g";
+      name = "killbots-15.11.80.tar.xz";
+    };
+  };
+  kimap = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kimap-15.11.80.tar.xz";
+      sha256 = "12wcgjgkg8fk91g7f9g7kw2sp1783kv478m521rhl1cy345250sw";
+      name = "kimap-15.11.80.tar.xz";
+    };
+  };
+  kio-extras = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kio-extras-15.11.80.tar.xz";
+      sha256 = "19i8dgs5spayilhc7wyn2g5f30yy9dkzn7vzj2fxd3bwvl8agn2a";
+      name = "kio-extras-15.11.80.tar.xz";
+    };
+  };
+  kiriki = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kiriki-15.11.80.tar.xz";
+      sha256 = "0zrpvz8av3xcnlmms7akis1897pyqc6j9ysmv36gg4bsjj2g7ng3";
+      name = "kiriki-15.11.80.tar.xz";
+    };
+  };
+  kiten = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kiten-15.11.80.tar.xz";
+      sha256 = "0ci4wq5hp4dbmrb511m1pz6kyr2knl7aa82sd9pphndfg64l0mpi";
+      name = "kiten-15.11.80.tar.xz";
+    };
+  };
+  kjumpingcube = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kjumpingcube-15.11.80.tar.xz";
+      sha256 = "121dd6gly5dqr85rvwnqaf9ssbaqlmhlg0crcs3idj9dwag9abvi";
+      name = "kjumpingcube-15.11.80.tar.xz";
+    };
+  };
+  kldap = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kldap-15.11.80.tar.xz";
+      sha256 = "1y5g13amhl14wdbb4sxdndrhcixc9xq0glrz17wz42w2jvsf1nsb";
+      name = "kldap-15.11.80.tar.xz";
+    };
+  };
+  klettres = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/klettres-15.11.80.tar.xz";
+      sha256 = "1yiaz0ac9s99blqkb70228k5c575z05flqwmn1g13gdh8cyp41pj";
+      name = "klettres-15.11.80.tar.xz";
+    };
+  };
+  klickety = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/klickety-15.11.80.tar.xz";
+      sha256 = "09801vm45llrd8h1r9xb4ch1za98scihs655d0g8v938zqm0mzsz";
+      name = "klickety-15.11.80.tar.xz";
+    };
+  };
+  klines = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/klines-15.11.80.tar.xz";
+      sha256 = "1ssg07a48ymh3kl7pgd9wvfqf1q4kysl3c2ygiassl2dzk8inn6c";
+      name = "klines-15.11.80.tar.xz";
+    };
+  };
+  kmag = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmag-15.11.80.tar.xz";
+      sha256 = "0pdm8jj8h0r2xny1aa3nkrbyl4kvmamx49m3cvyv9kcnvabs6hhs";
+      name = "kmag-15.11.80.tar.xz";
+    };
+  };
+  kmahjongg = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmahjongg-15.11.80.tar.xz";
+      sha256 = "036wckckjdm1hwpb4lpw5djm41faih22466abmqiw6327dddwysy";
+      name = "kmahjongg-15.11.80.tar.xz";
+    };
+  };
+  kmailtransport = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmailtransport-15.11.80.tar.xz";
+      sha256 = "0wl27x4z31lpbphx8bsb8kacpnbgcjds4a6ipdgp2xcxqxfixxdl";
+      name = "kmailtransport-15.11.80.tar.xz";
+    };
+  };
+  kmbox = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmbox-15.11.80.tar.xz";
+      sha256 = "0ijdzizjc2vz3w684ny8rj92hpjmcsaqmh9q1vp2ffjfvz5qjppm";
+      name = "kmbox-15.11.80.tar.xz";
+    };
+  };
+  kmime = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmime-15.11.80.tar.xz";
+      sha256 = "1m6n6waap6y9afff5cqldi08dwl5kk002y13m8l8yjxk056qgw06";
+      name = "kmime-15.11.80.tar.xz";
+    };
+  };
+  kmines = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmines-15.11.80.tar.xz";
+      sha256 = "0h29ibkcwlwj3npmkdwii652n5gwhl8xvm31xng93ap98qaawp1b";
+      name = "kmines-15.11.80.tar.xz";
+    };
+  };
+  kmix = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmix-15.11.80.tar.xz";
+      sha256 = "0vry36l9rjbq44z022q4m1zgdgmhw9n7yr7920zq0wiq64qpm98w";
+      name = "kmix-15.11.80.tar.xz";
+    };
+  };
+  kmousetool = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmousetool-15.11.80.tar.xz";
+      sha256 = "0hby69lj0n5swn4zk8mxiba27g4x8ci1cwcc9pxgbn7yc241zbhb";
+      name = "kmousetool-15.11.80.tar.xz";
+    };
+  };
+  kmouth = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmouth-15.11.80.tar.xz";
+      sha256 = "1mi0lm725s22nal01w7jzq4lfybk0qdln84q5yficpx13f7917fn";
+      name = "kmouth-15.11.80.tar.xz";
+    };
+  };
+  kmplot = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kmplot-15.11.80.tar.xz";
+      sha256 = "1979nlcgil7qg334944p439nvq4hnc2nlql321s06dp03a8k6cf5";
+      name = "kmplot-15.11.80.tar.xz";
+    };
+  };
+  knavalbattle = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/knavalbattle-15.11.80.tar.xz";
+      sha256 = "12wbj8nrzjydykvfj1hgpgmwivsipzd5fw5w9k9yi30bgvnryjxw";
+      name = "knavalbattle-15.11.80.tar.xz";
+    };
+  };
+  knetwalk = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/knetwalk-15.11.80.tar.xz";
+      sha256 = "15w99pigi8q0282j9sl98lddrivdm510q3pk3pm2mwwc7pi9gpc9";
+      name = "knetwalk-15.11.80.tar.xz";
+    };
+  };
+  kolf = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kolf-15.11.80.tar.xz";
+      sha256 = "1rdj30lyihhn1d64d3k0viw0x1acn3j6cwqjsvzcd50zbhrkcj85";
+      name = "kolf-15.11.80.tar.xz";
+    };
+  };
+  kollision = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kollision-15.11.80.tar.xz";
+      sha256 = "1hycqsp4j3rargpprfwqshmmr4g4vjd8145a0782ha0cj14ndrr8";
+      name = "kollision-15.11.80.tar.xz";
+    };
+  };
+  kolourpaint = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kolourpaint-15.11.80.tar.xz";
+      sha256 = "1walxy7i9b6anb3sa4nj43m8n4mkcnm87i92fjspb7hm029bj8z1";
+      name = "kolourpaint-15.11.80.tar.xz";
+    };
+  };
+  kompare = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kompare-15.11.80.tar.xz";
+      sha256 = "10qvjqvy1dgzw1ywbza8z4ia2hcman0nlha7czy0lr2phf05rw8b";
+      name = "kompare-15.11.80.tar.xz";
+    };
+  };
+  konquest = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/konquest-15.11.80.tar.xz";
+      sha256 = "0jkjncr5kb5qdqykvc4wksv5kj75fijnb6mzahx6ivcgaxp4jff8";
+      name = "konquest-15.11.80.tar.xz";
+    };
+  };
+  konsole = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/konsole-15.11.80.tar.xz";
+      sha256 = "0vgzqnd27ab48rc6mb8hqhr8yk0qf8ygz0mgbhz4aswwk08dm0k0";
+      name = "konsole-15.11.80.tar.xz";
+    };
+  };
+  kontactinterface = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kontactinterface-15.11.80.tar.xz";
+      sha256 = "0ywjvwx3y007mi1g0r9gq1vrcqdfgipk5jralxb91mzxrml2af8a";
+      name = "kontactinterface-15.11.80.tar.xz";
+    };
+  };
+  kopete = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kopete-15.11.80.tar.xz";
+      sha256 = "0jk39agyl9nx4gkwff23aiq3lmnaz4w9xcfbhm906p7072ma82zj";
+      name = "kopete-15.11.80.tar.xz";
+    };
+  };
+  kpat = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kpat-15.11.80.tar.xz";
+      sha256 = "07vchzgf5g92g6zf9slg3x0166fs9s6imysvs2lhin9adwawpbfj";
+      name = "kpat-15.11.80.tar.xz";
+    };
+  };
+  kpimtextedit = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kpimtextedit-15.11.80.tar.xz";
+      sha256 = "1lx2a183p97ixx65f4aqn0k5avb124sm2rzgpj5mjnhqwxfc3fs7";
+      name = "kpimtextedit-15.11.80.tar.xz";
+    };
+  };
+  kppp = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kppp-15.11.80.tar.xz";
+      sha256 = "1j2kyp3jagp2grhbp5hcszq7h3lz43x8k2mfh5cahfkkzn88yqws";
+      name = "kppp-15.11.80.tar.xz";
+    };
+  };
+  kqtquickcharts = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kqtquickcharts-15.11.80.tar.xz";
+      sha256 = "1ssbljhwj5idci7z9hd70pv7b7bmrc87x4k0fxpqayclgwi0iijf";
+      name = "kqtquickcharts-15.11.80.tar.xz";
+    };
+  };
+  krdc = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/krdc-15.11.80.tar.xz";
+      sha256 = "1vhd01zf8w8555pp6b5d9vn92y0nm4r4cksiwvklqsrlv4p3yscc";
+      name = "krdc-15.11.80.tar.xz";
+    };
+  };
+  kremotecontrol = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kremotecontrol-15.11.80.tar.xz";
+      sha256 = "19hmq74nx074h5vhdcxkdqqdz58vkwpspc3dbyk8lypwd28xb09d";
+      name = "kremotecontrol-15.11.80.tar.xz";
+    };
+  };
+  kreversi = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kreversi-15.11.80.tar.xz";
+      sha256 = "1zd3lds1rrvbwxrv7qm2pm4pb0ki8szzv1bxpf18kywvw6kb40cr";
+      name = "kreversi-15.11.80.tar.xz";
+    };
+  };
+  krfb = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/krfb-15.11.80.tar.xz";
+      sha256 = "10873di286pgzadlrz4c96b4j2kajxin2wmys7y2lbv6cf0vya2i";
+      name = "krfb-15.11.80.tar.xz";
+    };
+  };
+  kross-interpreters = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kross-interpreters-15.11.80.tar.xz";
+      sha256 = "0zl0f3gh80inmb2wv1jpsxqd0pqaiaa6hkma756mhgxjb90shz3m";
+      name = "kross-interpreters-15.11.80.tar.xz";
+    };
+  };
+  kruler = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kruler-15.11.80.tar.xz";
+      sha256 = "188mya8phcjlp1a8cf2mkkmrg38bwgclgqm36wk181f03cvrqwhi";
+      name = "kruler-15.11.80.tar.xz";
+    };
+  };
+  ksaneplugin = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ksaneplugin-15.11.80.tar.xz";
+      sha256 = "1n42i649vcgmv80vacvf1xwa99ay1sz1csi6jc1y09qk83cwdfpa";
+      name = "ksaneplugin-15.11.80.tar.xz";
+    };
+  };
+  kscd = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kscd-15.11.80.tar.xz";
+      sha256 = "1xgb7qvqhg9mlxi09ggqs2l6ybs6wilabp6hbzk1r1zqf44fvvh1";
+      name = "kscd-15.11.80.tar.xz";
+    };
+  };
+  kshisen = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kshisen-15.11.80.tar.xz";
+      sha256 = "0wzran4wdb4zjf4qzj08hzzf3mqzi6dds0yhfv2mwwpw59bba2y4";
+      name = "kshisen-15.11.80.tar.xz";
+    };
+  };
+  ksirk = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ksirk-15.11.80.tar.xz";
+      sha256 = "0ciab5mxqli299x084cig8vrlxsirzjvqxzmvk6pz0jf4g8jl797";
+      name = "ksirk-15.11.80.tar.xz";
+    };
+  };
+  ksnakeduel = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ksnakeduel-15.11.80.tar.xz";
+      sha256 = "1p0fcjm06a9klb9hrclxs5jskflfb5c3ix7w3b23ql1798nml4f3";
+      name = "ksnakeduel-15.11.80.tar.xz";
+    };
+  };
+  kspaceduel = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kspaceduel-15.11.80.tar.xz";
+      sha256 = "116bjbp5771p6plvamd8iybnj3cx2xi07qhrd2ky8jbxrbbzvmya";
+      name = "kspaceduel-15.11.80.tar.xz";
+    };
+  };
+  ksquares = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ksquares-15.11.80.tar.xz";
+      sha256 = "0k3h1r5h8bdvs7sk39nh371pdibgl8xmgp3w0xj95q3ya6587zqg";
+      name = "ksquares-15.11.80.tar.xz";
+    };
+  };
+  kstars = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kstars-15.11.80.tar.xz";
+      sha256 = "1djzvsk91hpxlnmymn1148lr9kdyvwsn2krfrs8wg3f2wy20shjr";
+      name = "kstars-15.11.80.tar.xz";
+    };
+  };
+  ksudoku = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ksudoku-15.11.80.tar.xz";
+      sha256 = "0cv9ax2iarz5fy46jp53sgmqw58maasnmp8zky8sm0xz4slphcmq";
+      name = "ksudoku-15.11.80.tar.xz";
+    };
+  };
+  ksystemlog = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ksystemlog-15.11.80.tar.xz";
+      sha256 = "0iah8676h10y5dlw4n9qxy0kxp7n7wzwkvkgvmxzapzvxly2jpdl";
+      name = "ksystemlog-15.11.80.tar.xz";
+    };
+  };
+  kteatime = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kteatime-15.11.80.tar.xz";
+      sha256 = "0ylkhi0i3w7m4jn3bdvnq0wvamj546mk4dggd4ivkwbbf1csbwi2";
+      name = "kteatime-15.11.80.tar.xz";
+    };
+  };
+  ktimer = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktimer-15.11.80.tar.xz";
+      sha256 = "0jv5xzpczwz6mrp2dpynq5bfa90my6pdrndjrz7qa09g9zi9k0wk";
+      name = "ktimer-15.11.80.tar.xz";
+    };
+  };
+  ktnef = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktnef-15.11.80.tar.xz";
+      sha256 = "0s1x877vrzhjyxvm317i0xyc589awkfgyq6cp3yjr3sdyb21bklr";
+      name = "ktnef-15.11.80.tar.xz";
+    };
+  };
+  ktouch = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktouch-15.11.80.tar.xz";
+      sha256 = "1ys3flgmwqryvk39b8405gf2v8qdj9prz7iz9kx0ncb353fz1fd0";
+      name = "ktouch-15.11.80.tar.xz";
+    };
+  };
+  ktp-accounts-kcm = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-accounts-kcm-15.11.80.tar.xz";
+      sha256 = "0kdc96lxzyp7gc9iva6q0dawcw1naw0rdzmcvr254dvk5pwz8wcq";
+      name = "ktp-accounts-kcm-15.11.80.tar.xz";
+    };
+  };
+  ktp-approver = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-approver-15.11.80.tar.xz";
+      sha256 = "03f39h4ppwy92w18wn2n4m5gwiryahj49nmbcsfhvha0va0892fa";
+      name = "ktp-approver-15.11.80.tar.xz";
+    };
+  };
+  ktp-auth-handler = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-auth-handler-15.11.80.tar.xz";
+      sha256 = "0wcz1wjz2r3r86cfvp2wyfcbnvar0alyil7zv8hizzyickwsb3y7";
+      name = "ktp-auth-handler-15.11.80.tar.xz";
+    };
+  };
+  ktp-common-internals = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-common-internals-15.11.80.tar.xz";
+      sha256 = "1gq6mpa0mrfyiv9kiyy39fh28xvwj9vivn3p8nhx5zmai37l5ds4";
+      name = "ktp-common-internals-15.11.80.tar.xz";
+    };
+  };
+  ktp-contact-list = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-contact-list-15.11.80.tar.xz";
+      sha256 = "14az86dv3jmb5x26vgn2wqnys77nz9rjscp6n6hvpqcyp6g5h075";
+      name = "ktp-contact-list-15.11.80.tar.xz";
+    };
+  };
+  ktp-contact-runner = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-contact-runner-15.11.80.tar.xz";
+      sha256 = "0qp7mgn46favlz1a9xv9rv4pbykmc5m5csv3mbrq6pndpihdfbxq";
+      name = "ktp-contact-runner-15.11.80.tar.xz";
+    };
+  };
+  ktp-desktop-applets = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-desktop-applets-15.11.80.tar.xz";
+      sha256 = "1l6z58g0p5xlc0l9z9xgkw3sv7jx4kdwp8jpx1v8m513r8szfwgg";
+      name = "ktp-desktop-applets-15.11.80.tar.xz";
+    };
+  };
+  ktp-filetransfer-handler = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-filetransfer-handler-15.11.80.tar.xz";
+      sha256 = "019h5q83593yg2mgknv8yzfq3bl2vjfkf0dwv7mb6ykf6bsb9630";
+      name = "ktp-filetransfer-handler-15.11.80.tar.xz";
+    };
+  };
+  ktp-kded-module = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-kded-module-15.11.80.tar.xz";
+      sha256 = "1mf9mya8r6lrmbr26pdp9d7hdp1irsba46zlr859hjl6pqa10i3b";
+      name = "ktp-kded-module-15.11.80.tar.xz";
+    };
+  };
+  ktp-send-file = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-send-file-15.11.80.tar.xz";
+      sha256 = "1d265x89854xvxdxqa9z37r6m13kiplawkxq5l4cy5hlwmvp3ivm";
+      name = "ktp-send-file-15.11.80.tar.xz";
+    };
+  };
+  ktp-text-ui = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktp-text-ui-15.11.80.tar.xz";
+      sha256 = "0mixwwqwx4z8m0kaj0wfn5zczq08w18ascl9r78mvx6p1946m86q";
+      name = "ktp-text-ui-15.11.80.tar.xz";
+    };
+  };
+  ktuberling = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/ktuberling-15.11.80.tar.xz";
+      sha256 = "1gpsimdx0l9ml9f8nfqbqm2jmj60w3bni1s23iyc62b96pazx9a4";
+      name = "ktuberling-15.11.80.tar.xz";
+    };
+  };
+  kturtle = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kturtle-15.11.80.tar.xz";
+      sha256 = "13z9rsk0ikg1q312wkag8njgw5921nhfmd57bdfa6p0w971wndm4";
+      name = "kturtle-15.11.80.tar.xz";
+    };
+  };
+  kubrick = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kubrick-15.11.80.tar.xz";
+      sha256 = "11kccqc8vs6cvwzabq80bwyn4f1qypln807m7xx5g3p07qzplc28";
+      name = "kubrick-15.11.80.tar.xz";
+    };
+  };
+  kuser = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kuser-15.11.80.tar.xz";
+      sha256 = "0ima6v48i0cd1kizadla6zm40hdmdp3b4phq8lmai1vqhy9890h8";
+      name = "kuser-15.11.80.tar.xz";
+    };
+  };
+  kwalletmanager = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kwalletmanager-15.11.80.tar.xz";
+      sha256 = "1fg9qjlb12wnxrdz9f6yvvs4ybwwwp3n73nsmq6igms2rw00ixaf";
+      name = "kwalletmanager-15.11.80.tar.xz";
+    };
+  };
+  kwordquiz = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/kwordquiz-15.11.80.tar.xz";
+      sha256 = "00pv1q2d0ccihwbvsk51hblzc2vvnw81lrla7a77bdgk266b2q3c";
+      name = "kwordquiz-15.11.80.tar.xz";
+    };
+  };
+  libkcddb = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkcddb-15.11.80.tar.xz";
+      sha256 = "0dm8vi0h84zm84jjqrlgpc5n8shwlipd3dmm3ndl31jx3wmm4cca";
+      name = "libkcddb-15.11.80.tar.xz";
+    };
+  };
+  libkcompactdisc = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkcompactdisc-15.11.80.tar.xz";
+      sha256 = "0q6yvjzjlkc5pmjqrxphk4n7va6hcr903vkamvnbhn559qv3j11x";
+      name = "libkcompactdisc-15.11.80.tar.xz";
+    };
+  };
+  libkdcraw = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkdcraw-15.11.80.tar.xz";
+      sha256 = "1s7cz3wh4066wyixbzvczba94v5fizwmcnl6waazgnabr8djy75r";
+      name = "libkdcraw-15.11.80.tar.xz";
+    };
+  };
+  libkdeedu = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkdeedu-15.11.80.tar.xz";
+      sha256 = "0xmfv692x6s6c350l324mi69512sbmqscx26hv3827sm02lxi3nj";
+      name = "libkdeedu-15.11.80.tar.xz";
+    };
+  };
+  libkdegames = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkdegames-15.11.80.tar.xz";
+      sha256 = "1pkl30ijnbmzc8gs1ib5l7qvmnb2a59smakaipji2n6pcik5xdi5";
+      name = "libkdegames-15.11.80.tar.xz";
+    };
+  };
+  libkeduvocdocument = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkeduvocdocument-15.11.80.tar.xz";
+      sha256 = "0p7mbw5xm7ywrz36rs8xpcnjm4w844jgjcciv0r4qwbpvcxm38kh";
+      name = "libkeduvocdocument-15.11.80.tar.xz";
+    };
+  };
+  libkexiv2 = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkexiv2-15.11.80.tar.xz";
+      sha256 = "0pis24db80l9w62v6axy9137rdgpsdlfrzf9k3yi63x0qs037k5c";
+      name = "libkexiv2-15.11.80.tar.xz";
+    };
+  };
+  libkface = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkface-15.11.80.tar.xz";
+      sha256 = "0mr52fn3j71y0qaxn4wdz7lrk8ylmlj965jvilgzpnf97jdhy8bc";
+      name = "libkface-15.11.80.tar.xz";
+    };
+  };
+  libkgeomap = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkgeomap-15.11.80.tar.xz";
+      sha256 = "1nwzakm5njilqpa7fslgz4gcy02b1kzhnrckm867qavn8qmy0j56";
+      name = "libkgeomap-15.11.80.tar.xz";
+    };
+  };
+  libkipi = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkipi-15.11.80.tar.xz";
+      sha256 = "1qmpbrmpm8hbrfwjihpg3gks177cvwc99rmb9bvphi2q8xg49xzn";
+      name = "libkipi-15.11.80.tar.xz";
+    };
+  };
+  libkmahjongg = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkmahjongg-15.11.80.tar.xz";
+      sha256 = "192az0z4hwqcn8j02g17fxc44blv615vn345svrxbmxinr1cc18q";
+      name = "libkmahjongg-15.11.80.tar.xz";
+    };
+  };
+  libkomparediff2 = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libkomparediff2-15.11.80.tar.xz";
+      sha256 = "1zv6y7j4dna6m51xqs0i3sjd3xxy7bqb8jwrqpjls2fy4x55cnv2";
+      name = "libkomparediff2-15.11.80.tar.xz";
+    };
+  };
+  libksane = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/libksane-15.11.80.tar.xz";
+      sha256 = "1ljqv14x29pqzm7nd7rg3p447q188m1266b2sgvyrpvgg340ynrp";
+      name = "libksane-15.11.80.tar.xz";
+    };
+  };
+  lokalize = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/lokalize-15.11.80.tar.xz";
+      sha256 = "0n6mg6r3hlm9m19kbw2nrfimjhvf23l33wcfwdb66hq05z5fqacz";
+      name = "lokalize-15.11.80.tar.xz";
+    };
+  };
+  lskat = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/lskat-15.11.80.tar.xz";
+      sha256 = "0c30dcsydvzc469gxbv0y0g1v9mg745ajng18sv9jrsgrc9594vv";
+      name = "lskat-15.11.80.tar.xz";
+    };
+  };
+  marble = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/marble-15.11.80.tar.xz";
+      sha256 = "1ks031ypb4himg0jiw1vql0isli1hyaz7kmagvby4il7cw4gdgf3";
+      name = "marble-15.11.80.tar.xz";
+    };
+  };
+  mplayerthumbs = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/mplayerthumbs-15.11.80.tar.xz";
+      sha256 = "0snn5jmpsyczxxyfp5ka5mkymldy7pjb2jqjc092aci6w1mmkvsd";
+      name = "mplayerthumbs-15.11.80.tar.xz";
+    };
+  };
+  okteta = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/okteta-15.11.80.tar.xz";
+      sha256 = "06334p934fyajaqg7pz8wqyzcmghymhanfnyz6y1cqaqrkf16n0s";
+      name = "okteta-15.11.80.tar.xz";
+    };
+  };
+  okular = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/okular-15.11.80.tar.xz";
+      sha256 = "0ny8r7shnl7qjdzb0m9rmcq3y7scpfycxz7rcxv8x52v0vqkqgh8";
+      name = "okular-15.11.80.tar.xz";
+    };
+  };
+  palapeli = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/palapeli-15.11.80.tar.xz";
+      sha256 = "02w0m3piw15x0bmkh6ap6il13yj5r0kszwrq47k6ildl96a0zbdd";
+      name = "palapeli-15.11.80.tar.xz";
+    };
+  };
+  parley = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/parley-15.11.80.tar.xz";
+      sha256 = "06na0w14f5r322ybn38qal57arrjv3brlbmlb4bw196467cw773i";
+      name = "parley-15.11.80.tar.xz";
+    };
+  };
+  picmi = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/picmi-15.11.80.tar.xz";
+      sha256 = "1m5b0ziz0pa7j5awis78brx1dsp8rwpg08lbkjvr09l20xb0n0mj";
+      name = "picmi-15.11.80.tar.xz";
+    };
+  };
+  poxml = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/poxml-15.11.80.tar.xz";
+      sha256 = "1p7h7q0dgynyd1187bgavfbpgn2g8km8rf8gzwya7wn8nz152xff";
+      name = "poxml-15.11.80.tar.xz";
+    };
+  };
+  print-manager = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/print-manager-15.11.80.tar.xz";
+      sha256 = "102h4h4qk0hnkak1sh5bmbvhnrr2bhrsqs45j1zyql0na63b5gy1";
+      name = "print-manager-15.11.80.tar.xz";
+    };
+  };
+  rocs = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/rocs-15.11.80.tar.xz";
+      sha256 = "0i05lsvzbcsxqr70a2xsdgq6j5xcbm54g4jw0ifh3jvpr0yrmgb4";
+      name = "rocs-15.11.80.tar.xz";
+    };
+  };
+  signon-kwallet-extension = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/signon-kwallet-extension-15.11.80.tar.xz";
+      sha256 = "0crq69px0gbcw7h6bgbjad35djh3lm9jniblj6avkz8plj0j16z5";
+      name = "signon-kwallet-extension-15.11.80.tar.xz";
+    };
+  };
+  spectacle = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/spectacle-15.11.80.tar.xz";
+      sha256 = "1p39qxr67iy6lda2j9ar0aq1sg29gp9ds29aqbs3rx9m56rn8h6q";
+      name = "spectacle-15.11.80.tar.xz";
+    };
+  };
+  step = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/step-15.11.80.tar.xz";
+      sha256 = "0ggm9rqzjw1aljhmxnc6n428zkp0c1ik3lldaxi576z5ipvvgwnd";
+      name = "step-15.11.80.tar.xz";
+    };
+  };
+  svgpart = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/svgpart-15.11.80.tar.xz";
+      sha256 = "0fq69li2z2nqj0xrsd010d9gfpc39r8k5fxbzlfravi12big0yhk";
+      name = "svgpart-15.11.80.tar.xz";
+    };
+  };
+  sweeper = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/sweeper-15.11.80.tar.xz";
+      sha256 = "1yw1f1j2qzzpqzr3iz0fyi8kmd369i94gx0njv2iqm1jakk1hqfc";
+      name = "sweeper-15.11.80.tar.xz";
+    };
+  };
+  syndication = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/syndication-15.11.80.tar.xz";
+      sha256 = "06y5wz7asa4f1a7j7arhggwyv5cikn52d0h38ybxa9vjcmkn5nw5";
+      name = "syndication-15.11.80.tar.xz";
+    };
+  };
+  umbrello = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/umbrello-15.11.80.tar.xz";
+      sha256 = "1kpag8f6r3cfp77z8lb8hbpq2djqg718bs6hs8wi99y2zy85xwr6";
+      name = "umbrello-15.11.80.tar.xz";
+    };
+  };
+  zeroconf-ioslave = {
+    version = "15.11.80";
+    src = fetchurl {
+      url = "${mirror}/unstable/applications/15.11.80/src/zeroconf-ioslave-15.11.80.tar.xz";
+      sha256 = "1kpahrs8p9l52hgkm3whryvwcbw9fzn4l4yxq93ijzac0m8gpqwr";
+      name = "zeroconf-ioslave-15.11.80.tar.xz";
+    };
+  };
+}
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 6bd176d73577..f394b6e8105e 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/kovidgoyal/calibre/releases/download/v${meta.version}/${name}.tar.xz";
-    sha256 = "0d1sn2wc6h3c5girllsmnqg3jhmkal693ww3j6cj1mz2rraw45xr";
+    sha256 = "1ffqvnjqmplcpa398809gp4d4l7nqc6k8ky255mdkabfcdvf3kk3";
   };
 
   inherit python;
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    version = "2.44.0";
+    version = "2.44.1";
     description = "Comprehensive e-book software";
     homepage = http://calibre-ebook.com;
     license = licenses.gpl3;
diff --git a/pkgs/applications/misc/dmenu2/default.nix b/pkgs/applications/misc/dmenu2/default.nix
index 54aec8606cd4..9dca8f983a4b 100644
--- a/pkgs/applications/misc/dmenu2/default.nix
+++ b/pkgs/applications/misc/dmenu2/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
       homepage = https://bitbucket.org/melek/dmenu2;
       license = stdenv.lib.licenses.mit;
       maintainers = with maintainers; [ cstrahan ];
-      platforms = with platforms; all;
+      platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index d81061f32072..061a10c6a9f2 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     description = "Zoomable User Interface";
     license = licenses.gpl3;
     maintainers = with maintainers; [ viric ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
     hydraPlatforms = [];
   };
 }
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 4ac4c93471e9..1b2e518c5a76 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   name = "electrum-${version}";
-  version = "2.5.1";
+  version = "2.5.4";
 
   src = fetchurl {
-    url = "https://download.electrum.org/Electrum-${version}.tar.gz";
-    sha256 = "0wjqf2ifw1ww6iyj0h0i63zjmy0yhmzl91sgc5hc4j2x5bd2c3am";
+    url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
+    sha256 = "18saa2rg07vfp9scp3i8s0wi2pqw9s8l8b44gq43zzl41120zc60";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
new file mode 100644
index 000000000000..8c4fa09a214e
--- /dev/null
+++ b/pkgs/applications/misc/emem/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, jdk }:
+
+stdenv.mkDerivation rec {
+  pname = "emem";
+  version = "0.2.11";
+  name = "${pname}-${version}";
+
+  inherit jdk;
+
+  src = fetchurl {
+    url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
+    sha256 = "0b514nc1s5jff3586jmfx9js57j7hl8zdwi2jxlwiavwv46rl436";
+  };
+
+  buildInputs = [ ];
+
+  phases = [ "buildPhase" "installPhase" ];
+
+  buildPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/java
+  '';
+
+  installPhase = ''
+    cp $src $out/share/java
+
+    cat > $out/bin/emem <<EOF
+#! $SHELL
+$jdk/bin/java -jar $out/share/java/$(basename $src) "\$@"
+EOF
+
+    chmod +x $out/bin/emem
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ebzzry/emem;
+    description = "A trivial Markdown to HTML converter";
+    license = licenses.epl10;
+    maintainers = [ maintainers.ebzzry ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/finalterm/default.nix b/pkgs/applications/misc/finalterm/default.nix
index c8e8bb01e5d6..2cb22cd62fc8 100644
--- a/pkgs/applications/misc/finalterm/default.nix
+++ b/pkgs/applications/misc/finalterm/default.nix
@@ -58,6 +58,6 @@ stdenv.mkDerivation {
     '';
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ cstrahan ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/gphotofs.nix b/pkgs/applications/misc/gphoto2/gphotofs.nix
index 1e6d924b63a5..230e0ff74142 100644
--- a/pkgs/applications/misc/gphoto2/gphotofs.nix
+++ b/pkgs/applications/misc/gphoto2/gphotofs.nix
@@ -1,33 +1,22 @@
-a @ { libgphoto2, fuse, pkgconfig, glib, libtool, ... } :
-let
-  fetchurl = a.fetchurl;
-  s = import ./src-info-for-gphotofs.nix;
+{ stdenv, fetchurl, libtool, pkgconfig, libgphoto2, fuse, glib }:
 
-  version = a.lib.attrByPath ["version"] s.version a;
-  buildInputs = with a; [
-    libgphoto2 fuse pkgconfig glib libtool
-  ];
-in
-rec {
+stdenv.mkDerivation rec {
+  name = "gphoto2fs-${version}";
+  version = "0.5.0";
   src = fetchurl {
-    url = s.url;
-    sha256 = s.hash;
+    url="mirror://sourceforge/gphoto/gphotofs/${version}/gphotofs-0.5.tar.bz2";
+    sha256 = "1k23ncbsbh64r7kz050bg31jqamchyswgg9izhzij758d7gc8vk7";
   };
 
-  inherit buildInputs;
-  configureFlags = [];
-
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  buildInputs = [
+    libgphoto2 fuse pkgconfig glib libtool
+  ];
 
-  name = "gphoto2fs-" + version;
   meta = {
     description = "Fuse FS to mount a digital camera";
     maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = [
-      "i686-linux" "x86_64-linux"
+      stdenv.lib.maintainers.raskin
     ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/src-info-for-gphotofs.nix b/pkgs/applications/misc/gphoto2/src-info-for-gphotofs.nix
deleted file mode 100644
index 1a4cceb6279b..000000000000
--- a/pkgs/applications/misc/gphoto2/src-info-for-gphotofs.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-rec {
-  advertisedUrl="mirror://sourceforge/gphoto/gphotofs/0.5.0/gphotofs-0.5.tar.bz2";
-  version = "0.5.0";
-  url="mirror://sourceforge/gphoto/gphotofs/0.5.0/gphotofs-0.5.tar.bz2";
-  hash = "1k23ncbsbh64r7kz050bg31jqamchyswgg9izhzij758d7gc8vk7";
-}
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 0625219c2762..90de624c733f 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -20,7 +20,12 @@ stdenv.mkDerivation rec {
     But FOP isn't packaged yet.  */
 
   preConfigure = "cd gpsbabel";
-  configureFlags = [ "--with-zlib=system" ];
+  configureFlags = [ "--with-zlib=system" ]
+    # Floating point behavior on i686 causes test failures. Preventing
+    # extended precision fixes this problem.
+    ++ stdenv.lib.optional stdenv.isi686 "CXXFLAGS=-ffloat-store";
+
+  enableParallelBuilding = true;
 
   doCheck = true;
   preCheck = ''
diff --git a/pkgs/applications/misc/keybase/default.nix b/pkgs/applications/misc/keybase/default.nix
index dea0e9062df6..bead4e82571c 100644
--- a/pkgs/applications/misc/keybase/default.nix
+++ b/pkgs/applications/misc/keybase/default.nix
@@ -32,6 +32,6 @@ in nodePackages.buildNodePackage rec {
     license = licenses.mit;
     homepage = https://keybase.io/docs/command_line;
     maintainers = with maintainers; [manveru];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index e1807b3aff94..a2fdd33747b4 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -2,15 +2,17 @@
 , libX11, libXext }:
 
 stdenv.mkDerivation rec {
-  version = "1.7";
+  version = "1.8";
   name = "mupdf-${version}";
 
   src = fetchurl {
     url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
-    sha256 = "0hjn1ywxhblqgj63qkp8x7qqjnwsgid3viw8az5i2i26dijmrgfh";
+    sha256 = "01n26cy41lc2fjri63s4js23ixxb4nd37aafry3hz4i4id6wd8x2";
   };
 
-  buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ openjpeg libjpeg jbig2dec ];
+  buildInputs = [ zlib freetype libX11 libXext ];
 
   enableParallelBuilding = true;
 
@@ -45,7 +47,7 @@ stdenv.mkDerivation rec {
     Name: mupdf
     Description: Library for rendering PDF documents
     Requires: freetype2 libopenjp2 libcrypto
-    Version: 1.3
+    Version: ${version}
     Libs: -L$out/lib -lmupdf
     Cflags: -I$out/include
     EOF
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index a2cffdef58b3..9e908b5a2db0 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee, poppler
-, libpthreadstubs, gstreamer, gst-plugins-base, librsvg }:
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee
+, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "pdfpc";
-  version = "4.0.0";
+  version = "4.0.1";
 
-  src = fetchurl {
-    url = "https://github.com/pdfpc/pdfpc/releases/download/v${version}/${product}-v${version}.tar.gz";
-    sha256 = "0qksci11pgvabfdnynkpj2av0iww8m9m41a0vwsqgvg3yiacb4f0";
+  src = fetchFromGitHub {
+    repo = "pdfpc";
+    owner = "pdfpc";
+    rev = "v${version}";
+    sha256 = "06m30xz9jzfj6ljnsgqqg1myj13nqpc7ria9wr8aa62kp4n7bcfp";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix
index 39cd5530bf48..3c6d3ed36cef 100644
--- a/pkgs/applications/misc/qtpass/default.nix
+++ b/pkgs/applications/misc/qtpass/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "qtpass-${version}";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchurl {
     url = "https://github.com/IJHack/qtpass/archive/v${version}.tar.gz";
-    sha256 = "c6bcb1792f22c48844b49c5bd05f3bf5c1c2ebad249246797a273383c9f08f8c";
+    sha256 = "0c07bd1eb9e5336c0225f891e5b9a9df103f218619cf7ec6311edf654e8db281";
   };
 
-  buildInputs = [ git gnupg makeWrapper pass qt5.base ];
+  buildInputs = [ git gnupg makeWrapper pass qt5.base qt5.tools ];
 
   configurePhase = "qmake CONFIG+=release PREFIX=$out DESTDIR=$out";
 
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index c6bc87ce13d4..5fcb028f0cd9 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, python, fetchurl }:
+{ stdenv, fetchurl, buildPythonPackage, python, w3m }:
 
 buildPythonPackage rec {
   name = "ranger-1.7.1";
@@ -17,4 +17,14 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = with python.modules; [ curses ];
+
+  preConfigure = ''
+    substituteInPlace ranger/ext/img_display.py \
+      --replace /usr/lib/w3m ${w3m}/libexec/w3m
+
+    for i in ranger/config/rc.conf doc/config/rc.conf ; do
+      substituteInPlace $i --replace /usr/share $out/share
+    done
+  '';
+
 }
diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix
index 37a664a49185..f67797fbe86b 100644
--- a/pkgs/applications/misc/rtv/default.nix
+++ b/pkgs/applications/misc/rtv/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, fetchFromGitHub, pkgs, python, pythonPackages }:
+{ stdenv, fetchFromGitHub, pkgs, lib, python, pythonPackages }:
 
 pythonPackages.buildPythonPackage rec {
-  version = "1.4.2";
+  version = "1.6.1";
   name = "rtv-${version}";
 
   src = fetchFromGitHub {
     owner = "michael-lazar";
     repo = "rtv";
     rev = "v${version}";
-    sha256 = "103ahwaaghxpih5bkbzqyqgxqmx6kc859vjla8fy8scg21cijghh";
+    sha256 = "0ywx4h37b25w36vln2ydpw73ysbbkpibp597cghsfn2izlaa0i02";
   };
 
   propagatedBuildInputs = with pythonPackages; [
-    requests
+    tornado
+    requests2
     six
     praw
     kitchen
     python.modules.curses
-  ];
+  ] ++ lib.optional (!pythonPackages.isPy3k) futures;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/michael-lazar/rtv;
     description = "Browse Reddit from your Terminal";
     license = licenses.mit;
diff --git a/pkgs/applications/misc/sent/default.nix b/pkgs/applications/misc/sent/default.nix
new file mode 100644
index 000000000000..9e07c0dd4c88
--- /dev/null
+++ b/pkgs/applications/misc/sent/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libpng, libX11, libXft }:
+
+stdenv.mkDerivation rec {
+  name = "sent-0.2";
+
+  src = fetchurl {
+    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    sha256 = "0xhh752hwaa26k4q6wvrb9jnpbnylss2aw6z11j7l9rav7wn3fak";
+  };
+
+  buildInputs = [ libpng libX11 libXft ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "A simple plaintext presentation tool";
+    homepage = http://tools.suckless.org/sent/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix
index 01f55498f806..46500077a082 100644
--- a/pkgs/applications/misc/spacefm/default.nix
+++ b/pkgs/applications/misc/spacefm/default.nix
@@ -1,12 +1,16 @@
-{ pkgs, fetchurl, stdenv, gtk3, udev, desktop_file_utils, shared_mime_info , intltool, pkgconfig, makeWrapper, ffmpegthumbnailer, jmtpfs, ifuse, lsof, udisks, hicolor_icon_theme, adwaita-icon-theme }:
+{ pkgs, fetchFromGitHub, stdenv, gtk3, udev, desktop_file_utils, shared_mime_info
+, intltool, pkgconfig, wrapGAppsHook, ffmpegthumbnailer, jmtpfs, ifuse, lsof, udisks
+, hicolor_icon_theme, adwaita-icon-theme }:
 
 stdenv.mkDerivation rec {
   name = "spacefm-${version}";
-  version = "1.0.1";
+  version = "1.0.4";
 
-  src = fetchurl {
-    url = "https://github.com/IgnorantGuru/spacefm/archive/${version}.tar.gz";
-    sha256 = "0mps6akwzr4mkljgywpimwgqf6ajnd7gq615877h20wyjf4h46vz";
+  src = fetchFromGitHub {
+    owner = "IgnorantGuru";
+    repo = "spacefm";
+    rev = "${version}";
+    sha256 = "1jywsb5yjrq4w9m94m4mbww36npd1jk6s0b59liz6965hv3xp2sy";
   };
 
   configureFlags = [
@@ -14,23 +18,22 @@ stdenv.mkDerivation rec {
     "--with-preferable-sudo=${pkgs.sudo}/bin/sudo"
   ];
 
-  buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig makeWrapper ffmpegthumbnailer jmtpfs ifuse lsof udisks ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/spacefm" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  preConfigure = ''
+    configureFlags="$configureFlags --sysconfdir=$out/etc"
   '';
 
+  buildInputs = [ gtk3 udev desktop_file_utils shared_mime_info intltool pkgconfig wrapGAppsHook ffmpegthumbnailer jmtpfs ifuse lsof udisks ];
+
   meta = with stdenv.lib;  {
     description = "A multi-panel tabbed file manager";
-    longDescription = "Multi-panel tabbed file and desktop manager for Linux
+    longDescription = ''
+      Multi-panel tabbed file and desktop manager for Linux
       with built-in VFS, udev- or HAL-based device manager,
       customizable menu system, and bash integration
-    ";
+    '';
     homepage = http://ignorantguru.github.io/spacefm/;
     platforms = platforms.linux;
     license = licenses.gpl3;
-    maintainers = [ maintainers.jagajaga ];
+    maintainers = with maintainers; [ jagajaga obadz ];
   };
-
 }
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix
index 1ef8f697aeee..234e8b6ba694 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/misc/st/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage = http://st.suckless.org/;
     license = stdenv.lib.licenses.mit;
     maintainers = with maintainers; [viric];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix
index 2afebec9ee36..dad05d8adb1a 100644
--- a/pkgs/applications/misc/terminal-notifier/default.nix
+++ b/pkgs/applications/misc/terminal-notifier/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     maintainers = with maintainers; [ cstrahan ];
-    platforms   = with platforms; darwin;
+    platforms   = platforms.darwin;
   };
 }
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 48b177120fb6..ad5993cf5819 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, lib, fetchgit, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, openjpeg, libjpeg, jbig2dec }:
+{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl }:
 
 stdenv.mkDerivation rec {
-  version = "0.2.7";
+  version = "0.2.8";
   name = "zathura-pdf-mupdf-${version}";
 
-  src = fetchgit {
-    url = "https://git.pwmt.org/zathura-pdf-mupdf.git";
-    rev = "99bff723291f5aa2558e5c8b475f496025105f4a";
-    sha256 = "14mfp116a8dmazss3dcipvjs6dclazp36vsbcc53lr8lal5ccfnf";
+  src = fetchurl {
+    url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/${name}.tar.gz";
+    sha256 = "0439ls8xqnq6hqa53hd0wqxh1qf0xmccfi3pb0m4mlfs5iv952wz";
   };
 
-  buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf openjpeg libjpeg jbig2dec ];
+  buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf ];
 
-  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
 
   patches = [
     ./config.patch
diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix
index 007c49b2733b..8ade601d4840 100644
--- a/pkgs/applications/networking/browsers/conkeror/default.nix
+++ b/pkgs/applications/networking/browsers/conkeror/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation {
     homepage = http://conkeror.org/;
     license = with licenses; [ mpl11 gpl2 lgpl21 ];
     maintainers = with maintainers; [ astsmtl chaoflow ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 336c727ea151..28d342384d7e 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/${version}/${source.arch}/${source.locale}/firefox-${version}.tar.bz2";
-    inherit (source) sha1;
+    inherit (source) sha256;
   };
 
   phases = "unpackPhase installPhase";
diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
index b7627e52068d..c4e140412881 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
+++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb
@@ -1,6 +1,4 @@
-# TODO share code with thunderbird-bin/generate_sources.rb
-
-require "open-uri"
+# TODO share code with thunderbird-bin/generate_nix.rb
 
 version = if ARGV.empty?
             "latest"
@@ -8,38 +6,58 @@ version = if ARGV.empty?
             ARGV[0]
           end
 
-base_path = "http://archive.mozilla.org/pub/firefox/releases"
+base_path = "archive.mozilla.org/pub/firefox/releases"
 
-Source = Struct.new(:hash, :arch, :locale, :filename)
+arches = ["linux-i686", "linux-x86_64"]
 
-sources = open("#{base_path}/#{version}/SHA1SUMS") do |input|
-  input.readlines
-end.select do |line|
-  /\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line)
-end.map do |line|
-  hash, name = line.chomp.split(/ +/)
-  Source.new(hash, *(name.split("/")))
-end.sort_by do |source|
-  [source.locale, source.arch]
+arches.each do |arch|
+  system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
 end
 
-real_version = sources[0].filename.match(/firefox-([0-9.]*)\.tar\.bz2/)[1]
+locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
+  File.basename(path)
+end.sort
+
+locales.delete("index.html")
+locales.delete("xpi")
+
+# real version number, e.g. "30.0" instead of "latest".
+real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/firefox-*")[0].match(/firefox-([0-9.]*)/)[1][0..-2]
+
+locale_arch_path_tuples = locales.flat_map do |locale|
+  arches.map do |arch|
+    path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/firefox-*")[0]
+
+    [locale, arch, path]
+  end
+end
+
+paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
+
+hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
+  input.each_line.map do |line|
+    $stderr.puts(line)
+
+    line.match(/^[0-9a-f]*/)[0]
+  end
+end
 
-arches = ["linux-i686", "linux-x86_64"]
 
 puts(<<"EOH")
-# This file is generated from generate_nix.rb. DO NOT EDIT.
+# This file is generated from generate_sources.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
-# ruby generate_source.rb > source.nix
+# ruby generate_sources.rb > sources.nix
 
 {
   version = "#{real_version}";
   sources = [
 EOH
 
-sources.each do |source|
-  puts(%Q|    { locale = "#{source.locale}"; arch = "#{source.arch}"; sha1 = "#{source.hash}"; }|)
+locale_arch_path_tuples.zip(hashes) do |tuple, hash|
+  locale, arch, path = tuple
+
+  puts(%Q|    { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
 end
 
 puts(<<'EOF')
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 2008822fddc7..acbcd0757976 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -1,188 +1,188 @@
-# This file is generated from generate_nix.rb. DO NOT EDIT.
+# This file is generated from generate_sources.rb. DO NOT EDIT.
 # Execute the following command in a temporary directory to update the file.
 #
-# ruby generate_source.rb > source.nix
+# ruby generate_sources.rb > sources.nix
 
 {
-  version = "41.0.2";
+  version = "42.0";
   sources = [
-    { locale = "ach"; arch = "linux-i686"; sha1 = "f28f6b40891d3e2626c752e94cb671bcd16cf09c"; }
-    { locale = "ach"; arch = "linux-x86_64"; sha1 = "b09ff7642423f0c94cd0acea890618dbb986b30a"; }
-    { locale = "af"; arch = "linux-i686"; sha1 = "98f6805e3fad98b1ff0ae260318566b279748927"; }
-    { locale = "af"; arch = "linux-x86_64"; sha1 = "1297fe1d68644b30d72f74010b4e93cb705ce084"; }
-    { locale = "an"; arch = "linux-i686"; sha1 = "0b9bf558713e7172aa1d6082b2ee706772dd7f50"; }
-    { locale = "an"; arch = "linux-x86_64"; sha1 = "e1a041106bb1e823359cc8aba5d6774e5622c065"; }
-    { locale = "ar"; arch = "linux-i686"; sha1 = "7dc31eb10e280c847b003167cba3566c7566eb8f"; }
-    { locale = "ar"; arch = "linux-x86_64"; sha1 = "2ac37f86880230b589bede4326f3a9fc51dc04a6"; }
-    { locale = "as"; arch = "linux-i686"; sha1 = "7157ef7c0cddaf2b5203134dd1a9c59257ba4e7b"; }
-    { locale = "as"; arch = "linux-x86_64"; sha1 = "2f8f4e33a321dc1a5f2ccf6c12ab564ef47c1351"; }
-    { locale = "ast"; arch = "linux-i686"; sha1 = "517d6cea54258e6f37534b7c59b00633e50264ba"; }
-    { locale = "ast"; arch = "linux-x86_64"; sha1 = "de74737e383ef9eb33ba9894bead1249d5bdfa17"; }
-    { locale = "az"; arch = "linux-i686"; sha1 = "2cb8468902daf4237ec3a307d89523db08256c17"; }
-    { locale = "az"; arch = "linux-x86_64"; sha1 = "26556ef189be09392a6dc2f057ab2eb78f1b86d8"; }
-    { locale = "be"; arch = "linux-i686"; sha1 = "c27213ffcd4718d5669dfca004ec3517264d1181"; }
-    { locale = "be"; arch = "linux-x86_64"; sha1 = "5c50b0b407268161ebaa1a6a1cdc67b4c66ac387"; }
-    { locale = "bg"; arch = "linux-i686"; sha1 = "6d8af51f1278731da288ef3638687a31fbc77335"; }
-    { locale = "bg"; arch = "linux-x86_64"; sha1 = "cd697af203a4c82afe06271059ba03ff01d81606"; }
-    { locale = "bn-BD"; arch = "linux-i686"; sha1 = "1b24d5641b50a2f22e72429d65a2c3bb266fb534"; }
-    { locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "e470a6bc6b82c3145bc074b0a8f3b9bfff9bb219"; }
-    { locale = "bn-IN"; arch = "linux-i686"; sha1 = "0b2fe41d3ed5ccd9ceb941bdf72c27919258cd92"; }
-    { locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "9c0253add017c3747fc59b89561baa1e348207f6"; }
-    { locale = "br"; arch = "linux-i686"; sha1 = "ed0292dda6fc1a42d636a10bb0c45f8918e9dc18"; }
-    { locale = "br"; arch = "linux-x86_64"; sha1 = "6f3dfed52c47f940de86a42598f7df81ff33f8ca"; }
-    { locale = "bs"; arch = "linux-i686"; sha1 = "9c78bd5b4f5be28557cb0576a0faa43b674ce481"; }
-    { locale = "bs"; arch = "linux-x86_64"; sha1 = "a2d41fb95f6c8acf6cc5b1bfd0dec5bce661a2e9"; }
-    { locale = "ca"; arch = "linux-i686"; sha1 = "9e0149621e049af657f1533a2ceebeb303eea9ff"; }
-    { locale = "ca"; arch = "linux-x86_64"; sha1 = "686bf22667c5c621e2182626edc21cb549253f8e"; }
-    { locale = "cs"; arch = "linux-i686"; sha1 = "38d487b5c1193608a3c4f9e83978c34f5c70e668"; }
-    { locale = "cs"; arch = "linux-x86_64"; sha1 = "2031026f3989429b87eaba9ceef96b7b59921725"; }
-    { locale = "cy"; arch = "linux-i686"; sha1 = "27f44852ca65bb2dd61375d7d52eb4a7b30d5cbe"; }
-    { locale = "cy"; arch = "linux-x86_64"; sha1 = "148da60b7247c602082c99ae451e62261602d6c4"; }
-    { locale = "da"; arch = "linux-i686"; sha1 = "4bec4af409742393fc91ff74689ede4dc872b0c2"; }
-    { locale = "da"; arch = "linux-x86_64"; sha1 = "e7a918306d7195a97933761699b74920b9d6bd2e"; }
-    { locale = "de"; arch = "linux-i686"; sha1 = "9295267b1d2e308335166e9ceaeedb7c223c6f5c"; }
-    { locale = "de"; arch = "linux-x86_64"; sha1 = "adab84a80a4cd32be09c6a90e47f99b4428024bb"; }
-    { locale = "dsb"; arch = "linux-i686"; sha1 = "79687bd933bb08a9c789976913a5ae7d90d4ef15"; }
-    { locale = "dsb"; arch = "linux-x86_64"; sha1 = "4c307bc31606a579b007cee13d1e7bf3a14f5286"; }
-    { locale = "el"; arch = "linux-i686"; sha1 = "02d0e04554ef168b84143b78180b9280c4ce4410"; }
-    { locale = "el"; arch = "linux-x86_64"; sha1 = "8c84668f4a856a5b5bcedc694d261bbeab71dfea"; }
-    { locale = "en-GB"; arch = "linux-i686"; sha1 = "c5949c47c761ee65707877a9449cd4f9aff3a76a"; }
-    { locale = "en-GB"; arch = "linux-x86_64"; sha1 = "c9a2fb70e37861983d33b5fe0c999e6091671fc1"; }
-    { locale = "en-US"; arch = "linux-i686"; sha1 = "c6fc2b42f50ae06c7fd91823ed61d755e0356d9b"; }
-    { locale = "en-US"; arch = "linux-x86_64"; sha1 = "68664136ec20e48faa4516d6a7d48081a365d3b2"; }
-    { locale = "en-ZA"; arch = "linux-i686"; sha1 = "4393198c2b4849d840b0e9c1e5ccbf20cbc9cf79"; }
-    { locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "e533254eb720b64ca76ab3507a422e923048a7b7"; }
-    { locale = "eo"; arch = "linux-i686"; sha1 = "b4ebd01b5491c5ba159cf239783e4e5caef04690"; }
-    { locale = "eo"; arch = "linux-x86_64"; sha1 = "b25dc3f751e89e517f8cb1850ada4fdfbadf9f4a"; }
-    { locale = "es-AR"; arch = "linux-i686"; sha1 = "0839ccab9c807979f56346dc2470a56f5581ae68"; }
-    { locale = "es-AR"; arch = "linux-x86_64"; sha1 = "a82c320792f2ea05b29c5bc5ed643035d442fb95"; }
-    { locale = "es-CL"; arch = "linux-i686"; sha1 = "9d9d9261fbb51a830a10e83037b22e447ad6c27d"; }
-    { locale = "es-CL"; arch = "linux-x86_64"; sha1 = "07dee6c8bc2c980ecb8cd8cbb5a63600cf362f5f"; }
-    { locale = "es-ES"; arch = "linux-i686"; sha1 = "b01a5d91bdaade225269d3cf11d2084cfd4761cf"; }
-    { locale = "es-ES"; arch = "linux-x86_64"; sha1 = "4bfbf00ea35a78de8b090c08757f670c4627eef2"; }
-    { locale = "es-MX"; arch = "linux-i686"; sha1 = "7f23abb538237c2ee92877d8f101f4673ac0f2da"; }
-    { locale = "es-MX"; arch = "linux-x86_64"; sha1 = "cc75fba6bf1744d22aa74608bf09671b9d81506e"; }
-    { locale = "et"; arch = "linux-i686"; sha1 = "b4805599f84bbde52e46c2d171eca6107cba2aba"; }
-    { locale = "et"; arch = "linux-x86_64"; sha1 = "2893a417c825ea340c4ff1002679d0b2fd832903"; }
-    { locale = "eu"; arch = "linux-i686"; sha1 = "9f44826b49aa5302e1219f593b53d91ae9b158ab"; }
-    { locale = "eu"; arch = "linux-x86_64"; sha1 = "01367745cf5e68adedba8459e837d15d4be6bdb4"; }
-    { locale = "fa"; arch = "linux-i686"; sha1 = "776a0d78acc1f4cf4f1f6bfb6dfad251ad3ffd97"; }
-    { locale = "fa"; arch = "linux-x86_64"; sha1 = "aaa3ee98401cbe9d1e55284260077117eb80b6c2"; }
-    { locale = "ff"; arch = "linux-i686"; sha1 = "1294a53f08e1527b215ced2ac588c1f8c4f64c76"; }
-    { locale = "ff"; arch = "linux-x86_64"; sha1 = "ea127b16239a3c7916399f824ea0f06201509271"; }
-    { locale = "fi"; arch = "linux-i686"; sha1 = "84075e77d0cf621992620c9b1783da1306a83d95"; }
-    { locale = "fi"; arch = "linux-x86_64"; sha1 = "1c944f62ead881b5b48288afefb925db7cfbacde"; }
-    { locale = "fr"; arch = "linux-i686"; sha1 = "30eeed505e00b77aad1a31a969db78191e87cf87"; }
-    { locale = "fr"; arch = "linux-x86_64"; sha1 = "562f2d0c347dc531c8ac663e9ece59691394b148"; }
-    { locale = "fy-NL"; arch = "linux-i686"; sha1 = "8679515a53b1ef3f763c7b569ab326704988ca82"; }
-    { locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "d8f3db4850fe58c7d059c368993f066d241b021f"; }
-    { locale = "ga-IE"; arch = "linux-i686"; sha1 = "508a198d8b02b25587d40ad246d5bdc1a44988b9"; }
-    { locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "1a335d85bb0173b71de3d70c1d147cb905166e92"; }
-    { locale = "gd"; arch = "linux-i686"; sha1 = "316a75f2ee606b19eb83c5b8cd57258a8a6dc1dc"; }
-    { locale = "gd"; arch = "linux-x86_64"; sha1 = "55504df9a96de3319d2b3610512a6e2a2eed9cb9"; }
-    { locale = "gl"; arch = "linux-i686"; sha1 = "06be057d4d5480e239b5e368d16efe72c75196a2"; }
-    { locale = "gl"; arch = "linux-x86_64"; sha1 = "9026a4497593920a004cc1aec8ef0353144a56da"; }
-    { locale = "gu-IN"; arch = "linux-i686"; sha1 = "1149415676f1e3b9c9280c0579e0daff1da4b729"; }
-    { locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "6b0047659dbe79c57949baf759ab17c498208d58"; }
-    { locale = "he"; arch = "linux-i686"; sha1 = "118dd35ef57c44057da4808884fbc8f8c8181246"; }
-    { locale = "he"; arch = "linux-x86_64"; sha1 = "c37aa77d1ff50384c6482efd67fa2fd3c9a13f9f"; }
-    { locale = "hi-IN"; arch = "linux-i686"; sha1 = "d9259311610b6fe978f2e45beda9f2a1b78c6cfa"; }
-    { locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "b68136415d53dfb865fe82132457abf5016f4df0"; }
-    { locale = "hr"; arch = "linux-i686"; sha1 = "a6a6e98ac3932b5332b423a730806e4ee4bf834f"; }
-    { locale = "hr"; arch = "linux-x86_64"; sha1 = "34b8017490d86359fa6530fa5c3b1b5b15975c28"; }
-    { locale = "hsb"; arch = "linux-i686"; sha1 = "f8560358636bfd0d705b963b248dcdce34bbdb5d"; }
-    { locale = "hsb"; arch = "linux-x86_64"; sha1 = "287aba425ef473b8fe5c0ff0a8d75fafd8448bf2"; }
-    { locale = "hu"; arch = "linux-i686"; sha1 = "6cbe1731f7d28f91e4ce86e2d8a9816fc35eb3bd"; }
-    { locale = "hu"; arch = "linux-x86_64"; sha1 = "797ef6d8493bf3515ba25096dc8daeea8b9513f4"; }
-    { locale = "hy-AM"; arch = "linux-i686"; sha1 = "f2b64ab6b75736d93c8480854dc56563624c2b9d"; }
-    { locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "8609dd55931b027665e3763ca13b7e6b9a313ca1"; }
-    { locale = "id"; arch = "linux-i686"; sha1 = "698a344f8ecf81f2d1a8526a32e3771e8461e809"; }
-    { locale = "id"; arch = "linux-x86_64"; sha1 = "291eb09d08e552231726639c9055d53ca5c2c016"; }
-    { locale = "is"; arch = "linux-i686"; sha1 = "fb30ef94ce3f31e65c67f176ed7adb59d91cf81e"; }
-    { locale = "is"; arch = "linux-x86_64"; sha1 = "ad932eb32b20745f34f91fdd91dc32bda217b19f"; }
-    { locale = "it"; arch = "linux-i686"; sha1 = "eae49df656303ae15411d398f998b21bd0e1657d"; }
-    { locale = "it"; arch = "linux-x86_64"; sha1 = "5461ae930d32eb51f2ffdcfc5bc22104454088df"; }
-    { locale = "ja"; arch = "linux-i686"; sha1 = "addac275389073eef9d0fbc296738eb3a61d532d"; }
-    { locale = "ja"; arch = "linux-x86_64"; sha1 = "6e07be0a7261d18b081241d237acb5c8d3f1b3b1"; }
-    { locale = "kk"; arch = "linux-i686"; sha1 = "85e79bf11e71b9163fa44e9bae325d10b8efd761"; }
-    { locale = "kk"; arch = "linux-x86_64"; sha1 = "1bab828e561666296b5e81bc191139d0f1609764"; }
-    { locale = "km"; arch = "linux-i686"; sha1 = "9651d39d746ceaadef2b7eda2bdb766beb4bf649"; }
-    { locale = "km"; arch = "linux-x86_64"; sha1 = "3d5ab65a949d78d8be8fc5ef7da2bbfe4fb76175"; }
-    { locale = "kn"; arch = "linux-i686"; sha1 = "ce1ba808ae2433cec57c7f46288cc5b19e127fc6"; }
-    { locale = "kn"; arch = "linux-x86_64"; sha1 = "8ab3ac9d4e1fcb034a726c85f4de64e8908a752f"; }
-    { locale = "ko"; arch = "linux-i686"; sha1 = "34914da7a6e0f1806f04fcb4327a7debdb90a2ea"; }
-    { locale = "ko"; arch = "linux-x86_64"; sha1 = "6084229e0f1b0861ad35ac958e8d788918955f1d"; }
-    { locale = "lij"; arch = "linux-i686"; sha1 = "a768cadd13ae282e977b44f18e71d232aeba5f56"; }
-    { locale = "lij"; arch = "linux-x86_64"; sha1 = "e47841fd4827a907380fe605643898dd8d88cf99"; }
-    { locale = "lt"; arch = "linux-i686"; sha1 = "10e8a3d6833f904d181daf974b6da2792681f824"; }
-    { locale = "lt"; arch = "linux-x86_64"; sha1 = "411ce9b9b89722de20310bc32b38edb82454ff58"; }
-    { locale = "lv"; arch = "linux-i686"; sha1 = "8d2ec7350ba90242a152024681e0812a6260f064"; }
-    { locale = "lv"; arch = "linux-x86_64"; sha1 = "9035394603007edd34946d32230386e4ebf861ce"; }
-    { locale = "mai"; arch = "linux-i686"; sha1 = "2df94bc41f93706d671de419481d8c90468b9fb0"; }
-    { locale = "mai"; arch = "linux-x86_64"; sha1 = "6f534e605bc96dfde98b699ca8b31d7b542f3342"; }
-    { locale = "mk"; arch = "linux-i686"; sha1 = "6d83eec6d7b54dad5c926da0efe7f205442ec7f8"; }
-    { locale = "mk"; arch = "linux-x86_64"; sha1 = "7e1c3bddcbeadebcaf1a2c0d30940617662f998d"; }
-    { locale = "ml"; arch = "linux-i686"; sha1 = "7b8cfb0adf27ca3cbe70b90b45a15e6ce17ecd6c"; }
-    { locale = "ml"; arch = "linux-x86_64"; sha1 = "8dada691c38ea84829e8f097d3a4c8c8f92b5dbb"; }
-    { locale = "mr"; arch = "linux-i686"; sha1 = "2f2558df6b06b948e1d80a6721021aff6080e23e"; }
-    { locale = "mr"; arch = "linux-x86_64"; sha1 = "6f6fda2c3c4194f4ec309c0ff9585c8f5f764f13"; }
-    { locale = "ms"; arch = "linux-i686"; sha1 = "3006ffc5a77760fb42f3e3ec47185f09cdb2bd71"; }
-    { locale = "ms"; arch = "linux-x86_64"; sha1 = "a5f6a23ba5ee065186fd6abde7678218013a1904"; }
-    { locale = "nb-NO"; arch = "linux-i686"; sha1 = "b4418503c6d4c6eb558f5ecbf752014e4daa9940"; }
-    { locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "8551b8464566f57313b394de089545c5e3d30673"; }
-    { locale = "nl"; arch = "linux-i686"; sha1 = "e2fb71322600bee83e601309c956c8192dbdf2d7"; }
-    { locale = "nl"; arch = "linux-x86_64"; sha1 = "042a29623fca08048dddb2e3ecbde03fd4453d36"; }
-    { locale = "nn-NO"; arch = "linux-i686"; sha1 = "f72a166a539df1e45f8d9c5cd5529b2d0d01e813"; }
-    { locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "f66d7d7f6218cd0f320ad1061aead0733ccab242"; }
-    { locale = "or"; arch = "linux-i686"; sha1 = "81f146d076fc68fd87956001b31a34adac1d1af0"; }
-    { locale = "or"; arch = "linux-x86_64"; sha1 = "87d7d7a747f83a26b1f9b501d902e88032af38da"; }
-    { locale = "pa-IN"; arch = "linux-i686"; sha1 = "49239260e0abb385e5b3c6ae23c0a809306402e8"; }
-    { locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "105fae6a1e1e9a4ae186054c6bcb418ab607d587"; }
-    { locale = "pl"; arch = "linux-i686"; sha1 = "4f5d41cbe93f931d3751b7cf229ea0781edf9c7c"; }
-    { locale = "pl"; arch = "linux-x86_64"; sha1 = "0cce4925e602d36e9c25a6691b60dc61680c45bb"; }
-    { locale = "pt-BR"; arch = "linux-i686"; sha1 = "3b98ed2e3186ef2b6cd418fa45faec6a5acbbdd2"; }
-    { locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "ccaab26ba92b44b60a1de4e1d75504e0233cbc76"; }
-    { locale = "pt-PT"; arch = "linux-i686"; sha1 = "159941d190c72b219586450acf1214f039d7207b"; }
-    { locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "c650d657e97653364926ad1b877d3a186d3d6dca"; }
-    { locale = "rm"; arch = "linux-i686"; sha1 = "2b79dbc77bbf971a2856ae80107fabe0aa0e18cb"; }
-    { locale = "rm"; arch = "linux-x86_64"; sha1 = "e8584e6791dd50626cd9dcafe45e5536a1eb35fd"; }
-    { locale = "ro"; arch = "linux-i686"; sha1 = "8083ae297080f3543751a24ca3f8638a8bbc2a02"; }
-    { locale = "ro"; arch = "linux-x86_64"; sha1 = "43967d6adbe01454696de9330f056731048458a9"; }
-    { locale = "ru"; arch = "linux-i686"; sha1 = "c939bd0154475d4c3153446b6f6de1d5e17b1215"; }
-    { locale = "ru"; arch = "linux-x86_64"; sha1 = "58bc5cb7c33063455ea2ed79da9b9c38d2a8e061"; }
-    { locale = "si"; arch = "linux-i686"; sha1 = "4f66548142a828b9331f9588955eeae7ff8b4ffd"; }
-    { locale = "si"; arch = "linux-x86_64"; sha1 = "795f8920aafdf38feae90d6cf9013bb4da4d275c"; }
-    { locale = "sk"; arch = "linux-i686"; sha1 = "7fc858a8bea682e6c4b0b46dc0036f5b33d569b6"; }
-    { locale = "sk"; arch = "linux-x86_64"; sha1 = "15c049314dd8beb396c4f8f169b5c5d522d53d31"; }
-    { locale = "sl"; arch = "linux-i686"; sha1 = "2abcb66b66093b4b5a5c502d50b395d3967d5375"; }
-    { locale = "sl"; arch = "linux-x86_64"; sha1 = "deda484b890c22c0c15845891eb5ece860ecbca2"; }
-    { locale = "son"; arch = "linux-i686"; sha1 = "b031c68c64e77ae2e6332c141f367052afb571ba"; }
-    { locale = "son"; arch = "linux-x86_64"; sha1 = "2e6b18cb89b6bb6299caa0dd3c128e170984f394"; }
-    { locale = "sq"; arch = "linux-i686"; sha1 = "88295bd36eaa1ec0ba42b1b2eb8af581ef2efe51"; }
-    { locale = "sq"; arch = "linux-x86_64"; sha1 = "8e8b4782d6352bfe055482c2d82bc5356bb8059c"; }
-    { locale = "sr"; arch = "linux-i686"; sha1 = "399cd05823725f4e5d5514aad3c32716a7b69fb3"; }
-    { locale = "sr"; arch = "linux-x86_64"; sha1 = "d78069ed45897c256860cb7a2be74c42906f277c"; }
-    { locale = "sv-SE"; arch = "linux-i686"; sha1 = "90b136366b4309258417725c7979e424cd20236e"; }
-    { locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "e604010468adfb6d6925c3d6e82b95a6836bd645"; }
-    { locale = "ta"; arch = "linux-i686"; sha1 = "d81a2a85e1f01f55d8e65b82d703a89391aff87a"; }
-    { locale = "ta"; arch = "linux-x86_64"; sha1 = "dbbd03bf0deae8dd50c264217c38d66eb8f6abb6"; }
-    { locale = "te"; arch = "linux-i686"; sha1 = "b9e27b19acdf0c6c97b85361e51d04ef4dfb71ef"; }
-    { locale = "te"; arch = "linux-x86_64"; sha1 = "a78bffc96adcedc797cd328c3aeda5cb59ff5154"; }
-    { locale = "th"; arch = "linux-i686"; sha1 = "df7728a57a7f46035b5a5b491c34110a1871316c"; }
-    { locale = "th"; arch = "linux-x86_64"; sha1 = "8ccd4665a12b5db9ab8457c2363243a1cbcd05ed"; }
-    { locale = "tr"; arch = "linux-i686"; sha1 = "49dca58d2925f70c8ec7fd7d28d04475c05acff1"; }
-    { locale = "tr"; arch = "linux-x86_64"; sha1 = "ae887516cf189462a38240d62a608f1bd86713fa"; }
-    { locale = "uk"; arch = "linux-i686"; sha1 = "fa1d11f740987538c0ca3967b3428a341e2f1c8d"; }
-    { locale = "uk"; arch = "linux-x86_64"; sha1 = "f65ae80186d0fa616197ee46968ec94c0dbebc2d"; }
-    { locale = "uz"; arch = "linux-i686"; sha1 = "69b24ed58ca2db356bf97c809f91b3551e9f1b20"; }
-    { locale = "uz"; arch = "linux-x86_64"; sha1 = "2fb40c9c55f1e0eb83602fa7cb06415846657b67"; }
-    { locale = "vi"; arch = "linux-i686"; sha1 = "1817398c00bfff76c09151450cba4e901c0fd93a"; }
-    { locale = "vi"; arch = "linux-x86_64"; sha1 = "f754bb817367da0640e6bfbe53129a4221250751"; }
-    { locale = "xh"; arch = "linux-i686"; sha1 = "8c3a7a0da6775d06b75d74e763add35eb2b02969"; }
-    { locale = "xh"; arch = "linux-x86_64"; sha1 = "724db968c33bfd30540ddb36f8d26e19073aa328"; }
-    { locale = "zh-CN"; arch = "linux-i686"; sha1 = "de2b4c514a237f120bb0d9de5039a75b8bb519b0"; }
-    { locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "6b6f8caece54a911124b33c3fce9233d760ae46e"; }
-    { locale = "zh-TW"; arch = "linux-i686"; sha1 = "aa85f39ee92c62d2d1809cf50e158f04a1bb88ea"; }
-    { locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "0f859da4a12559d8b28411b5206b17739ddf869b"; }
+    { locale = "ach"; arch = "linux-i686"; sha256 = "f45ceba774989f09e6adb226f0e189c69092d9eccf67722b1876695d94b6a988"; }
+    { locale = "ach"; arch = "linux-x86_64"; sha256 = "78f64d02e5a1548e0b9b9f9c36f1eb151dbc0212805f09658d61a35c8ef94380"; }
+    { locale = "af"; arch = "linux-i686"; sha256 = "a3cb08c2d3879d46a2fe6b9567664d4c4a996bf10560079936d221e9588c5b76"; }
+    { locale = "af"; arch = "linux-x86_64"; sha256 = "c580f19ac9909d28e5f3d55c3347893e088471a0fc7f4cb2e42fb1481218a1d3"; }
+    { locale = "an"; arch = "linux-i686"; sha256 = "61a4fa6a4c3a8c814d3d81bf51e1780c148e366fe1355e621523f419d5e4c583"; }
+    { locale = "an"; arch = "linux-x86_64"; sha256 = "2bbc6591669258fbc46944577ce6a4a091772b1cb8a4430d88d3f1b911da770c"; }
+    { locale = "ar"; arch = "linux-i686"; sha256 = "1aa9e3e21c3d678135f009f8541999a18ea38ade9ae3d21b8da07a60d22eab91"; }
+    { locale = "ar"; arch = "linux-x86_64"; sha256 = "eef01a5315eab457073ff01a51382a46200e84a6e87a91a3e38ab865b3304430"; }
+    { locale = "as"; arch = "linux-i686"; sha256 = "e3949cd85c439f72e8051ece5c22b18f6802e29311b84c5e88b124ea72ced52f"; }
+    { locale = "as"; arch = "linux-x86_64"; sha256 = "59178756fcd409765ff88324133bccdd0e43d2961a0fa15e2e53f7ed4fea3bac"; }
+    { locale = "ast"; arch = "linux-i686"; sha256 = "88440f3f572421c0a7c2e95f3517289a33de474766185bacc0b93ef09673f1df"; }
+    { locale = "ast"; arch = "linux-x86_64"; sha256 = "ce6fec215b11ecc2e5bd74d2dc47a09de9bcbf3df18e8f270c83967e605985a7"; }
+    { locale = "az"; arch = "linux-i686"; sha256 = "1b0e3ce4799e4cf3bf6129298895e8aa48c38b6b138c5ebfdd694ae8811e51af"; }
+    { locale = "az"; arch = "linux-x86_64"; sha256 = "6e0b73fc25a68d57117259043fd5bbd6dfbc8e32ba4090233303c5bf57d858b4"; }
+    { locale = "be"; arch = "linux-i686"; sha256 = "c50492edb43b2d306c664bb174f89392e68a530eec4fef2aa39335b9d12b0e32"; }
+    { locale = "be"; arch = "linux-x86_64"; sha256 = "2057d21e45538be260d723cf11bb36e32c79d87530fc19852a2f342d825d75cc"; }
+    { locale = "bg"; arch = "linux-i686"; sha256 = "f87522d234e50d50509ead2800a804131b769235006aada0a379e46d290b6cc1"; }
+    { locale = "bg"; arch = "linux-x86_64"; sha256 = "8793acfd7bbcc47e9ee19cfc2cb265a71f7dea5e98222fc541ae66c29bd8c39d"; }
+    { locale = "bn-BD"; arch = "linux-i686"; sha256 = "d55de132e4d6c49053d2c843f91f7410188f62ee3e4bb56ac8b4370f55475274"; }
+    { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "a5798d40795689f2c92cfd8cc3605c4a30e23e39d8db43a8e7415cb9e4c75a55"; }
+    { locale = "bn-IN"; arch = "linux-i686"; sha256 = "28fd24e8e3069de9d1f81aff9e3671a806470e56f17ab0193566c8709eb1c268"; }
+    { locale = "bn-IN"; arch = "linux-x86_64"; sha256 = "dd5b97f1b3acdb2ab1a2f75b4c236ce2b68365840ea6b3703969e57b2eaaf927"; }
+    { locale = "br"; arch = "linux-i686"; sha256 = "5dd3132f6543c7dd5bf062d1222782b4bfd38b3f95088e2881c0b6f4362f1e3d"; }
+    { locale = "br"; arch = "linux-x86_64"; sha256 = "69ff22dc400cbaa75e9799929fd2496e8e2db6c5549d848abf642f58e73ad825"; }
+    { locale = "bs"; arch = "linux-i686"; sha256 = "bfe4feb86124cde6ebd0e2449b5301657f1d62a073e98c888e81307832441b45"; }
+    { locale = "bs"; arch = "linux-x86_64"; sha256 = "878712c2ff34e27181f8477440b2489c8c4c8b1cd2f6a03724ee4b9b5eabd031"; }
+    { locale = "ca"; arch = "linux-i686"; sha256 = "a5fd111a60b81a11b233bc2720ca58a307d883a84cb2212644dc07a0acd8ed88"; }
+    { locale = "ca"; arch = "linux-x86_64"; sha256 = "c8df6e52d22907615c0198a9c061d5836e43427e66964d9235662d1673ec0573"; }
+    { locale = "cs"; arch = "linux-i686"; sha256 = "6f0ad2a1ec219a8aef9c762235fafc8113a06754aaab2c141812f9f062c1a0c4"; }
+    { locale = "cs"; arch = "linux-x86_64"; sha256 = "d4a1c8becbeb05da17ffb6d1ba8625b7286a1591fc5f141202542ce769c29c13"; }
+    { locale = "cy"; arch = "linux-i686"; sha256 = "4bae504ae202fbc75244fd476de80857dc33fe6a7dd3da2555e7efba279a5089"; }
+    { locale = "cy"; arch = "linux-x86_64"; sha256 = "2133795258e00be82219dbd5f288ab76e5b218a4d298224fedcaf02ddc049b07"; }
+    { locale = "da"; arch = "linux-i686"; sha256 = "64fbcfa9c645dd0986b85de286347eb223c81db45e405b2e29df47527edfe55a"; }
+    { locale = "da"; arch = "linux-x86_64"; sha256 = "58af00c544e5a2c9a98cc2cb896db80052ee12e31d4215ae4b08862ac3d3caa3"; }
+    { locale = "de"; arch = "linux-i686"; sha256 = "b8a48b676494ec7c9af8d24678dd1c719871c297887431b9360dea67d9bafb48"; }
+    { locale = "de"; arch = "linux-x86_64"; sha256 = "8d6bc67c1db287c00c8782cb33b03ba0076f1b89064cdd0ddefcb37bffddbc68"; }
+    { locale = "dsb"; arch = "linux-i686"; sha256 = "955968db11698942a86b79a9f5258c4636121e9c3350dfad70eab375f87c08e3"; }
+    { locale = "dsb"; arch = "linux-x86_64"; sha256 = "f34efb2d427e23ea34a1f24cbbe32d6ce384e1e4055a83afc1d336bb31481095"; }
+    { locale = "el"; arch = "linux-i686"; sha256 = "bff3a1efcaed403d2e465b92a88076fc0525534593d977423811c30a4abc757a"; }
+    { locale = "el"; arch = "linux-x86_64"; sha256 = "0d83d214eb61c3d248291141fa6b5e29d72f62a030be39dc4ee7c1781424c421"; }
+    { locale = "en-GB"; arch = "linux-i686"; sha256 = "593041d5b07665134bd61866b706e11f10168df72c9a033034e95fdecaa6f65c"; }
+    { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "eab33978a3cd15ad3ed86efd72eda53e65f6addfd352f1f372d8133fea7edc6b"; }
+    { locale = "en-US"; arch = "linux-i686"; sha256 = "2c44f8ef07896f3e4c4ee555e35ebe5658f2721fdbdee4c70b153387472b781e"; }
+    { locale = "en-US"; arch = "linux-x86_64"; sha256 = "e3077ca9aa246154acad2a264489e7cc68864035873e6c6d54b7fb3f9b832fd7"; }
+    { locale = "en-ZA"; arch = "linux-i686"; sha256 = "8b78e83769d468dd7d5e9964ca99fd745f82341f8a426e7af82671c4515c8e70"; }
+    { locale = "en-ZA"; arch = "linux-x86_64"; sha256 = "631da5975f08807bfa4519c1265d082bb6de8ba6b39bbf6c903e08cf5c85b2a3"; }
+    { locale = "eo"; arch = "linux-i686"; sha256 = "16556716bb0cfcfade4c705bc641317c423dda976f68a1a78bf1b1df08883725"; }
+    { locale = "eo"; arch = "linux-x86_64"; sha256 = "cb21a5ea8cb9ded9eb729864d20a538275b8f29e9b7a10ea9d9dcb2b7a2368b3"; }
+    { locale = "es-AR"; arch = "linux-i686"; sha256 = "3b830fc45a2ad62253d51eb53ae2cf6345bcc2a348e43e5aa19a001506fe3f6e"; }
+    { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "9ede597d11d798c4369b74e74a67564152a793f4d2a655f422176a1e03d0f6f9"; }
+    { locale = "es-CL"; arch = "linux-i686"; sha256 = "1384df5e31f49f8f647e21f1d5d4f3a2229dce389857219745d2e2e325c894b4"; }
+    { locale = "es-CL"; arch = "linux-x86_64"; sha256 = "e1a56a69687e9fe0979602b9256b5f8f3e05596e8af23fc78b0459ad66950158"; }
+    { locale = "es-ES"; arch = "linux-i686"; sha256 = "258a3ded204f66d20370f4ca34d668da38921302ba6844bb6b49525a911ef1f5"; }
+    { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "6563107eaadfad91f29b5d3084068ddf2b2959723f0bf38f8287e9b71dfafe68"; }
+    { locale = "es-MX"; arch = "linux-i686"; sha256 = "00253b3a1c28f55199c74d1cce9fa1aff5cf6a7b3f77385f18836b36c961cbd1"; }
+    { locale = "es-MX"; arch = "linux-x86_64"; sha256 = "897bfc04b17334ac1499a50c0fede1dda4dd9f667801d50a3c7221409158a39a"; }
+    { locale = "et"; arch = "linux-i686"; sha256 = "fb4c11f82c492d02f15817c19d4450049ce8532741d6c2733302e06a77ed768a"; }
+    { locale = "et"; arch = "linux-x86_64"; sha256 = "9e4c22e0e430bab1a85d83f8e77245390ecadc2af9c6fc6d408a1ccb388b5c5c"; }
+    { locale = "eu"; arch = "linux-i686"; sha256 = "4be07916499253dee47572b0fe03318050f601ecd34a2578e3daaa2423ea0223"; }
+    { locale = "eu"; arch = "linux-x86_64"; sha256 = "414366c5de7bd58f620a86d69b3fc618b4f2a41103e073197ed6f6326cb34173"; }
+    { locale = "fa"; arch = "linux-i686"; sha256 = "84dd27e9f3f3736c2364f995b460a401ceccb5df88b9420fc5c4e10bed714ebd"; }
+    { locale = "fa"; arch = "linux-x86_64"; sha256 = "e1e19b3a13e48ae5db809d781ed94a079dfcc23fef7b084e18589863fdda1e16"; }
+    { locale = "ff"; arch = "linux-i686"; sha256 = "7de7ded84b96c8208796336b079294cb163e5a1717e7f0263fdbdf061bbd77a2"; }
+    { locale = "ff"; arch = "linux-x86_64"; sha256 = "0c57b47227db17ec0b5cf05b2c839d01ef09e85e062af145cb063e9b431201a0"; }
+    { locale = "fi"; arch = "linux-i686"; sha256 = "7bd42dd0dc3f3a9328f41f06f5f4409b611d17e1f3c71dc68b4f87aa1a5403ef"; }
+    { locale = "fi"; arch = "linux-x86_64"; sha256 = "32aed7d397353791d0eeb4d64003ddc0206f43308020e4e003877741bbc4246a"; }
+    { locale = "fr"; arch = "linux-i686"; sha256 = "274fb64798147b96c49117444a55b0d27da1ce58c64d0c72a8f4f2445ef8dcfa"; }
+    { locale = "fr"; arch = "linux-x86_64"; sha256 = "17f3af176ce83481678ba5b496a6c576af1ad01a858714cec0c613219ef78105"; }
+    { locale = "fy-NL"; arch = "linux-i686"; sha256 = "ef2a32e783456b8be56cc2fe16c4c9f80e174f5cbea5fcb0ffaa9dccc498c1bc"; }
+    { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "76742465bfb95935e3f5531ef52f0d13021454887f20b5c60d903142e8bf29b7"; }
+    { locale = "ga-IE"; arch = "linux-i686"; sha256 = "e23cd7c54f08fd952c40d88811ac0a8be7c54b8c44e8e948961c063bd833d720"; }
+    { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "5f37a8add1753e41a75a1cd8f1edeeae0da89987939684e4f7ef46e139c0f2b6"; }
+    { locale = "gd"; arch = "linux-i686"; sha256 = "1f65eeaa2e213a9a1bd48e12b978faf21a5cbc4db4e6257edd373c7f08fc63a6"; }
+    { locale = "gd"; arch = "linux-x86_64"; sha256 = "25398b31be953a54107a38ea9476047e0ad6de8083d1330594522d261ef4f5de"; }
+    { locale = "gl"; arch = "linux-i686"; sha256 = "13ec763f279c39b0a0082fde0331cde9cc3d9a3aa5155b8853c7acb92bd18d0b"; }
+    { locale = "gl"; arch = "linux-x86_64"; sha256 = "46208cc319062483f85c5d801bc4822869bce916f78d2dd36670592794a266c3"; }
+    { locale = "gu-IN"; arch = "linux-i686"; sha256 = "fad30f5fdcf5622b80f391bf2e957466e8955f23b91be2022ab5cc550b993d08"; }
+    { locale = "gu-IN"; arch = "linux-x86_64"; sha256 = "4ef6713e394c72b5d9a5d49899ef952a4587a2f1e0b52307b5062d6807de8ba0"; }
+    { locale = "he"; arch = "linux-i686"; sha256 = "211cafe7a39b45ca1cf471b2029f8981a26517114fcad3b40f0c5cd702988ee5"; }
+    { locale = "he"; arch = "linux-x86_64"; sha256 = "ad85f5b69ff0d15f0eb17e81e5976635b3319f583938e0c2dcf59badcea71cc2"; }
+    { locale = "hi-IN"; arch = "linux-i686"; sha256 = "8ec9ccd458b231d873e4272968be09b50d1629280014deacb2a74a754123208e"; }
+    { locale = "hi-IN"; arch = "linux-x86_64"; sha256 = "1c78e8adb1047be3be2bb6bae776d1fb3e32b6bd888877d33abcbd56b858f70b"; }
+    { locale = "hr"; arch = "linux-i686"; sha256 = "64436c22be8c7a873634de4d7677c93427c9307be40a95fa73dc509d32900a20"; }
+    { locale = "hr"; arch = "linux-x86_64"; sha256 = "4485174c761aa49bebc7bbdd5d50ceb2ca70477560406b880181ee4ab5f51b26"; }
+    { locale = "hsb"; arch = "linux-i686"; sha256 = "d5e6eb225d04124a9582e31de8c996512b9816bcaa72c4ef8d373f3cb77536be"; }
+    { locale = "hsb"; arch = "linux-x86_64"; sha256 = "65642995943763d35a9816a02d95d3ad7c26f388a731749c96446308bad0d13d"; }
+    { locale = "hu"; arch = "linux-i686"; sha256 = "2e4a1602fe3dc83f99b60df358e809cfc831d0c173d0fb1a0b5d0bcc8d5fd0be"; }
+    { locale = "hu"; arch = "linux-x86_64"; sha256 = "39592f757f6066e060446cf9ac051cad58ae5e457dea5d28be8e6573a7712b3b"; }
+    { locale = "hy-AM"; arch = "linux-i686"; sha256 = "e11c1f746e472855c99706d597107426e4f411ed6ab8f3066417a4bf788f6db7"; }
+    { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "34fb58fc187a4afafe45f8b9463f725404bfc9fbb8374bbccd95fbe6a6127cfa"; }
+    { locale = "id"; arch = "linux-i686"; sha256 = "33c1870c5be769d051ff52d0512253316357925c4074c9760ffdd7ae5eb38680"; }
+    { locale = "id"; arch = "linux-x86_64"; sha256 = "f10a83c55a7164a88c387cff02d5fbca483901b8bface790fd064dc456637004"; }
+    { locale = "is"; arch = "linux-i686"; sha256 = "312eb8e2613e6723182f1392b0d654488facd31866922241ec7366be3259b42c"; }
+    { locale = "is"; arch = "linux-x86_64"; sha256 = "d850e5c4e18b1f3daeec9508f3d1a19771109a449a8b40106e20154c3128a43a"; }
+    { locale = "it"; arch = "linux-i686"; sha256 = "782d2e791c1c241e068a7041244def8d3983c7d65372b8297f54010ed2723db5"; }
+    { locale = "it"; arch = "linux-x86_64"; sha256 = "dcec427d3c22e7081d4657ea336aa3a2d1b728cc2ae917aadd89f1021fa53e44"; }
+    { locale = "ja"; arch = "linux-i686"; sha256 = "8f36b884b8480a225a68a1f3583408132b58511bd3666a04c21a88d8ab9e1387"; }
+    { locale = "ja"; arch = "linux-x86_64"; sha256 = "2727864ae1ebc4e0186214297d59cc531a06306059ccfd4a59d83a084cef81c0"; }
+    { locale = "kk"; arch = "linux-i686"; sha256 = "50d46466bd31723f3116db503dba0b5d095679233ded63173b8b31740afa8ecc"; }
+    { locale = "kk"; arch = "linux-x86_64"; sha256 = "5ae23bb07acdbfb45e49eb4afdbb6c84a00331f8c5c9824b9756e2e87f927934"; }
+    { locale = "km"; arch = "linux-i686"; sha256 = "13e32146820f31f0c87f38b3cb636a6a25c5bdb2dbf3befc909f459b33c0ac71"; }
+    { locale = "km"; arch = "linux-x86_64"; sha256 = "f81eebb081309200f2cec0cf742ac3aebe06ac09948a05af0961a572bc06b0a1"; }
+    { locale = "kn"; arch = "linux-i686"; sha256 = "8db58576cbd2cb8f8c61d4278dcd0594c92fa707770255f1397272dacfb420c6"; }
+    { locale = "kn"; arch = "linux-x86_64"; sha256 = "3a2002a54057c062ef720894147486c68b60e21c4bc57435b2ab1fe0f03f11e7"; }
+    { locale = "ko"; arch = "linux-i686"; sha256 = "0e0f221ec6917635ea8519473a447ee8a572a439cfd2f5de1e1b4d63cfb1e1a8"; }
+    { locale = "ko"; arch = "linux-x86_64"; sha256 = "ea4dfbad71d63702377b6a1641667b88ffa270cf37f77e223a88ed2ed6385f3f"; }
+    { locale = "lij"; arch = "linux-i686"; sha256 = "92af63912444d8ccc43f4b0fa1ec25ad988db4117dc15e58a31c2b783e2922dd"; }
+    { locale = "lij"; arch = "linux-x86_64"; sha256 = "c93f0e90125fb58b6f9d3281ac580bf46ce7481bbcb5d0162661c7049e7116e8"; }
+    { locale = "lt"; arch = "linux-i686"; sha256 = "ff6a933c13e5d0bcab3e09915c09489d441f191f06a915ac5953334ae2a613bb"; }
+    { locale = "lt"; arch = "linux-x86_64"; sha256 = "d82c44370c3b86230c86933a91e533e51c1ff6c6e515ee6a2b53d7aca105694c"; }
+    { locale = "lv"; arch = "linux-i686"; sha256 = "7595254788ecc0845cd98f9524e20ef0dc2ec01c6efc3e8289b7c930b37fc604"; }
+    { locale = "lv"; arch = "linux-x86_64"; sha256 = "a349ae40d4bd2bc0be0517bcd2f3149796687a1a3bf31527e92d7bae3020e839"; }
+    { locale = "mai"; arch = "linux-i686"; sha256 = "4ef3e22d7bea09ccf7a75759725cd3db5ffec1b486026f3d0afee06293e01c3f"; }
+    { locale = "mai"; arch = "linux-x86_64"; sha256 = "2a6c645773c6ec3230ae66f850d151fd8ccbe4d65e5d3b241948341b003c2fe8"; }
+    { locale = "mk"; arch = "linux-i686"; sha256 = "d50d81cb4eab09166d6636c2964143b5fa7cdf909b5eb2eddb2103679f86ba71"; }
+    { locale = "mk"; arch = "linux-x86_64"; sha256 = "51a4c986a7b85ad140d0fc0e952426d103307013bce72e395873171afa8d0a8f"; }
+    { locale = "ml"; arch = "linux-i686"; sha256 = "57d9e6ec5ddbf3eea9e07d85d5d84998e70a764260d73f38d32fe71a55ac3720"; }
+    { locale = "ml"; arch = "linux-x86_64"; sha256 = "50cf19e1b07ea43dffe37a59fdc969d8e8d46df100c15455e4ac2d4b202a00d7"; }
+    { locale = "mr"; arch = "linux-i686"; sha256 = "98b4d4ac2148e37b741842386333707d8789b2cfacf7ecd7adab3162c43307d8"; }
+    { locale = "mr"; arch = "linux-x86_64"; sha256 = "77e825a071f826c5668475e33a6a06f3fe3e49306e045fbc9a0a76843e66eb7d"; }
+    { locale = "ms"; arch = "linux-i686"; sha256 = "a8c2c8db2ecb76070d54a5cc8cf6c31027a843490a54875e4b66e8e3dd212fa4"; }
+    { locale = "ms"; arch = "linux-x86_64"; sha256 = "54d387432363074ff79a72f6a517b86b7fd76637caa5389a09f7e3ec11965512"; }
+    { locale = "nb-NO"; arch = "linux-i686"; sha256 = "a2f14933978e45ab472a85bf6278879617b61273f3358c67e6180171d6e9ab5c"; }
+    { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "578da776b395c07ccf7525f7f7c2a807daf994807a30f2a0c2bee9d2ea6b977c"; }
+    { locale = "nl"; arch = "linux-i686"; sha256 = "49e079241dcea98a08d27708d918dcc9e530f30368b9b67006f16fc5e24ab29d"; }
+    { locale = "nl"; arch = "linux-x86_64"; sha256 = "b165e97cf3408ef9c7d04f25b7b15924954ed65c78e25c853fb33bd98c751bda"; }
+    { locale = "nn-NO"; arch = "linux-i686"; sha256 = "aad675288be4c1c6e4751b3c32f3e5e569e8348a580e7c2497ab61cbd2fe733b"; }
+    { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "c1128bde1d7030d367cf14833c8a775f1a8790a6a159171cfe55ab369f803b84"; }
+    { locale = "or"; arch = "linux-i686"; sha256 = "28fc9d508d0f86da87060080bea805fc089cb297a82849d7b75fde1d7c35dea8"; }
+    { locale = "or"; arch = "linux-x86_64"; sha256 = "f3879c6bc8b24d4cccbd559b4ee480ee42008187aac403c35a82fa3aa67cf733"; }
+    { locale = "pa-IN"; arch = "linux-i686"; sha256 = "262a496547689093ee22ce31b056cc1727cba9a690ea2fd5729e0694e710e6b5"; }
+    { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "67c9a3db932ee1e890f2b0373b160f7a1db2481263919179f34d24e1bb73869d"; }
+    { locale = "pl"; arch = "linux-i686"; sha256 = "6b561482f0289c085cccd3d331bf7135cec47bf4e56d5a23c86341191e175484"; }
+    { locale = "pl"; arch = "linux-x86_64"; sha256 = "c47b600afa999bc38eaf964def0d8e3e64a6f8dc2ebee14b125885773be37527"; }
+    { locale = "pt-BR"; arch = "linux-i686"; sha256 = "df1f14d353406d367f7c9a3fbec66544ad8ae8f70cd8cf2b8dedcea40f3acd04"; }
+    { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "fe07b106b9783d3b91f31deb55ddf006cbe51e485d6bbf181025edadce7e587f"; }
+    { locale = "pt-PT"; arch = "linux-i686"; sha256 = "6a4e39b78336f07463887a712a3b5a11f9d9f3be4d2e1be36970d17a554b9d39"; }
+    { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "1df70f54c4e59625740635c99a900738f25ae67707536c86511d98253a1b7207"; }
+    { locale = "rm"; arch = "linux-i686"; sha256 = "9e56b6a6831877bf5cf9c3299ab305ec06014044285dc635dc4951403024e1c4"; }
+    { locale = "rm"; arch = "linux-x86_64"; sha256 = "2d89a4dc8590db8a54c7f2d9d126222ce152eff831170b497b657b64df1cbef3"; }
+    { locale = "ro"; arch = "linux-i686"; sha256 = "f7006e2dc8a99c47bafcaae9138f752fd9ee014969ee6db5e440724cf124ce9c"; }
+    { locale = "ro"; arch = "linux-x86_64"; sha256 = "6b42002b7ba893675ab6da994c0e43129ab2cb4bd3ed361c0f2a116167960ace"; }
+    { locale = "ru"; arch = "linux-i686"; sha256 = "b7eef5ad76fdc48894be4b20ccd19d42c966235905c8362b2e262c9da729fac7"; }
+    { locale = "ru"; arch = "linux-x86_64"; sha256 = "efde30e2e473b667b134487c2e16459e72eb41a63c916a660cba847ee9c5ee7b"; }
+    { locale = "si"; arch = "linux-i686"; sha256 = "365eeb713360303af2880362aca5edb62a3370ec0a65eebb1fd72cf11a509543"; }
+    { locale = "si"; arch = "linux-x86_64"; sha256 = "43338a5a36278e07d76316eee4b7e0aa07a99123f1ea124650ea5357288b6daa"; }
+    { locale = "sk"; arch = "linux-i686"; sha256 = "c552413717efe35a1b70d4745c9ed3ecf50eead210225daf1b922d25022026ee"; }
+    { locale = "sk"; arch = "linux-x86_64"; sha256 = "fb92a066a27de4328dd4aa5ae4091513ee021a94167ca7f2174cd1809f311799"; }
+    { locale = "sl"; arch = "linux-i686"; sha256 = "5ede91c27358d812a7fe0f4cfc4516d5802e516c0c4c3ede44f5535dff04ca87"; }
+    { locale = "sl"; arch = "linux-x86_64"; sha256 = "f301a92ea7d165d20c23af0d4004a679f6dc1f7574cd34bd92be4cae7d36eaa6"; }
+    { locale = "son"; arch = "linux-i686"; sha256 = "816ef59d8ab566967c38944df4884a75e1d15f5906bef59c534e80f1f4d31d1b"; }
+    { locale = "son"; arch = "linux-x86_64"; sha256 = "0bf5149fdffd060773b82c575dbc981e420deb0719a8f4fff9a03c6ba571d5db"; }
+    { locale = "sq"; arch = "linux-i686"; sha256 = "3e43a60388d2cceb306d7a70e984ded6dacb0a968b78ed8a4032ac60d7c1cc6c"; }
+    { locale = "sq"; arch = "linux-x86_64"; sha256 = "6c0fa8dcf9359e8aa1244512f1d264b8684191f4bfb062c802f21009862c26e6"; }
+    { locale = "sr"; arch = "linux-i686"; sha256 = "1df63b2753dd55d69d0990f3f34f9574dd34289cb64726da45fcc891b6a83088"; }
+    { locale = "sr"; arch = "linux-x86_64"; sha256 = "01dec866a74a56fe8652e5b75731c7f508637e875c62a84805fcc0e4636c9e67"; }
+    { locale = "sv-SE"; arch = "linux-i686"; sha256 = "6f3f5b62e475ce4128e11f62a556505e00d5b8dfbd374ae747a16d6f161059dd"; }
+    { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "0b3cfbb77d291a7fbb14b61c1bb1936dcec5f66af55c3c0b92e9dd4299c9b897"; }
+    { locale = "ta"; arch = "linux-i686"; sha256 = "357f182c2df19bdd97834bb714f979253bb4a16029d115a12e66bb7c20ff5a1a"; }
+    { locale = "ta"; arch = "linux-x86_64"; sha256 = "013d771a256e84d6faf97c84edd5ed25bd5d700712f9aa4aef54ff257b530c21"; }
+    { locale = "te"; arch = "linux-i686"; sha256 = "59ba28b5c3aefa5455af1f1b549018dda9d544aca4829190af4e361b2eb164f0"; }
+    { locale = "te"; arch = "linux-x86_64"; sha256 = "e181876679ef2c5a289d5697fefde0acc64c936237b907fab7e6d000cbaee5a4"; }
+    { locale = "th"; arch = "linux-i686"; sha256 = "57545f48f6c1ff7a5ba2aa43d61446aca4d9e8f5f6f1bf70cdbb75d72d4b9713"; }
+    { locale = "th"; arch = "linux-x86_64"; sha256 = "e2c70247a333447f100bfb87be9f9f7e6f3398ac22623627b016e046afcd7a26"; }
+    { locale = "tr"; arch = "linux-i686"; sha256 = "f0d6f1053ffc9396657485f58c3bd33ee616a1b474b72a78e0b14960a0818646"; }
+    { locale = "tr"; arch = "linux-x86_64"; sha256 = "101763b31f615b301b1e040df7a0219456446695f9edf75580ce6fbcf061142b"; }
+    { locale = "uk"; arch = "linux-i686"; sha256 = "d0c5854b736bfc7f263f7a515a477e209c90fe7d5ed0ca64dd7d16f3d68a6671"; }
+    { locale = "uk"; arch = "linux-x86_64"; sha256 = "3b78c94708d5b5798e30bbf9956619b694c3484672d0e3f473dbbd8898f3c8c4"; }
+    { locale = "uz"; arch = "linux-i686"; sha256 = "0870ba372c7abfa95bc9da5d5b7f501b3137208d084f25a3ca88a09c8395ec6b"; }
+    { locale = "uz"; arch = "linux-x86_64"; sha256 = "87f6ea282450521a786944d516c26ff8cbe14a2f24df11fa80c343aca5dcbd3f"; }
+    { locale = "vi"; arch = "linux-i686"; sha256 = "088be2a9815914a8637163493636acaae40c0348e1b7f064b1ea5181c114a77e"; }
+    { locale = "vi"; arch = "linux-x86_64"; sha256 = "b68fc3fc98ecba457ffac3e191b1ef6c1512b826a9dd1b9a301858b8051453c2"; }
+    { locale = "xh"; arch = "linux-i686"; sha256 = "83095d26d9a73c3113a98c902f31565a3e358ee1aa4ec37976fb72cbc8470845"; }
+    { locale = "xh"; arch = "linux-x86_64"; sha256 = "642026251591bc1eb1ca1200db1b232981d019d8664cfa216777e12b591606d4"; }
+    { locale = "zh-CN"; arch = "linux-i686"; sha256 = "a3289ad36a1a3b5affc721a7a2b509d9151049e50209f62c92592d7cd17c96d8"; }
+    { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "f53e14f1ce29b172acba3d58b5ca6da3ff03a121aaf224949a88a2fed96aaa9d"; }
+    { locale = "zh-TW"; arch = "linux-i686"; sha256 = "a471944312b7f2a04a0f1df4a897f63c41cd74c0645d890d95bce6d725a2ae2d"; }
+    { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "d0d201cff0b8dcc59224645d4f4ab15fa14fe131a30897242e5692729894abed"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
new file mode 100644
index 000000000000..b05da9c67000
--- /dev/null
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -0,0 +1,120 @@
+{ stdenv, buildEnv, fetchurl, patchelf, bash
+
+# Linked dynamic libraries.
+, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr
+, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite
+, alsaLib, libXdamage, libXtst, libXrandr, expat, cups
+, dbus_libs, gtk, gdk_pixbuf, gcc
+
+# Will crash without.
+, udev
+
+# Loaded at runtime.
+, libexif
+
+# Additional dependencies according to other distros.
+## Ubuntu
+, liberation_ttf, curl, utillinux, xdg_utils, wget
+## Arch Linux.
+, flac, harfbuzz, icu, libpng, libopus, snappy, speechd
+## Gentoo
+, bzip2, libcap
+
+# Which distribution channel to use.
+, channel ? "stable"
+
+# Necessary for USB audio devices.
+, pulseSupport ? true, libpulseaudio ? null
+
+}:
+
+with stdenv.lib;
+
+with (import ../chromium/source/update.nix {
+  inherit (stdenv) system;
+}).getChannel channel;
+
+let
+  dist = if channel == "dev" then "unstable" else channel;
+
+  opusWithCustomModes = libopus.override {
+    withCustomModes = true;
+  };
+
+  env = buildEnv {
+    name = "google-chrome-env";
+    paths = [
+      glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
+      libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite
+      alsaLib libXdamage libXtst libXrandr expat cups
+      dbus_libs gtk gdk_pixbuf gcc
+      udev
+      libexif
+      liberation_ttf curl utillinux xdg_utils wget
+      flac harfbuzz icu libpng opusWithCustomModes snappy speechd
+      bzip2 libcap
+    ]
+    ++ optional pulseSupport libpulseaudio;
+  };
+in stdenv.mkDerivation rec {
+  inherit version;
+
+  name = "google-chrome-${version}";
+
+  src = fetchurl binary;
+
+  buildInputs = [ env patchelf ];
+
+  unpackPhase = ''
+    ar x $src
+    tar xf data.tar.xz
+  '';
+
+  installPhase = ''
+    exe=$out/bin/google-chrome-${dist}
+    rpath="${env}/lib:${env}/lib64"
+
+    mkdir -p $out/bin $out/share
+
+    cp -a opt/* $out/share
+    cp -a usr/share/* $out/share
+
+    substituteInPlace $out/share/applications/google-chrome.desktop \
+      --replace /usr/bin/google-chrome-${dist} $exe
+    substituteInPlace $out/share/gnome-control-center/default-apps/google-chrome.xml \
+      --replace /opt/google/chrome/google-chrome $exe
+    substituteInPlace $out/share/menu/google-chrome.menu \
+      --replace /opt $out/share \
+      --replace $out/share/google/chrome/google-chrome $exe
+
+    for icon_file in $out/share/google/chrome/product_logo_*[0-9].png; do
+      num_and_suffix="''${icon_file##*logo_}"
+      icon_size="''${num_and_suffix%.*}"
+      logo_output_prefix="$out/share/icons/hicolor"
+      logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
+      mkdir -p "$logo_output_path"
+      mv "$icon_file" "$logo_output_path/google-chrome.png"
+    done
+
+    cat > $exe << EOF
+    #!${bash}/bin/sh
+    export LD_LIBRARY_PATH=$rpath\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH}
+    export PATH=${env}/bin\''${PATH:+:\$PATH}
+    $out/share/google/chrome/google-chrome "\$@"
+    EOF
+    chmod +x $exe
+
+    for elf in $out/share/google/chrome/{chrome,chrome-sandbox,nacl_helper}; do
+      patchelf --set-rpath $rpath $elf
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
+    done
+  '';
+
+  meta = {
+    description = "A freeware web browser developed by Google";
+    homepage = "https://www.google.com/chrome/browser/";
+    license = licenses.unfree;
+    maintainers = [ maintainers.msteen ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
index b8aa17803e9f..81a05b360162 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://fribid.se;
     license = with licenses; [ gpl2 mpl10 ];
     maintainers = [ maintainers.edwtjo ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/cluster/chronos/default.nix b/pkgs/applications/networking/cluster/chronos/default.nix
index 596163336f7b..974c085bdc16 100644
--- a/pkgs/applications/networking/cluster/chronos/default.nix
+++ b/pkgs/applications/networking/cluster/chronos/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     license     = licenses.asl20;
     description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules";
     maintainers = with maintainers; [ offline ];
-    platforms   = with platforms; unix;
+    platforms   = platforms.unix;
     broken = true; # doesn't build http://hydra.nixos.org/build/25768319
   };
 }
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 6f92ca5a6b70..bb7a60f2b27f 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -137,6 +137,6 @@ in stdenv.mkDerivation rec {
     license     = licenses.asl20;
     description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
     maintainers = with maintainers; [ cstrahan offline rushmorem ];
-    platforms   = with platforms; linux;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 2b3296d502d7..dc11c086f9f5 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -20,11 +20,11 @@
 
 let
   # NOTE: When updating, please also update in current stable, as older versions stop working
-  version = "3.10.9";
+  version = "3.10.11";
   sha256 =
     {
-      "x86_64-linux" = "1kg6x1z8if63s15464xiz59qwncb5xhv108icicb5s2yhjzzyi29";
-      "i686-linux" = "172x9f7x425w5ljr6xa0srvv19qysmvr3gs3jkbmnxfwrfxyxf79";
+      "x86_64-linux" = "1bs8bscg9sihpmcdrsi1y4128a03s82fwb4df459afx459i7ir82";
+      "i686-linux" = "0cl868m303fsqv5ac8d8ygjywm6wgmirs60f35l1piv13cyj92ll";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/feedreaders/rsstail/default.nix b/pkgs/applications/networking/feedreaders/rsstail/default.nix
index 1a36dd8ae205..62054ef0613d 100644
--- a/pkgs/applications/networking/feedreaders/rsstail/default.nix
+++ b/pkgs/applications/networking/feedreaders/rsstail/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.vanheusden.com/rsstail/;
     license = licenses.gpl2Plus;
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index b29165fde97c..2c3b502e3c35 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,7 +1,8 @@
-{ fetchurl, stdenv
+{ fetchurl, stdenv, wrapGAppsHook
 , curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, hicolor_icon_theme
 , libarchive, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager
 , openldap , perl, pkgconfig, poppler, python, shared_mime_info, webkitgtk2
+, glib_networking, gsettings_desktop_schemas
 
 # Build options
 # TODO: A flag to build the manual.
@@ -55,8 +56,8 @@ stdenv.mkDerivation {
   '';
 
   buildInputs =
-    [ curl dbus dbus_glib gtk gnutls hicolor_icon_theme
-      libetpan perl pkgconfig python
+    [ curl dbus dbus_glib gtk gnutls gsettings_desktop_schemas hicolor_icon_theme
+      libetpan perl pkgconfig python wrapGAppsHook
     ]
     ++ optional enableSpellcheck enchant
     ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ]
@@ -91,6 +92,9 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  wrapPrefixVariables = [ "GIO_EXTRA_MODULES" ];
+  GIO_EXTRA_MODULES = "${glib_networking}/lib/gio/modules";
+
   postInstall = ''
     mkdir -p $out/share/applications
     cp claws-mail.desktop $out/share/applications
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index dda847fde079..241cfbd5bca7 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut, libtool }:
 
 stdenv.mkDerivation rec {
-  version = "0.65";
+  version = "0.66";
   name = "putty-${version}";
 
   src = fetchurl {
     url = "http://the.earth.li/~sgtatham/putty/latest/${name}.tar.gz";
-    sha256 = "180ccrsyh775hdmxqdnbclfbvsfdp2zk3gsadpa53sj497yw2hym";
+    sha256 = "14r9yfqjs61l82q09m8zifgcxrzvs6dvgx32ndl5i1jldkv14wzy";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
index eaa1c5e318aa..fdc27b63e9e3 100644
--- a/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     description = "Graphical NoMachine NX3 remote desktop client";
     homepage = http://x2go.org/;
     license = licenses.gpl2;
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 40e3fdef9803..65f3f256368e 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   name = "wireshark-${variant}-${version}";
 
   src = fetchurl {
-    url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
+    url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2";
     sha256 = "0b7rc1l1gvzcz7gfa6g7pcn32zrcfiqjx0rxm6cg3q1cwwa1qjn7";
   };
 
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index ca4c6d24315b..73ab0baca25f 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -7,11 +7,11 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "znc-1.6.1";
+  name = "znc-1.6.2";
 
   src = fetchurl {
     url = "http://znc.in/releases/${name}.tar.gz";
-    sha256 = "0h61nv5kx9k8prmhsffxhlprf7gjcq8vqhjjmqr6v3glcirkjjds";
+    sha256 = "14q5dyr5zg99hm6j6g1gilcn1zf7dskhxfpz3bnkyhy6q0kpgwgf";
   };
 
   buildInputs = [ openssl pkgconfig ]
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
new file mode 100644
index 000000000000..df6eabbcff0b
--- /dev/null
+++ b/pkgs/applications/office/gnucash/2.6.nix
@@ -0,0 +1,100 @@
+{ fetchurl, stdenv, pkgconfig, libxml2, libxslt, perl, perlPackages, gconf, guile
+, intltool, glib, gtk, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
+, webkit, glibcLocales, gsettings_desktop_schemas, makeWrapper, dconf, file
+, gettext, swig, slibGuile, enchant, bzip2, isocodes
+}:
+
+/*
+Two cave-ats right now:
+  1. HTML reports are broken
+  2. You need to have dconf installed (GNOME3 should have it automatically,
+     otherwise put it in environment.systemPackages), for settings
+*/
+
+stdenv.mkDerivation rec {
+  name = "gnucash-2.6.9";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
+    sha256 = "0iw25l1kv60cg6fd2vg11mcvzmjqnc5p9lp3rjy06ghkjfrn3and";
+  };
+
+  buildInputs = [
+    # general
+    intltool pkgconfig libxml2 libxslt glibcLocales file gettext swig enchant
+    bzip2 isocodes
+    # glib, gtk...
+    glib gtk goffice webkit
+    # gnome...
+    dconf gconf libgnomecanvas gsettings_desktop_schemas
+    # financial
+    libofx aqbanking gwenhywfar
+    # perl
+    perl perlPackages.FinanceQuote perlPackages.DateManip
+    # guile
+    guile slibGuile
+    # build
+    makeWrapper
+  ];
+
+  patchPhase = ''
+  patchShebangs ./src
+  '';
+
+  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking";
+
+
+  postInstall = ''
+    # Auto-updaters don't make sense in Nix.
+    rm $out/bin/gnc-fq-update
+
+    #sed -i $out/bin/update-gnucash-gconf \
+    #   -e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
+
+    for prog in $(echo "$out/bin/"*)
+    do
+      # Don't wrap the gnc-fq-* scripts, since gnucash calls them as
+      # "perl <script>', i.e. they must be Perl scripts.
+      if [[ $prog =~ gnc-fq ]]; then continue; fi
+      wrapProgram "$prog"                                               \
+        --set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH"                \
+        --prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"                 \
+        --prefix PERL5LIB ":" "$PERL5LIB"                               \
+        --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
+        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${name}" \
+        --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"  \
+        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
+    done
+
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  # The following settings fix failures in the test suite. It's not required otherwise.
+  NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib}/lib";
+  preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Personal and small-business financial-accounting application";
+
+    longDescription = ''
+      GnuCash is personal and small-business financial-accounting software,
+      freely licensed under the GNU GPL and available for GNU/Linux, BSD,
+      Solaris, Mac OS X and Microsoft Windows.
+
+      Designed to be easy to use, yet powerful and flexible, GnuCash allows
+      you to track bank accounts, stocks, income and expenses.  As quick and
+      intuitive to use as a checkbook register, it is based on professional
+      accounting principles to ensure balanced books and accurate reports.
+    '';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    homepage = http://www.gnucash.org/;
+
+    maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.iElectric ];
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 3f3bedb546d6..ead347e483ff 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
   # The following settings fix failures in the test suite. It's not required otherwise.
   NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib}/lib";
   preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
-  doCheck = true;
+
+  doCheck = false;      # https://github.com/NixOS/nixpkgs/issues/11084
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix
index 750fca150282..28760602575f 100644
--- a/pkgs/applications/office/pinpoint/default.nix
+++ b/pkgs/applications/office/pinpoint/default.nix
@@ -1,15 +1,15 @@
 { fetchurl, stdenv, pkgconfig, autoconf, automake, clutter, clutter-gst
-, gdk_pixbuf, cairo }:
+, gdk_pixbuf, cairo, clutter_gtk }:
 
 stdenv.mkDerivation rec {
   name = "pinpoint-${version}";
-  version = "0.1.6";
+  version = "0.1.8";
   src = fetchurl {
     url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${name}.tar.xz";
-    sha256 = "0jzkf74w75paflnvsil2y6qsyaqgxf6akz97176xdg6qri4nwal1";
+    sha256 = "1jp8chr9vjlpb5lybwp5cg6g90ak5jdzz9baiqkbg0anlg8ps82s";
   };
   buildInputs = [ pkgconfig autoconf automake clutter clutter-gst gdk_pixbuf
-                  cairo ];
+                  cairo clutter_gtk ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/action/show/Apps/Pinpoint;
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index 4f887f511ae1..f4870d7bfbbd 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -17,6 +17,6 @@ stdenv.mkDerivation {
     homepage = "http://ngspice.sourceforge.net";
     license = with licenses; [ "BSD" gpl2 ];
     maintainers = with maintainers; [ viric ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/geometry/drgeo/default.nix b/pkgs/applications/science/geometry/drgeo/default.nix
index 63b757945d29..f0be5258ce45 100644
--- a/pkgs/applications/science/geometry/drgeo/default.nix
+++ b/pkgs/applications/science/geometry/drgeo/default.nix
@@ -1,24 +1,23 @@
-args @ { libxml2, perl, intltool, libtool, pkgconfig, gtk, ... } : with args;
-let version = lib.attrByPath ["version"] "1.1.0" args; in
-rec {
+{ stdenv, fetchurl, libglade, gtk, guile, libxml2, perl
+, intltool, libtool, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "drgeo-${version}";
+  version = "1.1.0";
+
   src = fetchurl {
-    url = mirror://sourceforge/ofset/drgeo-1.1.0.tar.gz;
+    url = "mirror://sourceforge/ofset/${name}.tar.gz";
     sha256 = "05i2czgzhpzi80xxghinvkyqx4ym0gm9f38fz53idjhigiivp4wc";
   };
+  patches = [ ./struct.patch ];
 
   buildInputs = [libglade gtk guile libxml2
     perl intltool libtool pkgconfig];
-  configureFlags = [];
-
-  /* doConfigure should be specified separately */
-  phaseNames = ["doPatch" "doConfigure" "doPreBuild" "doMakeInstall"];
-  patches = [ ./struct.patch ];
 
-  doPreBuild = fullDepEntry (''
+  prebuild = ''
     cp drgeo.desktop.in drgeo.desktop
-  '') ["minInit" "doUnpack"];
+  '';
 
-  name = "drgeo-" + version;
   meta = {
     description = "Interactive geometry program";
   };
diff --git a/pkgs/applications/science/logic/coq/8.5.nix b/pkgs/applications/science/logic/coq/8.5.nix
index 2afa18d40a4b..48013bfc4014 100644
--- a/pkgs/applications/science/logic/coq/8.5.nix
+++ b/pkgs/applications/science/logic/coq/8.5.nix
@@ -6,7 +6,7 @@
 {stdenv, fetchurl, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}:
 
 let
-  version = "8.5b2";
+  version = "8.5b3";
   coq-version = "8.5";
   buildIde = lablgtk != null;
   ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
@@ -23,8 +23,8 @@ stdenv.mkDerivation {
   inherit ocaml camlp5;
 
   src = fetchurl {
-    url = https://coq.inria.fr/distrib/V8.5beta2/files/coq-8.5beta2.tar.gz;
-    sha256 = "1z34ch56lld86srgsjdwdq3girz0k0wqmvyxsa7jwvvxn3qmmq2v";
+    url = https://coq.inria.fr/distrib/V8.5beta3/files/coq-8.5beta3.tar.gz;
+    sha256 = "12nnvfz5rsz660j4knhfhfbwq49y2va0rgfrxyiyrr1q4ic84wn6";
   };
 
   buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ];
diff --git a/pkgs/applications/science/logic/cvc3/default.nix b/pkgs/applications/science/logic/cvc3/default.nix
index ce6e039c5b1b..505d09ef3903 100644
--- a/pkgs/applications/science/logic/cvc3/default.nix
+++ b/pkgs/applications/science/logic/cvc3/default.nix
@@ -1,48 +1,27 @@
-x@{builderDefsPackage
-  , flex, bison, gmp, perl
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    ["gmp"];
+{ stdenv, fetchurl, flex, bison, gmp, perl }:
 
-  buildInputs = (map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
-    ++ [(a.lib.overrideDerivation x.gmp (y: {dontDisableStatic=true;}))];
-  sourceInfo = rec {
-    baseName="cvc3";
-    version="2.4.1";
-    name="${baseName}-${version}";
-    url="http://www.cs.nyu.edu/acsys/cvc3/releases/${version}/${name}.tar.gz";
-    hash="1xxcwhz3y6djrycw8sm6xz83wb4hb12rd1n0skvc7fng0rh1snym";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+    name = "cvc3-${version}";
+    version = "2.4.1";
+
+    src = fetchurl {
+      url = "http://www.cs.nyu.edu/acsys/cvc3/releases/${version}/${name}.tar.gz";
+      sha256 = "1xxcwhz3y6djrycw8sm6xz83wb4hb12rd1n0skvc7fng0rh1snym";
+    };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ gmp flex bison perl ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["fixPaths" "doConfigure" "doMakeInstall"];
-  fixPaths = a.fullDepEntry (''
+  preConfigure = ''
     sed -e "s@ /bin/bash@bash@g" -i Makefile.std
     find . -exec sed -e "s@/usr/bin/perl@${perl}/bin/perl@g" -i '{}' ';'
-  '') ["minInit" "doUnpack"];
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A prover for satisfiability modulo theory (SMT)";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.free;
+    maintainers = with maintainers;
+      [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.free;
     homepage = "http://www.cs.nyu.edu/acsys/cvc3/index.html";
   };
   passthru = {
@@ -50,4 +29,4 @@ rec {
       downloadPage = "http://www.cs.nyu.edu/acsys/cvc3/download.html";
     };
   };
-}) x
+}
diff --git a/pkgs/applications/science/logic/iprover/default.nix b/pkgs/applications/science/logic/iprover/default.nix
index e03b33fa43cc..fe906fbe3578 100644
--- a/pkgs/applications/science/logic/iprover/default.nix
+++ b/pkgs/applications/science/logic/iprover/default.nix
@@ -1,35 +1,19 @@
-x@{builderDefsPackage
-  , ocaml, eprover
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ stdenv, fetchurl, ocaml, eprover }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="iprover";
-    version="0.8.1";
-    name="${baseName}_v${version}";
-    url="http://${baseName}.googlecode.com/files/${name}.tar.gz";
-    hash="15qn523w4l296np5rnkwi50a5x2xqz0kaza7bsh9bkazph7jma7w";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "iprover-${version}";
+  version = "0.8.1";
+
+  src = fetchurl {
+    url = "http://iprover.googlecode.com/files/iprover_v${version}.tar.gz";
+    sha256 = "15qn523w4l296np5rnkwi50a5x2xqz0kaza7bsh9bkazph7jma7w";
   };
 
-  name = "${sourceInfo.baseName}-${sourceInfo.version}";
-  inherit buildInputs;
+  buildInputs = [ ocaml eprover ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMake" "doDeploy"];
-  configureCommand = "sh configure";
-  doDeploy = a.fullDepEntry (''
+  preConfigure = ''patchShebangs .'';
+
+  installPhase = ''
     mkdir -p "$out/bin"
     cp iproveropt "$out/bin"
 
@@ -37,22 +21,16 @@ rec {
     cp *.p "$out/share/${name}"
     echo -e "#! /bin/sh\\n$out/bin/iproveropt --clausifier \"${eprover}/bin/eprover\" --clausifier_options \" --tstp-format --silent --cnf \" \"\$@\"" > "$out"/bin/iprover
     chmod a+x  "$out"/bin/iprover
-  '') ["defEnsureDir" "minInit" "doMake"];
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An automated first-order logic theorem prover";
-    maintainers = with a.lib.maintainers;
+    maintainers = with maintainers;
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = with a.lib.licenses;
-      gpl3;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/iprover/downloads/list";
-    };
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    downloadPage = "http://code.google.com/p/iprover/downloads/list";
   };
-}) x
+}
diff --git a/pkgs/applications/science/logic/opensmt/default.nix b/pkgs/applications/science/logic/opensmt/default.nix
index 62e11651175f..6129eaadc891 100644
--- a/pkgs/applications/science/logic/opensmt/default.nix
+++ b/pkgs/applications/science/logic/opensmt/default.nix
@@ -1,47 +1,25 @@
-x@{builderDefsPackage
-  , automake, libtool, autoconf, intltool, perl
-  , gmpxx, flex, bison
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ stdenv, fetchurl, automake, libtool, autoconf, intltool, perl
+, gmpxx, flex, bison
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="opensmt";
-    version="20101017";
-    name="${baseName}-${version}";
-    filename="${baseName}_src_${version}";
-    url="http://${baseName}.googlecode.com/files/${filename}.tgz";
-    hash="0xrky7ixjaby5x026v7hn72xh7d401w9jhccxjn0khhn1x87p2w1";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
+stdenv.mkDerivation rec {
+  name = "opensmt-${version}";
+  version = "20101017";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "http://opensmt.googlecode.com/files/opensmt_src_${version}.tgz";
+    sha256 = "0xrky7ixjaby5x026v7hn72xh7d401w9jhccxjn0khhn1x87p2w1";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doAutotools" "doConfigure" "doMakeInstall"];
+  buildInputs = [ automake libtool autoconf intltool perl gmpxx flex bison ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A satisfiability modulo theory (SMT) solver";
-    maintainers = [ a.lib.maintainers.raskin ];
-    platforms = a.lib.platforms.linux;
-    license = a.stdenv.lib.licenses.gpl3;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
     homepage = "http://code.google.com/p/opensmt/";
     broken = true;
+    downloadPage = "http://code.google.com/p/opensmt/downloads/list";
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://code.google.com/p/opensmt/downloads/list";
-    };
-  };
-}) x
+}
diff --git a/pkgs/applications/science/logic/spass/default.nix b/pkgs/applications/science/logic/spass/default.nix
index 5327ed6a42aa..24da52b9d07c 100644
--- a/pkgs/applications/science/logic/spass/default.nix
+++ b/pkgs/applications/science/logic/spass/default.nix
@@ -1,49 +1,27 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="spass";
-    baseVersion="3";
-    minorVersion="7";
-    version="${baseVersion}.${minorVersion}";
-    name="${baseName}-${version}";
-    url="http://www.spass-prover.org/download/sources/${baseName}${baseVersion}${minorVersion}.tgz";
-    hash="1k5a98kr3vzga54zs7slwwaaf6v6agk1yfcayd8bl55q15g7xihk";
-  };
+let
+  baseVersion="3";
+  minorVersion="7";
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+stdenv.mkDerivation rec {
+  name = "spass-${version}";
+  version = "${baseVersion}.${minorVersion}";
+
+  src = fetchurl {
+    url = "http://www.spass-prover.org/download/sources/spass${baseVersion}${minorVersion}.tgz";
+    sha256 = "1k5a98kr3vzga54zs7slwwaaf6v6agk1yfcayd8bl55q15g7xihk";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "An automated theorem preover for FOL";
-    maintainers = with a.lib.maintainers;
+    maintainers = with maintainers;
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.bsd2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.spass-prover.org/download/index.html";
-    };
+    platforms = platforms.linux;
+    license = licenses.bsd2;
+    downloadPage = "http://www.spass-prover.org/download/index.html";
   };
-}) x
-
+}
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 79bfef08bb50..7c8e76d676b7 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt
 , libjpeg, libpng, libtiff, ncurses, pango, pcre, perl, readline, tcl
 , texLive, tk, xz, zlib, less, texinfo, graphviz, icu, pkgconfig, bison
-, imake, which, jdk, openblas
+, imake, which, jdk, openblas, curl
 , withRecommendedPackages ? true
 }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ bzip2 gfortran libX11 libXmu libXt
     libXt libjpeg libpng libtiff ncurses pango pcre perl readline tcl
     texLive tk xz zlib less texinfo graphviz icu pkgconfig bison imake
-    which jdk openblas
+    which jdk openblas curl
   ];
 
   patches = [ ./no-usr-local-search-paths.patch
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index e810879eba60..dcd0734d85d9 100644
--- a/pkgs/applications/science/math/gap/default.nix
+++ b/pkgs/applications/science/math/gap/default.nix
@@ -1,68 +1,50 @@
-x@{builderDefsPackage
-  , pari ? null
-  , ...}:
-builderDefsPackage
-(a :
+{ stdenv, fetchurl, pari ? null }:
+
 let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+  baseName = "gap";
+  version = "4r4p12";
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="gap";
-    version="4r4p12";
-    name="${baseName}-${version}";
-    url="ftp://ftp.gap-system.org/pub/gap/gap4/tar.gz/${baseName}${version}.tar.gz";
-    hash="0flap5lbkvpms3zznq1zwxyxyj0ax3fk7m24f3bvhvr37vyxnf40";
-    pkgVer="2012_01_12-10_47_UTC";
-    pkgURL="ftp://ftp.gap-system.org/pub/gap/gap4/tar.bz2/packages-${pkgVer}.tar.bz2";
-    pkgHash="0z9ncy1m5gvv4llkclxd1vpcgpb0b81a2pfmnhzvw8x708frhmnb";
+  pkgVer = "2012_01_12-10_47_UTC";
+  pkgSrc = fetchurl {
+    url = "ftp://ftp.gap-system.org/pub/gap/gap4/tar.bz2/packages-${pkgVer}.tar.bz2";
+    sha256 = "0z9ncy1m5gvv4llkclxd1vpcgpb0b81a2pfmnhzvw8x708frhmnb";
   };
 in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
 
-  pkgSrc = a.fetchurl {
-    url=sourceInfo.pkgURL;
-    sha256=sourceInfo.pkgHash;
-  };
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  src = fetchurl {
+    url = "ftp://ftp.gap-system.org/pub/gap/gap4/tar.gz/${baseName}${version}.tar.gz";
+    sha256 = "0flap5lbkvpms3zznq1zwxyxyj0ax3fk7m24f3bvhvr37vyxnf40";
+  };
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMake" "doDeploy"];
+  buildInputs = [ pari ];
 
-  doDeploy = a.fullDepEntry ''
+  installPhase = ''
     mkdir -p "$out/bin" "$out/share/gap/"
 
     cp -r . "$out/share/gap/build-dir"
 
     tar xf "${pkgSrc}" -C "$out/share/gap/build-dir/pkg"
 
-    ${if a.pari != null then
+    ${if pari != null then
       ''sed -e '2iexport PATH=$PATH:${pari}/bin' -i "$out/share/gap/build-dir/bin/gap.sh" ''
     else ""}
     sed -e "/GAP_DIR=/aGAP_DIR='$out/share/gap/build-dir/'" -i "$out/share/gap/build-dir/bin/gap.sh"
 
     ln -s "$out/share/gap/build-dir/bin/gap.sh" "$out/bin"
-  '' ["doMake" "minInit" "defEnsureDir"];
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Computational discrete algebra system";
-    maintainers = with a.lib.maintainers;
+    maintainers = with maintainers;
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = with a.lib.licenses;
-      gpl2;
-    homepage = "http://gap-system.org/";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    homepage = http://gap-system.org/;
     broken = true;
   };
-}) x
+}
diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix
index 1afb510e9948..8bae1d6206d0 100644
--- a/pkgs/applications/science/math/singular/default.nix
+++ b/pkgs/applications/science/math/singular/default.nix
@@ -1,55 +1,34 @@
-x@{builderDefsPackage
-  , gmp, bison, perl, autoconf, ncurses, readline
-  , coreutils
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{ stdenv, fetchurl, gmp, bison, perl, autoconf, ncurses, readline, coreutils }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="Singular";
-    version="3-1-2";
-    revision="-1";
-    name="${baseName}-${version}${revision}";
-    url="http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${version}/${name}.tar.gz";
-    hash="04f9i1xar0r7qrrbfki1h9rrmx5y2xg4w7rrvlbx05v2dy6s8djv";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "singular-${version}";
+  version="3-1-2";
+
+  src = fetchurl {
+    url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${version}/${name}.tar.gz";
+    sha256 = "04f9i1xar0r7qrrbfki1h9rrmx5y2xg4w7rrvlbx05v2dy6s8djv";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ gmp bison perl autoconf ncurses readline coreutils ];
+
+  preConfigure = ''
+    find . -exec sed -e 's@/bin/rm@${coreutils}&@g' -i '{}' ';'
+    find . -exec sed -e 's@/bin/uname@${coreutils}&@g' -i '{}' ';'
+  '';
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doFixPaths" "doConfigure" "doMakeInstall" "fixInstall"];
-  doFixPaths = a.fullDepEntry (''
-    find . -exec sed -e 's@/bin/rm@${a.coreutils}&@g' -i '{}' ';'
-    find . -exec sed -e 's@/bin/uname@${a.coreutils}&@g' -i '{}' ';'
-  '') ["minInit" "doUnpack"];
-  fixInstall = a.fullDepEntry (''
+  postInstall = ''
     rm -rf "$out/LIB"
     cp -r Singular/LIB "$out"
     mkdir -p "$out/bin"
     ln -s "$out/"*/Singular "$out/bin"
-  '') ["minInit" "defEnsureDir"];
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A CAS for polynomial computations";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.stdenv.lib.licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
+    maintainers = with maintainers;
+      [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
     homepage = "http://www.singular.uni-kl.de/index.php";
   };
   passthru = {
@@ -57,4 +36,4 @@ rec {
       downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/";
     };
   };
-}) x
+}
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 0c5aec00405f..5e95b408bf7e 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -2,19 +2,19 @@
 
 pkgs.buildPythonPackage rec {
     name = "tortoisehg-${version}";
-    version = "3.4.2";
+    version = "3.6";
     namePrefix = "";
 
     src = pkgs.fetchurl {
       url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
-      sha256 = "18a587c8fybfjxbcj8i2smypxy7vfzmmrzibs74n3zy6dlb949nj";
+      sha256 = "ec43d13f029bb23a12129d2a2c3b3b4daf3d8121cbb5c9c23e4872f7b0b75ad8";
     };
 
     pythonPath = [ pkgs.pyqt4 mercurial ]
        ++ (with pyPackages; [qscintilla iniparse]);
 
     propagatedBuildInputs = with pyPackages; [ qscintilla iniparse ];
-    
+
     doCheck = false;
 
     postUnpack = ''
@@ -33,4 +33,4 @@ pkgs.buildPythonPackage rec {
       platforms = lib.platforms.linux;
       maintainers = [ "abcz2.uprola@gmail.com" ];
     };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
index 57c8ca574b41..5d1a0e4a95b6 100644
--- a/pkgs/applications/video/key-mon/default.nix
+++ b/pkgs/applications/video/key-mon/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchurl, buildPythonPackage, gnome, librsvg, makeWrapper, pygtk
-, pythonPackages }:
+{ stdenv, fetchurl, buildPythonPackage, gnome, librsvg, pygtk, pythonPackages }:
 
 buildPythonPackage rec {
   name = "key-mon-${version}";
@@ -12,14 +11,13 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs =
-    [ gnome.python_rsvg librsvg makeWrapper pygtk pythonPackages.xlib ];
+    [ gnome.python_rsvg librsvg pygtk pythonPackages.xlib ];
 
   doCheck = false;
 
-  postInstall = ''
-      wrapProgram $out/bin/key-mon --prefix GDK_PIXBUF_MODULE_FILE : \
-      ${librsvg}/lib/gdk-pixbuf/loaders.cache
-    '';
+  preFixup = ''
+      export makeWrapperArgs="--set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE"
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://code.google.com/p/key-mon;
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index ed2fb0ac8869..817377d900ba 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, kodi }:
+{ stdenv, fetchFromGitHub, kodi, steam }:
 
 let
 
@@ -81,13 +81,13 @@ in
 
     plugin = "svtplay";
     namespace = "plugin.video.svtplay";
-    version = "4.0.15";
+    version = "4.0.18";
 
     src = fetchFromGitHub {
       owner = "nilzen";
       repo = "xbmc-" + plugin;
-      rev = "3b926898b7007827b469ecb1c27ede4238fd26f6";
-      sha256 = "1bx2c3z8rbkk75hykpmls956hfkwvsm4d8gvlrh53s8zimlwgv7k";
+      rev = "b60cc1164d0077451be935d0d1a26f2d29b0f589";
+      sha256 = "0rdmrgjlzhnrpmhgqvf2947i98s51r0pjbnwrhw67nnqkylss5dj";
     };
 
     meta = with stdenv.lib; {
@@ -105,4 +105,33 @@ in
 
   };
 
+  steam-launcher = (mkKodiPlugin rec {
+  
+    plugin = "steam-launcher";
+    namespace = "script.steam.launcher";
+    version = "3.1.1";
+
+    src = fetchFromGitHub rec {
+      owner = "teeedubb";
+      repo = owner + "-xbmc-repo";
+      rev = "bb66db7c4927619485373699ff865a9b00e253bb";
+      sha256 = "1skjkz0h6nkg04vylhl4zzavf5lba75j0qbgdhb9g7h0a98jz7s4";
+    };
+
+    meta = with stdenv.lib; {
+      homepage = "http://forum.kodi.tv/showthread.php?tid=157499";
+      description = "Launch Steam in Big Picture Mode from Kodi";
+      longDescription = ''
+        This add-on will close/minimise Kodi, launch Steam in Big
+        Picture Mode and when Steam BPM is exited (either by quitting
+        Steam or returning to the desktop) Kodi will
+        restart/maximise. Running pre/post Steam scripts can be
+        configured via the addon.
+      '';
+      maintainers = with maintainers; [ edwtjo ];
+    };
+  }).override {
+    propagatedBuildinputs = [ steam ];
+  };
+
 }
diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix
index b9c4de0811de..9ae200abebb2 100644
--- a/pkgs/applications/video/minitube/default.nix
+++ b/pkgs/applications/video/minitube/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     '';
     homepage = http://flavio.tordini.org/minitube;
     license = licenses.gpl3Plus;
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
   };
 
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 79661ca1f306..0bd0263005f5 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, fetchurl
+, fetchFromGitHub
 , cmake
 , ffmpeg
 , jansson
@@ -17,15 +17,19 @@ let
   optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "obs-studio-${version}";
-  version = "0.12.0";
+  version = "0.12.1";
 
-  src = fetchurl {
-    url = "https://github.com/jp9000/obs-studio/archive/${version}.tar.gz";
-    sha256 = "0nkfzy9wzsy7y0r02vc0648gx2aa6f7ibahrv89hxqr4x6x8d7di";
+  src = fetchFromGitHub {
+    owner = "jp9000";
+    repo = "obs-studio";
+    rev = "${version}";
+    sha256 = "0n5bpjgdk3gi0xghfhphiyh5r1q1yksaz34as306i051y01shzl6";
   };
 
-  buildInputs = [ cmake
-                  curl
+  nativeBuildInputs = [ cmake
+                      ];
+
+  buildInputs = [ curl
                   ffmpeg
                   jansson
                   libv4l
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 2363ccd910b1..3380306e165c 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,39 +1,43 @@
-{ stdenv, fetchFromGitHub, makeWrapper, go, lxc, sqlite, iproute, bridge-utils, devicemapper,
-btrfsProgs, iptables, bash, e2fsprogs, xz, utillinux}:
+{ stdenv, fetchFromGitHub, makeWrapper
+, go, sqlite, iproute, bridge-utils, devicemapper
+, btrfsProgs, iptables, e2fsprogs, xz, utillinux
+, enableLxc ? false, lxc
+}:
 
 # https://github.com/docker/docker/blob/master/project/PACKAGERS.md
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "docker-${version}";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "docker";
     rev = "v${version}";
-    sha256 = "0nwd5wsw9f50jh4s5c5sfd6hnyh3g2kmxcrid36y1phabh30yrcz";
+    sha256 = "1a1ss210i712fs9mp5hcljb8bdx93lss91sxj9zay0vrmdb84zn2";
   };
 
-  buildInputs = [ makeWrapper go sqlite lxc iproute bridge-utils devicemapper btrfsProgs iptables e2fsprogs ];
+  buildInputs = [
+    makeWrapper go sqlite iproute bridge-utils devicemapper btrfsProgs
+    iptables e2fsprogs
+  ];
 
   dontStrip = true;
 
-  preConfigure = ''
-    mv vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/{jump_amd64.go,jump_linux.go}
-    sed -i 's/,amd64//' vendor/src/github.com/opencontainers/runc/libcontainer/seccomp/jump_linux.go
-  '';
-
   buildPhase = ''
     patchShebangs .
     export AUTO_GOPATH=1
-    export DOCKER_GITCOMMIT="786b29d4"
+    export DOCKER_GITCOMMIT="76d6bc9a"
     ./hack/make.sh dynbinary
   '';
 
   installPhase = ''
     install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker
     install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit
-    makeWrapper $out/libexec/docker/docker $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin:${utillinux}/bin"
+    makeWrapper $out/libexec/docker/docker $out/bin/docker \
+      --prefix PATH : "${iproute}/sbin:sbin:${iptables}/sbin:${e2fsprogs}/sbin:${xz}/bin:${utillinux}/bin:${optionalString enableLxc "${lxc}/bin"}"
 
     # systemd
     install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
diff --git a/pkgs/applications/virtualization/docker/gc.nix b/pkgs/applications/virtualization/docker/gc.nix
new file mode 100644
index 000000000000..f9fb6311fc3a
--- /dev/null
+++ b/pkgs/applications/virtualization/docker/gc.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, docker, coreutils, procps, gnused, findutils, gnugrep }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "docker-gc-${rev}";
+  rev = "b0cc52aa3da2e2ac0080794e0be6e674b1f063fc";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "spotify";
+    repo = "docker-gc";
+    sha256 = "07wf9yn0f771xkm3x12946x5rp83hxjkd70xgfgy35zvj27wskzm";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp docker-gc $out/bin
+    chmod +x $out/bin/docker-gc
+    wrapProgram $out/bin/docker-gc \
+        --prefix PATH : "${docker}/bin:${coreutils}/bin:${procps}/bin:${gnused}/bin:${findutils}/bin:${gnugrep}/bin"
+  '';
+
+  meta = {
+    description = "Docker garbage collection of containers and images";
+    license = licenses.asl20;
+    homepage = https://github.com/spotify/docker-gc;
+    maintainers = with maintainers; [offline];
+    platforms = docker.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index 790afe756450..d3e0c4ff04da 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -4,10 +4,12 @@
 let
   coreosImageRelease = "794.1.0";
   coreosImageSystemdVersion = "222";
-  stage1Flavour = "coreos";
+
+  # TODO: track https://github.com/coreos/rkt/issues/1758 to allow "host" flavor.
+  stage1Flavours = [ "coreos" ];
 
 in stdenv.mkDerivation rec {
-  version = "0.10.0";
+  version = "0.11.0";
   name = "rkt-${version}";
   BUILDDIR="build-${name}";
 
@@ -15,7 +17,7 @@ in stdenv.mkDerivation rec {
       rev = "v${version}";
       owner = "coreos";
       repo = "rkt";
-      sha256 = "1d9n00wkzib4v5mfl46f2mqc8zfpv33kqixifmv8p4azqv78cbxn";
+      sha256 = "0qdg3m99viymran9n7rxywwbqr3xqgk8r7hsk6nj3liwqsx6agiv";
   };
 
   stage1BaseImage = fetchurl {
@@ -28,10 +30,11 @@ in stdenv.mkDerivation rec {
   preConfigure = ''
     ./autogen.sh
     configureFlagsArray=(
-      --with-stage1=${stage1Flavour}
-      --with-stage1-image-path=$out/stage1-${stage1Flavour}.aci
+      --with-stage1-flavors=${builtins.concatStringsSep "," stage1Flavours}
+      ${if lib.findFirst (p: p == "coreos") null stage1Flavours != null then "
       --with-coreos-local-pxe-image-path=${stage1BaseImage}
       --with-coreos-local-pxe-image-systemd-version=v${coreosImageSystemdVersion}
+      " else "" }
     );
   '';
 
diff --git a/pkgs/applications/window-managers/fbpanel/default.nix b/pkgs/applications/window-managers/fbpanel/default.nix
index b0c5b34bf3cc..ba021a584212 100644
--- a/pkgs/applications/window-managers/fbpanel/default.nix
+++ b/pkgs/applications/window-managers/fbpanel/default.nix
@@ -1,53 +1,30 @@
-x@{builderDefsPackage
-  , libX11, gtk, pkgconfig, libXmu
-  , libXpm, libpng, libjpeg, libtiff, librsvg
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, pkgconfig
+, libX11, libXmu, libXpm, gtk, libpng, libjpeg, libtiff, librsvg
+}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="fbpanel";
-    version="6.1";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/${baseName}/${name}.tbz2";
-    hash="e14542cc81ea06e64dd4708546f5fd3f5e01884c3e4617885c7ef22af8cf3965";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+stdenv.mkDerivation rec {
+  name = "fbpanel-${version}";
+  version = "6.1";
+  src = fetchurl {
+    url = "mirror://sourceforge/fbpanel/${name}.tbz2";
+    sha256 = "e14542cc81ea06e64dd4708546f5fd3f5e01884c3e4617885c7ef22af8cf3965";
   };
+  buildInputs =
+    [ pkgconfig libX11 libXmu libXpm gtk libpng libjpeg libtiff librsvg ];
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  preConfigure = "patchShebangs .";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["setVars" "doUnpack" "fixPaths" "doConfigure" "doMakeInstall"];
+  NIX_LDFLAGS="-lX11";
 
-  fixPaths=(a.doPatchShebangs ".");
-  setVars = a.fullDepEntry ''
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lX11"
-  '' [];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "A stand-alone panel";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = with maintainers; [ raskin ];
+    platforms = with platforms; linux;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "fbpanel.sourceforge.net";
     };
   };
-}) x
-
+}
diff --git a/pkgs/applications/window-managers/stalonetray/default.nix b/pkgs/applications/window-managers/stalonetray/default.nix
index fdb81a88b151..0c362dce60b5 100644
--- a/pkgs/applications/window-managers/stalonetray/default.nix
+++ b/pkgs/applications/window-managers/stalonetray/default.nix
@@ -1,47 +1,23 @@
-x@{builderDefsPackage
-  , libX11, xproto
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl, libX11, xproto }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="stalonetray";
-    version="0.8.1";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/${baseName}/${name}.tar.bz2";
-    hash="1wp8pnlv34w7xizj1vivnc3fkwqq4qgb9dbrsg15598iw85gi8ll";
+stdenv.mkDerivation rec {
+  name = "stalonetray-${version}";
+  version = "0.8.1";
+  src = fetchurl {
+    url = "mirror://sourceforge/stalonetray/${name}.tar.bz2";
+    sha256 = "1wp8pnlv34w7xizj1vivnc3fkwqq4qgb9dbrsg15598iw85gi8ll";
   };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ libX11 xproto ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "Stand alone tray";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
+    maintainers = with maintainers; [ raskin ];
+    platforms = with platforms; linux;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://sourceforge.net/projects/stalonetray/files/";
     };
   };
-}) x
-
+}
diff --git a/pkgs/applications/window-managers/tabbed/default.nix b/pkgs/applications/window-managers/tabbed/default.nix
index a7e2059cd042..68c72a20e673 100644
--- a/pkgs/applications/window-managers/tabbed/default.nix
+++ b/pkgs/applications/window-managers/tabbed/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     description = "Simple generic tabbed fronted to xembed aware applications";
     license = licenses.mit;
     maintainers = with maintainers; [ viric ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/vwm/default.nix b/pkgs/applications/window-managers/vwm/default.nix
index 1e6b53446aa4..b5d4733bae54 100644
--- a/pkgs/applications/window-managers/vwm/default.nix
+++ b/pkgs/applications/window-managers/vwm/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "Dynamic window manager for the console";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ viric ];
-    platforms = with platforms; linux;
+    platforms = platforms.linux;
   };
 }