about summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-03-08 09:57:58 +0100
committerVladimír Čunát <vcunat@gmail.com>2016-03-08 09:58:19 +0100
commit09af15654f0c8091f1b9e0bbb2e523cdee194442 (patch)
treee648edef1ce4c64c533f2593aa22b8015cf0e506 /pkgs/desktops
parentf306e67e15bdbe9a8358c9f81319fc4fcbadc2eb (diff)
parent0ee75214f336474e127c2e3546c0406a0c4d5fa7 (diff)
downloadnixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar
nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.gz
nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.bz2
nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.lz
nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.xz
nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.tar.zst
nixlib-09af15654f0c8091f1b9e0bbb2e523cdee194442.zip
Merge master into closure-size
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/e19/default.nix13
-rw-r--r--pkgs/desktops/e19/econnman.nix4
-rw-r--r--pkgs/desktops/e19/efl.nix10
-rw-r--r--pkgs/desktops/e19/elementary.nix10
-rw-r--r--pkgs/desktops/e19/emotion.nix6
-rw-r--r--pkgs/desktops/e19/enlightenment.nix10
-rw-r--r--pkgs/desktops/e19/evas.nix6
-rw-r--r--pkgs/desktops/e19/terminology.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/eog/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/evince/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/gnome-shell/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/libgxps/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/nautilus/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/vte/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.18/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.18/installer.nix15
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/default.nix2
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/filelight.nix35
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kcalc.nix38
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/default.nix14
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch74
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix12
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh98
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch13
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix32
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh5
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix13
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh43
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix4
-rwxr-xr-xpkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh2
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix11
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh1
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/srcs.nix304
-rw-r--r--pkgs/desktops/xfce/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix13
35 files changed, 529 insertions, 301 deletions
diff --git a/pkgs/desktops/e19/default.nix b/pkgs/desktops/e19/default.nix
index 9c862734dcc1..b285498be9dc 100644
--- a/pkgs/desktops/e19/default.nix
+++ b/pkgs/desktops/e19/default.nix
@@ -1,17 +1,7 @@
 { callPackage, pkgs }:
-let
-  openjpeg_1 = with pkgs; lib.overrideDerivation openjpeg (oldAttrs: {
-         name = "openjpeg-1.5.1";
-         src = fetchurl {
-           url = "http://openjpeg.googlecode.com/files/openjpeg-1.5.1.tar.gz";
-           sha1 = "1b0b74d1af4c297fd82806a9325bb544caf9bb8b";
-         };
-         #passthru = { incDir = "openjpeg-1.5.1"; };
-     });
-in
 rec {
   #### CORE EFL
-  efl = callPackage ./efl.nix { openjpeg=openjpeg_1; };
+  efl = callPackage ./efl.nix { openjpeg = pkgs.openjpeg_1; };
   evas = callPackage ./evas.nix { };
   emotion = callPackage ./emotion.nix { };
   elementary = callPackage ./elementary.nix { };
@@ -23,5 +13,4 @@ rec {
   econnman = callPackage ./econnman.nix { };
   terminology = callPackage ./terminology.nix { };
   rage = callPackage ./rage.nix { };
-
 }
diff --git a/pkgs/desktops/e19/econnman.nix b/pkgs/desktops/e19/econnman.nix
index c75af81af1a6..35b58aec638d 100644
--- a/pkgs/desktops/e19/econnman.nix
+++ b/pkgs/desktops/e19/econnman.nix
@@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ makeWrapper pkgconfig e19.efl python27 dbus ];
-  propagatedBuildInputs = [ python27Packages.pythonefl_1_15 python27Packages.dbus e19.elementary ];
+  propagatedBuildInputs = [ python27Packages.pythonefl_1_16 python27Packages.dbus e19.elementary ];
   postInstall = ''
-    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_15}/lib/python2.7/site-packages
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_16}/lib/python2.7/site-packages
   '';
 
   meta = {
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
index 7caa5bdd1eb4..7a3bcc96ac6c 100644
--- a/pkgs/desktops/e19/efl.nix
+++ b/pkgs/desktops/e19/efl.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput, systemd }:
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput, systemd }:
 
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.15.0";
+  version = "1.16.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
-    sha256 = "1x5n2afy5z1akam5y187ajk52mq2k9lwmz7nlrxp92rvx1jf6li5";
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
+    sha256 = "116s4lcfj5lrfhyvvka3np9glqyrh21cyl9rhw7al0wgb60vw0gg";
   };
 
   buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa
     giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base
     gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto
-    xorg.libX11 udev utillinuxCurses systemd ];
+    xorg.libX11 udev utillinux systemd ];
 
   propagatedBuildInputs = [ libxkbcommon python27Packages.dbus dbus libjpeg xorg.libXcomposite
     xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
index 17973d530ffd..1793a7e87c47 100644
--- a/pkgs/desktops/e19/elementary.nix
+++ b/pkgs/desktops/e19/elementary.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, e19, libcap, automake, autoconf, libdrm, gdbm }:
+{ stdenv, fetchurl, pkgconfig, e19, libcap, automake114x, autoconf, libdrm, gdbm }:
 stdenv.mkDerivation rec {
   name = "elementary-${version}";
-  version = "1.15.0";
+  version = "1.16.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
-    sha256 = "085s2xw3dhv8xiy7ikaaim5gil423g08wclhk0psi76g0vavgd32";
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.xz";
+    sha256 = "0q58imh7s35q6cq5hsa6gqj84rkckh8s61iass8zyvcw19j66f3y";
   };
-  buildInputs = [ pkgconfig e19.efl libdrm gdbm automake autoconf ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  buildInputs = [ pkgconfig e19.efl libdrm gdbm automake114x autoconf ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
   NIX_CFLAGS_COMPILE = [ "-I${libdrm}/include/libdrm" ];
   patches = [ ./elementary.patch ];
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/e19/emotion.nix b/pkgs/desktops/e19/emotion.nix
index a95759b6f17e..c38119719a0b 100644
--- a/pkgs/desktops/e19/emotion.nix
+++ b/pkgs/desktops/e19/emotion.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19, vlc }:
 stdenv.mkDerivation rec {
   name = "emotion_generic_players-${version}";
-  version = "1.15.0";
+  version = "1.16.0";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
-    sha256 = "08yl473aiklj0yfxbn88000hmnhl7dbhqixsn22ias8a90rxdfhh";
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.xz";
+    sha256 = "163ay26c6dx49m1am7vsxxn0gy877zhayxq0yxn9zkbq2srzvjym";
   };
   buildInputs = [ pkgconfig e19.efl vlc ];
   NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" ];
diff --git a/pkgs/desktops/e19/enlightenment.nix b/pkgs/desktops/e19/enlightenment.nix
index e4396073c03b..5112058f8c6c 100644
--- a/pkgs/desktops/e19/enlightenment.nix
+++ b/pkgs/desktops/e19/enlightenment.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, e19, xorg, libffi, pam, alsaLib, luajit, bzip2
+{ stdenv, fetchurl, pkgconfig, e19, xorg, libffi, pam, alsaLib, luajit, bzip2, libuuid
 , libpthreadstubs, gdbm, libcap, mesa_glu, xkeyboard_config, set_freqset_setuid ? false }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.19.8";
+  version = "0.20.3";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "1y83jnq01k9i328adgjgpfwgpvvd2a1ixpm029pjcar8p1mvgadi";
+    sha256 = "19z3bwdzwpzwi330l5g5mj7xy6wy8xrc39zivjhm0d1ql3fh649j";
   };
   buildInputs = [ pkgconfig e19.efl e19.elementary xorg.libXdmcp xorg.libxcb
-    xorg.xcbutilkeysyms xorg.libXrandr libffi pam alsaLib luajit bzip2
+    xorg.xcbutilkeysyms xorg.libXrandr libffi pam alsaLib luajit bzip2 libuuid
     libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
-  NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" "-I${e19.efl}/include/emile-1" ];
+  NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" "-I${e19.efl}/include/emile-1" "-I${libuuid}/include/uuid" ];
   preConfigure = ''
     export USER_SESSION_DIR=$prefix/lib/systemd/user
 
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
index 553abec576ef..b777dc893d70 100644
--- a/pkgs/desktops/e19/evas.nix
+++ b/pkgs/desktops/e19/evas.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
 stdenv.mkDerivation rec {
   name = "evas_generic_loaders-${version}";
-  version = "1.15.0";
+  version = "1.16.0";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
-    sha256 = "1k9bmswrgfara4a7znqcv3qbhq3zjbm0ks1zdb0jk5mfl6djr8na";
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.xz";
+    sha256 = "1il3i3rii6ddpj7cw2mdqnb0q2wmhwnvs6qi9janna1n5hhrqyfm";
   };
   buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
   meta = {
diff --git a/pkgs/desktops/e19/terminology.nix b/pkgs/desktops/e19/terminology.nix
index 32135bbe2e2c..195a1f436644 100644
--- a/pkgs/desktops/e19/terminology.nix
+++ b/pkgs/desktops/e19/terminology.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19 }:
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
-  version = "0.8.0";
+  version = "0.9.1";
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
-    sha256 = "7a10d44b023cf6134c2483304e4ad33bea6df0f11266aec482f54fa67a3ce628";
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
+    sha256 = "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc";
   };
   buildInputs = [ pkgconfig e19.efl e19.elementary ];
   meta = {
diff --git a/pkgs/desktops/gnome-3/3.18/core/eog/src.nix b/pkgs/desktops/gnome-3/3.18/core/eog/src.nix
index 937f1dcaa215..444d66fbb31a 100644
--- a/pkgs/desktops/gnome-3/3.18/core/eog/src.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/eog/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "eog-3.18.1";
+  name = "eog-3.18.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/eog/3.18/eog-3.18.1.tar.xz;
-    sha256 = "7b7bb47a680518701e2e724c8632fcf12dcb3c3e45ce1f2bdd4c4ace325793a7";
+    url = mirror://gnome/sources/eog/3.18/eog-3.18.2.tar.xz;
+    sha256 = "dc2d16e3754cad12703261fe586e7599c4df2e39282f6c28681a514f749fe636";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.18/core/evince/default.nix b/pkgs/desktops/gnome-3/3.18/core/evince/default.nix
index bed67184eeb0..4507fb2d440a 100644
--- a/pkgs/desktops/gnome-3/3.18/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/evince/default.nix
@@ -1,8 +1,9 @@
 { fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
 , glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
 , poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
-, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
-, gobjectIntrospection
+, librsvg, gobjectIntrospection
+, recentListSize ? null # 5 is not enough, allow passing a different number
+, supportXPS ? false    # Open XML Paper Specification via libgxps
 }:
 
 stdenv.mkDerivation rec {
@@ -15,11 +16,12 @@ stdenv.mkDerivation rec {
     gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
     poppler ghostscriptX djvulibre libspectre
     makeWrapper libsecret librsvg gnome3.adwaita-icon-theme
-  ];
+  ] ++ stdenv.lib.optional supportXPS gnome3.libgxps;
 
   configureFlags = [
     "--disable-nautilus" # Do not use nautilus
     "--enable-introspection"
+    (if supportXPS then "--enable-xps" else "--disable-xps")
   ];
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-shell/default.nix
index 899efc5443bb..11d78cd61328 100644
--- a/pkgs/desktops/gnome-3/3.18/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/gnome-shell/default.nix
@@ -37,7 +37,8 @@ stdenv.mkDerivation rec {
       --prefix PATH : "${unzip}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --suffix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS" \
+      --suffix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
 
     wrapProgram "$out/libexec/gnome-shell-calendar-server" \
       --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
diff --git a/pkgs/desktops/gnome-3/3.18/core/libgxps/default.nix b/pkgs/desktops/gnome-3/3.18/core/libgxps/default.nix
index 72d307f4f1a7..5168dec203fa 100644
--- a/pkgs/desktops/gnome-3/3.18/core/libgxps/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/libgxps/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
   };
 
-  buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
+  buildInputs = [ pkgconfig glib cairo freetype libjpeg libtiff acl openssl bzip2 attr];
+  propagatedBuildInputs = [ libarchive ];
 
   configureFlags = "--without-liblcms2";
 
diff --git a/pkgs/desktops/gnome-3/3.18/core/nautilus/default.nix b/pkgs/desktops/gnome-3/3.18/core/nautilus/default.nix
index f28e86d7bad0..ff9f847d3cdd 100644
--- a/pkgs/desktops/gnome-3/3.18/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/nautilus/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/nautilus" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share" \
+      --suffix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
   patches = [ ./extension_dir.patch ];
diff --git a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix
index 078ec871135b..5cd5ae18831f 100644
--- a/pkgs/desktops/gnome-3/3.18/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/vte/default.nix
@@ -43,12 +43,12 @@ let baseAttrs = rec {
 in stdenv.mkDerivation ( baseAttrs
   // stdenv.lib.optionalAttrs selectTextPatch rec {
       name = "vte-ng-${version}";
-      version = "0.42.1.a";
+      version = "0.42.4.a";
       src = fetchFromGitHub {
         owner = "thestinger";
         repo = "vte-ng";
         rev = version;
-        sha256 = "1296rvngixi6l31mhhaks6vr1xyqw8h6n5hwknadrlk95nknrpxm";
+        sha256 = "1w91lz30j5lrskp9ds5j3nn27m5mpdpn7nlcvf5y1w63mpmjg8k1";
       };
       # slightly hacky; I couldn't make it work with autoreconfHook
       configureScript = "./autogen.sh";
diff --git a/pkgs/desktops/gnome-3/3.18/default.nix b/pkgs/desktops/gnome-3/3.18/default.nix
index f949eb1b2085..de8b6a5e0dc6 100644
--- a/pkgs/desktops/gnome-3/3.18/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/default.nix
@@ -65,6 +65,9 @@ let
 # Simplify the nixos module and gnome packages
   defaultIconTheme = adwaita-icon-theme;
 
+# ISO installer
+# installerIso = callPackage ./installer.nix {};
+
 #### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
 
   adwaita-icon-theme = callPackage ./core/adwaita-icon-theme { };
@@ -309,9 +312,7 @@ let
 
   anjuta = callPackage ./devtools/anjuta { };
 
-  devhelp = callPackage ./devtools/devhelp {
-    webkitgtk = webkitgtk24x;
-  };
+  devhelp = callPackage ./devtools/devhelp { };
 
   gdl = callPackage ./devtools/gdl { };
 
diff --git a/pkgs/desktops/gnome-3/3.18/installer.nix b/pkgs/desktops/gnome-3/3.18/installer.nix
new file mode 100644
index 000000000000..e4d64ac9e885
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.18/installer.nix
@@ -0,0 +1,15 @@
+{ isoBaseName ? "nixos-graphical-gnome", system ? builtins.currentSystem
+, extraModules ? [] }:
+    
+let
+
+  module = ../../../../nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix;
+
+  config = (import ../../../../nixos/lib/eval-config.nix {
+    inherit system;
+    modules = [ module { isoImage.isoBaseName = isoBaseName; } ] ++ extraModules;
+  }).config;
+
+in
+  config.system.build.isoImage
+
diff --git a/pkgs/desktops/kde-5/applications-15.12/default.nix b/pkgs/desktops/kde-5/applications-15.12/default.nix
index 15982cb5d64c..5db80b45b8f5 100644
--- a/pkgs/desktops/kde-5/applications-15.12/default.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/default.nix
@@ -35,9 +35,11 @@ let
     dolphin = callPackage ./dolphin.nix {};
     dolphin-plugins = callPackage ./dolphin-plugins.nix {};
     ffmpegthumbs = callPackage ./ffmpegthumbs.nix {};
+    filelight = callPackage ./filelight.nix {};
     gpgmepp = callPackage ./gpgmepp.nix {};
     gwenview = callPackage ./gwenview.nix {};
     kate = callPackage ./kate.nix {};
+    kcalc = callPackage ./kcalc.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
     kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
     kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
diff --git a/pkgs/desktops/kde-5/applications-15.12/filelight.nix b/pkgs/desktops/kde-5/applications-15.12/filelight.nix
new file mode 100644
index 000000000000..df5e097a540e
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-15.12/filelight.nix
@@ -0,0 +1,35 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, qtscript
+, kio
+, solid
+, kxmlgui
+, kparts
+}:
+
+kdeApp {
+  name = "filelight";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+    makeQtWrapper
+  ];
+  buildInputs = [
+    kio
+    kparts
+    qtscript
+    solid
+    kxmlgui
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/filelight"
+  '';
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = with lib.maintainers; [ fridh vcunat ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/applications-15.12/kcalc.nix b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix
new file mode 100644
index 000000000000..a1f0316825da
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix
@@ -0,0 +1,38 @@
+{ kdeApp
+, lib
+, extra-cmake-modules
+, kdoctools
+, makeQtWrapper
+, kconfig
+, kconfigwidgets
+, kguiaddons
+, kinit
+, knotifications
+
+}:
+
+kdeApp {
+  name = "kcalc";
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+
+  buildInputs = [
+    kconfig
+    kconfigwidgets
+    kguiaddons
+    kinit
+    knotifications
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/kcalc"
+  '';
+
+  meta = {
+    license = with lib.licenses; [ gpl2 ];
+    maintainers = [ lib.maintainers.fridh ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/default.nix
index bb96048d6ff5..2c15f31a9c9e 100644
--- a/pkgs/desktops/kde-5/frameworks-5.19/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/default.nix
@@ -1,9 +1,15 @@
 # Maintainer's Notes:
 #
-# How To Update
-#  1. Edit the URL in ./manifest.sh
-#  2. Run ./manifest.sh
-#  3. Fix build errors.
+# Minor updates:
+#  1. Edit ./fetchsrcs.sh to point to the updated URL.
+#  2. Run ./fetchsrcs.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. Be sure to check if
+#  any new components have been added and package them as necessary.
 
 { pkgs, debug ? false }:
 
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
new file mode 100644
index 000000000000..9717716faf5b
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch
@@ -0,0 +1,74 @@
+From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Fri, 20 Feb 2015 23:17:39 -0600
+Subject: [PATCH] extra-cmake-modules paths
+
+---
+ kde-modules/KDEInstallDirs.cmake | 37 ++++---------------------------------
+ 1 file changed, 4 insertions(+), 33 deletions(-)
+
+diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
+index b7cd34d..2f868ac 100644
+--- a/kde-modules/KDEInstallDirs.cmake
++++ b/kde-modules/KDEInstallDirs.cmake
+@@ -193,37 +193,8 @@
+ # (To distribute this file outside of extra-cmake-modules, substitute the full
+ #  License text for the above reference.)
+ 
+-# Figure out what the default install directory for libraries should be.
+-# This is based on the logic in GNUInstallDirs, but simplified (the
+-# GNUInstallDirs code deals with re-configuring, but that is dealt with
+-# by the _define_* macros in this module).
++# The default library directory on NixOS is *always* /lib.
+ set(_LIBDIR_DEFAULT "lib")
+-# Override this default 'lib' with 'lib64' iff:
+-#  - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
+-#  - we are NOT on debian
+-#  - we are on a 64 bits system
+-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
+-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
+-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
+-# See http://wiki.debian.org/Multiarch
+-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
+-   AND NOT CMAKE_CROSSCOMPILING)
+-  if (EXISTS "/etc/debian_version") # is this a debian system ?
+-    if(CMAKE_LIBRARY_ARCHITECTURE)
+-      set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
+-    endif()
+-  else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
+-    if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
+-      message(AUTHOR_WARNING
+-        "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
+-        "Please enable at least one language before including KDEInstallDirs.")
+-    else()
+-      if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+-        set(_LIBDIR_DEFAULT "lib64")
+-      endif()
+-    endif()
+-  endif()
+-endif()
+ 
+ set(_gnu_install_dirs_vars
+     BINDIR
+@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
+         "QtQuick2 imports"
+         QML_INSTALL_DIR)
+ else()
+-    _define_relative(QTPLUGINDIR LIBDIR "plugins"
++    _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins"
+         "Qt plugins"
+         QT_PLUGIN_INSTALL_DIR)
+ 
+-    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
++    _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports"
+         "QtQuick1 imports"
+         IMPORTS_INSTALL_DIR)
+ 
+-    _define_relative(QMLDIR LIBDIR "qml"
++    _define_relative(QMLDIR LIBDIR "qt5/qml"
+         "QtQuick2 imports"
+         QML_INSTALL_DIR)
+ endif()
+-- 
+2.3.0
+
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix
index 1c2ea70442d3..4e1b1aff3bd1 100644
--- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix
@@ -1,11 +1,9 @@
-{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }:
+{ kdeFramework, lib, stdenv, cmake, pkgconfig, qttools }:
 
 kdeFramework {
   name = "extra-cmake-modules";
+  patches = [ ./0001-extra-cmake-modules-paths.patch ];
 
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-
-  outputs = [ "out" ];  # this package has no runtime components
   setupHook = ./setup-hook.sh;
 
   # It is OK to propagate these inputs as long as
@@ -13,8 +11,8 @@ kdeFramework {
   # of some other derivation.
   propagatedNativeBuildInputs = [ cmake pkgconfig qttools ];
 
-  meta = with lib; {
-    license = licenses.bsd2;
-    maintainers = [ maintainers.ttuegel ];
+  meta = {
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.ttuegel ];
   };
 }
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh
index 56ed09f4ea59..a6fa6189240b 100644
--- a/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh
@@ -1,81 +1,27 @@
-_ecmSetXdgDirs() {
-    addToSearchPathOnce XDG_DATA_DIRS "$1/share"
-    addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg"
-    addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg"
-}
+addMimePkg() {
+    local propagated
 
-_ecmPropagateSharedData() {
-    local sharedPaths=( \
-        "config.cfg" \
-        "doc" \
-        "kconf_update" \
-        "kservices5" \
-        "kservicetypes5" \
-        "kxmlgui5" \
-        "knotifications5" \
-        "icons" \
-        "sounds" \
-        "templates" \
-        "wallpapers" \
-        "applications" \
-        "desktop-directories" \
-        "mime" \
-        "info" \
-        "dbus-1" \
-        "interfaces" \
-        "services" \
-        "system-services" )
-    for dir in ${sharedPaths[@]}; do
-        if [ -d "$1/share/$dir" ]; then
-            addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share"
-            propagateOnce propagatedUserEnvPkgs "$1"
-            break
+    if [[ -d "$1/share/mime" ]]; then
+        propagated=
+        for pkg in $propagatedBuildInputs; do
+            if [[ "z$pkg" == "z$1" ]]; then
+                propagated=1
+            fi
+        done
+        if [[ -z $propagated ]]; then
+            propagatedBuildInputs="$propagatedBuildInputs $1"
         fi
-    done
-}
 
-_ecmConfig() {
-    # Because we need to use absolute paths here, we must set *all* the paths.
-    cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
-    cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
-    cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
-    cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
-    cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
-    cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
-    cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins"
-    cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins"
-    cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports"
-    cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml"
-    cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
-    cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
-    cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share"
-    cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share"
-    cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML"
-    cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg"
-    cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update"
-    cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5"
-    cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5"
-    cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5"
-    cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5"
-    cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons"
-    cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
-    cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds"
-    cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates"
-    cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers"
-    cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications"
-    cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories"
-    cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages"
-    cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata"
-    cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man"
-    cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info"
-    cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1"
-    cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces"
-    cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services"
-    cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services"
-    cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc"
-    cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg"
-    cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart"
+        propagated=
+        for pkg in $propagatedUserEnvPkgs; do
+            if [[ "z$pkg" == "z$1" ]]; then
+                propagated=1
+            fi
+        done
+        if [[ -z $propagated ]]; then
+            propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
+        fi
+    fi
 }
 
-envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData)
-preConfigureHooks+=(_ecmConfig)
+envHooks+=(addMimePkg)
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch b/pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch
new file mode 100644
index 000000000000..340155256f28
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch
@@ -0,0 +1,13 @@
+diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
+index e859ec7..9a8ab18 100644
+--- a/KF5AuthConfig.cmake.in
++++ b/KF5AuthConfig.cmake.in
+@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
+ 
+ set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
+ set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
+-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
++set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
+ set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
+ 
+ find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix
new file mode 100644
index 000000000000..e61c4bb86e7c
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix
@@ -0,0 +1,32 @@
+{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45, kauth
+, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons
+, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons
+, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels
+, kinit, knotifications, kparts, kservice, ktextwidgets
+, kunitconversion, kwidgetsaddons, kwindowsystem, kxmlgui
+, networkmanager, qtsvg, qtx11extras, xlibs
+}:
+
+# TODO: debug docbook detection
+
+kdeFramework {
+  name = "kdelibs4support";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    kcompletion kconfig kded kservice kwidgetsaddons
+    kxmlgui networkmanager qtsvg qtx11extras xlibs.libSM
+  ];
+  propagatedBuildInputs = [
+    kauth karchive kconfigwidgets kcoreaddons kcrash kdbusaddons
+    kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n kio
+    kiconthemes kitemmodels kinit knotifications kparts ktextwidgets
+    kunitconversion kwindowsystem
+  ];
+  cmakeFlags = [
+    "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
+    "-DDocBookXML4_DTD_VERSION=4.5"
+  ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh
new file mode 100644
index 000000000000..5cfffbd622d1
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh
@@ -0,0 +1,5 @@
+addXdgData() {
+    addToSearchPath XDG_DATA_DIRS "$1/share"
+}
+
+envHooks+=(addXdgData)
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix
new file mode 100644
index 000000000000..be99c58d5504
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix
@@ -0,0 +1,13 @@
+{ kdeFramework, lib, extra-cmake-modules, attr, ebook_tools, exiv2
+, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
+}:
+
+kdeFramework {
+  name = "kfilemetadata";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ];
+  propagatedBuildInputs = [ qtbase ki18n ];
+  meta = {
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh
new file mode 100644
index 000000000000..c28e862ff8ae
--- /dev/null
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh
@@ -0,0 +1,43 @@
+addServicePkg() {
+    local propagated
+    for dir in "share/kservices5" "share/kservicetypes5"; do
+        if [[ -d "$1/$dir" ]]; then
+            propagated=
+            for pkg in $propagatedBuildInputs; do
+                if [[ "z$pkg" == "z$1" ]]; then
+                    propagated=1
+                    break
+                fi
+            done
+            if [[ -z $propagated ]]; then
+                propagatedBuildInputs="$propagatedBuildInputs $1"
+            fi
+
+            propagated=
+            for pkg in $propagatedUserEnvPkgs; do
+                if [[ "z$pkg" == "z$1" ]]; then
+                    propagated=1
+                    break
+                fi
+            done
+            if [[ -z $propagated ]]; then
+                propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
+            fi
+
+            break
+        fi
+    done
+}
+
+envHooks+=(addServicePkg)
+
+local propagated
+for pkg in $propagatedBuildInputs; do
+    if [[ "z$pkg" == "z@out@" ]]; then
+        propagated=1
+        break
+    fi
+done
+if [[ -z $propagated ]]; then
+    propagatedBuildInputs="$propagatedBuildInputs @out@"
+fi
diff --git a/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix
index 5ade5f63a8d0..ec6d196c0649 100644
--- a/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix
@@ -1,6 +1,6 @@
 { kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets
-, kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes
-, knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt
+, kcoreaddons, kdbusaddons, kdoctools, ki18n, kiconthemes, knotifications
+, kservice, kwidgetsaddons, kwindowsystem, libgcrypt
 , makeQtWrapper }:
 
 kdeFramework {
diff --git a/pkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh b/pkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh
index 714e0fc75097..d2b426b85d60 100755
--- a/pkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh
+++ b/pkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh
@@ -4,7 +4,7 @@
 set -x
 
 # The trailing slash at the end is necessary!
-RELEASE_URL="http://download.kde.org/stable/plasma/5.5.4/"
+RELEASE_URL="http://download.kde.org/stable/plasma/5.5.5/"
 EXTRA_WGET_ARGS='-A *.tar.xz'
 
 mkdir tmp; cd tmp
diff --git a/pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix b/pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix
index 373221b2b305..402b3ce3beee 100644
--- a/pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, extra-cmake-modules, kauth, kcompletion
+{ fetchpatch, plasmaPackage, extra-cmake-modules, kauth, kcompletion
 , kconfigwidgets, kcoreaddons, kservice, kwidgetsaddons
 , kwindowsystem, plasma-framework, qtscript, qtwebkit, qtx11extras
 , kconfig, ki18n, kiconthemes
@@ -6,7 +6,14 @@
 
 plasmaPackage {
   name = "libksysguard";
-  patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
+  patches = [
+    ./0001-qdiriterator-follow-symlinks.patch
+    (fetchpatch { # should be included on update
+      name = "glibc-2.23-isnan.patch";
+      url = https://github.com/KDE/libksysguard/commit/b0578798eb3.patch;
+      sha256 = "1my5nqp58c5azyi265j261a10wh047zxakprrnpl85mlg7bwskdh";
+    })
+  ];
   nativeBuildInputs = [
     extra-cmake-modules
   ];
diff --git a/pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh b/pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh
new file mode 100644
index 000000000000..a8d9b7e0e36f
--- /dev/null
+++ b/pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh
@@ -0,0 +1 @@
+addToSearchPath XDG_DATA_DIRS @out@/share
diff --git a/pkgs/desktops/kde-5/plasma-5.5/srcs.nix b/pkgs/desktops/kde-5/plasma-5.5/srcs.nix
index 3b63c864045d..f27b39033e2a 100644
--- a/pkgs/desktops/kde-5/plasma-5.5/srcs.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/srcs.nix
@@ -3,307 +3,307 @@
 
 {
   bluedevil = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/bluedevil-5.5.4.tar.xz";
-      sha256 = "1r20dlsg83d3lrnbdb92cpd7h0s2fmh0vjv3xi5z6rf741463p14";
-      name = "bluedevil-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/bluedevil-5.5.5.tar.xz";
+      sha256 = "10fm3gf28c4hwy628z8wy82j6n00z6xf0vad52jahwzz98w5xy9l";
+      name = "bluedevil-5.5.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/breeze-5.5.4.tar.xz";
-      sha256 = "0chlp5z5zz19rh9k4ffjr92hn07dmavfcwx0wwffy8qhiw6qw7w3";
-      name = "breeze-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/breeze-5.5.5.tar.xz";
+      sha256 = "0xxfykg1gsr65jb8jmkk6qr991cvdfibpb9228kb16kpfn73k45l";
+      name = "breeze-5.5.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/breeze-gtk-5.5.4.tar.xz";
-      sha256 = "1r6ihmpgha1s4hvgr4jliqvbraw06fnaa4sjrhzqbx9dh00y5d8v";
-      name = "breeze-gtk-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/breeze-gtk-5.5.5.tar.xz";
+      sha256 = "047b5xrbpk2d1x1srxpx2j5sp0kjzfvgh1xaldirxpcla6jpjj65";
+      name = "breeze-gtk-5.5.5.tar.xz";
     };
   };
   discover = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/discover-5.5.4.tar.xz";
-      sha256 = "0d5s8b9f5az40ajviijc67rz5l2345wlrqacjm4pdi8fqvxivb1v";
-      name = "discover-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/discover-5.5.5.tar.xz";
+      sha256 = "0asbn69k4agr0jyw249bnw8xhi9hnj18asij0h1a8r5wlqbqj22a";
+      name = "discover-5.5.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kde-cli-tools-5.5.4.tar.xz";
-      sha256 = "1w9l8lh05k6xjdz0nccfygp76lp3wf3xa6pizmgv27wq21pw4wxy";
-      name = "kde-cli-tools-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kde-cli-tools-5.5.5.tar.xz";
+      sha256 = "19iggnanlxz1j2xx9l2p7wwf1471yic9fyjfhhk0wfj2z3ickmsh";
+      name = "kde-cli-tools-5.5.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kdecoration-5.5.4.tar.xz";
-      sha256 = "1ghgvg0lfjjlgl3a9ryw1y8aqihdwrkr7qjph4v3p9brlpqm5326";
-      name = "kdecoration-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kdecoration-5.5.5.tar.xz";
+      sha256 = "0ix4jnqm5jpfdhgr6r8j1mwasics22i63hacd6h8gj5klhbgsqvc";
+      name = "kdecoration-5.5.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kde-gtk-config-5.5.4.tar.xz";
-      sha256 = "062jgc2sqd93yz5n1z4n7h50k7zsiayi3z901y2rq0x62nndff1m";
-      name = "kde-gtk-config-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kde-gtk-config-5.5.5.tar.xz";
+      sha256 = "0b6xkpfy4da3vign82z186ghg61l6k9sisppmfgmy5ycqjp4yghq";
+      name = "kde-gtk-config-5.5.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kdeplasma-addons-5.5.4.tar.xz";
-      sha256 = "0yrrjkh632q3ns068j7avaf2rkn2n54sf594jyl30q5fxc22mhq1";
-      name = "kdeplasma-addons-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kdeplasma-addons-5.5.5.tar.xz";
+      sha256 = "1l327fi0x3vljkj7f3113ryynxrsk16qhn0vpsdxc7f169vf4isx";
+      name = "kdeplasma-addons-5.5.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kgamma5-5.5.4.tar.xz";
-      sha256 = "0w63m1sxq2fa0wabyyry4prbzc2c54adc56hfhkh84rflccfbnc2";
-      name = "kgamma5-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kgamma5-5.5.5.tar.xz";
+      sha256 = "1597q98iw4dmkzm40525xlcjj3xfrgsmhp8djgm2yk92bjxy7ydj";
+      name = "kgamma5-5.5.5.tar.xz";
     };
   };
   khelpcenter = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/khelpcenter-5.5.4.tar.xz";
-      sha256 = "01kw97p1xz2gghghykkv953bvypcyd080fxknjrzn4v9gl5mrjv0";
-      name = "khelpcenter-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/khelpcenter-5.5.5.tar.xz";
+      sha256 = "04q5rj5g882qzdzvxxil6668x77iwvbpqx0z8jzm5z80x0xrg44p";
+      name = "khelpcenter-5.5.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/khotkeys-5.5.4.tar.xz";
-      sha256 = "1jlpzqrww2n9zf5cwlvpyvxcz0wv0cyln1xjhm49ayl5iin3m9yn";
-      name = "khotkeys-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/khotkeys-5.5.5.tar.xz";
+      sha256 = "12rrgs7slais8xagv3rn06him4qq21cahlb1yh3gpz571mhyl1nj";
+      name = "khotkeys-5.5.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kinfocenter-5.5.4.tar.xz";
-      sha256 = "10qhq76ha1mahpmgrj4kw660zf92k7ys3mz2dkiid7ib6gsimir4";
-      name = "kinfocenter-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kinfocenter-5.5.5.tar.xz";
+      sha256 = "1j76cfpilhjy97541l90fm6nsamlwa4q4ap7hrp65cdwi5lb08c2";
+      name = "kinfocenter-5.5.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kmenuedit-5.5.4.tar.xz";
-      sha256 = "0scsr3isf4d0hlk85pk0snn6j5cwm7qlqnl6iqs0df32g8ysirs6";
-      name = "kmenuedit-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kmenuedit-5.5.5.tar.xz";
+      sha256 = "010fdfp7kawwhvg76ypzq4rs047xkc2gxz3cfifaybiz5z1y4mdj";
+      name = "kmenuedit-5.5.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kscreen-5.5.4.tar.xz";
-      sha256 = "0ax67gqfjw59jk3wh3sflk3q10xqrjwf2qmvx6jky6q2x4kdixvv";
-      name = "kscreen-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kscreen-5.5.5.tar.xz";
+      sha256 = "1a0fq2x30nnrq2r4slgmfziibbdjmbzh1n8q8ym1lj18j5zyhqcz";
+      name = "kscreen-5.5.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kscreenlocker-5.5.4.tar.xz";
-      sha256 = "18r53f5vri8xaj53zskadnxqxs60akxmwkq54xnb4lvg5cks9hrr";
-      name = "kscreenlocker-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kscreenlocker-5.5.5.tar.xz";
+      sha256 = "00sq4ddb30sxdp6br9h8r4rb07hra3vqv0kxvqfdr50hhcq8dbbw";
+      name = "kscreenlocker-5.5.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/ksshaskpass-5.5.4.tar.xz";
-      sha256 = "0hlgf7896qksivmf79ks0xcqndjvmmq13ywrkc0l43pcj50ydhj2";
-      name = "ksshaskpass-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/ksshaskpass-5.5.5.tar.xz";
+      sha256 = "0szw50wfwh8dvwm61m3azk96di6fr0ymvjhjqffy6ja41kslhp4a";
+      name = "ksshaskpass-5.5.5.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/ksysguard-5.5.4.tar.xz";
-      sha256 = "1hbq8ppz9ijkk032aldrxyfwk1yrpjchfy6w6mg836bi8f69i1kc";
-      name = "ksysguard-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/ksysguard-5.5.5.tar.xz";
+      sha256 = "020b5fkkj3baqg7clhkvpjhqp5xl0gdzyh75b19sx4ba3akpqx5m";
+      name = "ksysguard-5.5.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwallet-pam-5.5.4.tar.xz";
-      sha256 = "0cj9iq7ba24lccgj3h4fpa97bcm3lw3yz43hfhldiwdkzl1pydhl";
-      name = "kwallet-pam-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kwallet-pam-5.5.5.tar.xz";
+      sha256 = "0dlkm1dm60fbnwdmfhiql6mkqrqkdpqi04qa6xxpccijb6h57h8r";
+      name = "kwallet-pam-5.5.5.tar.xz";
     };
   };
   kwayland = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwayland-5.5.4.tar.xz";
-      sha256 = "1cprg187h8pny86910m08pzyvknbcqa9x3xbqh7flrpw0rvrg5wp";
-      name = "kwayland-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kwayland-5.5.5.tar.xz";
+      sha256 = "04p6m9fgllarh7l449injjn5426bqfjwyab0d739p0ys6kdm9hqh";
+      name = "kwayland-5.5.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwayland-integration-5.5.4.tar.xz";
-      sha256 = "07vv7gjqgmgn766p6nifn2i835rdhs6kvp24a5fqnh8ad24m8fjy";
-      name = "kwayland-integration-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kwayland-integration-5.5.5.tar.xz";
+      sha256 = "1ijllnfxy5ackz6bbxffi31ibpsrmgg3abm74x1p2m6a5r4f6bj8";
+      name = "kwayland-integration-5.5.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwin-5.5.4.tar.xz";
-      sha256 = "1015a0d3yi5b4isfkrl3w3mdslh0r1xyhvy9z8liz3wnxgrajwj8";
-      name = "kwin-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kwin-5.5.5.tar.xz";
+      sha256 = "1i79qq9p0rfz6gjjx9m1kjskrnh2kkpvkgp20cw8akn1cgi755vm";
+      name = "kwin-5.5.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwrited-5.5.4.tar.xz";
-      sha256 = "01d8q3hj5frhmafsavgvyz2nlbd4ma4fsx12dhjyxqsgxdvvgffh";
-      name = "kwrited-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/kwrited-5.5.5.tar.xz";
+      sha256 = "17hq5jknqaqdf571m3ahdf3dwvphrmxj3jxgl5bhrb9zh5whjsi3";
+      name = "kwrited-5.5.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/libkscreen-5.5.4.tar.xz";
-      sha256 = "15q7x844x8cz15b3mkh4lwygvrx66s0fl706b221p3my54n63ymf";
-      name = "libkscreen-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/libkscreen-5.5.5.tar.xz";
+      sha256 = "1djv0h6vw4ijfsd281pxr3yxi24rjbg7kshpm6qhfn3gbhz7qbqv";
+      name = "libkscreen-5.5.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/libksysguard-5.5.4.tar.xz";
-      sha256 = "1irrb3im0gr8yhkp570bqipbqz8igpxr2k4kxb2c04111npkqmw1";
-      name = "libksysguard-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/libksysguard-5.5.5.tar.xz";
+      sha256 = "16ky6xmd60ga2a09kgd4111rhly1p26dv72xmda4n40zswd6k1j2";
+      name = "libksysguard-5.5.5.tar.xz";
     };
   };
   milou = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/milou-5.5.4.tar.xz";
-      sha256 = "0dc8jbk0yihqv5jxd4i12rmvfyyp63b6hx9q22qjrj5gkda1cddl";
-      name = "milou-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/milou-5.5.5.tar.xz";
+      sha256 = "1fzbni8lyrx858pd3b1365x84pmyjamxa5f56q2h3ahzdhb726l5";
+      name = "milou-5.5.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/oxygen-5.5.4.tar.xz";
-      sha256 = "10fjwk1aznpkrnal961kfwpjjil2iy2n0x96h26bh91l4insix1v";
-      name = "oxygen-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/oxygen-5.5.5.tar.xz";
+      sha256 = "1hmzvpsh0rpp2aps77cs9w4fqdfa3y5fbq7mpx97sp2z072x6i12";
+      name = "oxygen-5.5.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-desktop-5.5.4.tar.xz";
-      sha256 = "0lkjgbqinxy40w6z01akpihljqpm7bachmxqmcp6fjnzawql2xqd";
-      name = "plasma-desktop-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-desktop-5.5.5.tar.xz";
+      sha256 = "12za7c6c28iccw0b7ccrwz0hj2pa71387334jdinl2a1f60xljb6";
+      name = "plasma-desktop-5.5.5.tar.xz";
     };
   };
   plasma-mediacenter = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-mediacenter-5.5.4.tar.xz";
-      sha256 = "1rn7qffd11dljx1il7cw74wbqf4lwmmlcv19yxj08fdrp5ylqr8a";
-      name = "plasma-mediacenter-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-mediacenter-5.5.5.tar.xz";
+      sha256 = "1yixqsajxf9jp5n16n0zg53iypmp9c114lbnhlr5ni1a0dqgfc8j";
+      name = "plasma-mediacenter-5.5.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-nm-5.5.4.tar.xz";
-      sha256 = "0bjfcsavrqx4i4c0ynfmdna7fnmabm8970h3dnx7ihwsqgjf5q31";
-      name = "plasma-nm-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-nm-5.5.5.tar.xz";
+      sha256 = "0xffyfw1pb53h686lfc1v9k5f2p3mjqgzi49h6j46l2zxd2wi9w4";
+      name = "plasma-nm-5.5.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-pa-5.5.4.tar.xz";
-      sha256 = "0d1cdixgxa2vsgv47hinh5nsbf2bln3ppdlrnzz9vglian0z7879";
-      name = "plasma-pa-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-pa-5.5.5.tar.xz";
+      sha256 = "1msmnci4id2qxj1453qizx3zsmdf2rpryy83c7j192izc25ry6sh";
+      name = "plasma-pa-5.5.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-sdk-5.5.4.tar.xz";
-      sha256 = "0fdx4f8z00276s1p1v1bkbrhy59jswk2dj8kcj96r2rk3xzcg0ax";
-      name = "plasma-sdk-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-sdk-5.5.5.tar.xz";
+      sha256 = "0301h0h1z5id0win0599qwhvxdxz6m881qadyzwxrvhysj3r1sd8";
+      name = "plasma-sdk-5.5.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.5.4";
+    version = "5.5.5.2";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-workspace-5.5.4.tar.xz";
-      sha256 = "0zh96qq0nl1c6bni7vnciba548f3cjacsi06n2rv05356j1fp87h";
-      name = "plasma-workspace-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-workspace-5.5.5.2.tar.xz";
+      sha256 = "09kvzv2cjlv0bglik7723m373nvhvh3c4aaip2xkv5lbhxfydldy";
+      name = "plasma-workspace-5.5.5.2.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/plasma-workspace-wallpapers-5.5.4.tar.xz";
-      sha256 = "0p111f95di11k4v19c1mg694c71825najmi8dzj2qrif5sb2vvsn";
-      name = "plasma-workspace-wallpapers-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/plasma-workspace-wallpapers-5.5.5.tar.xz";
+      sha256 = "01mrrz6y81ypsd33ldpcz1llj13faqmrip5fg9fxqf6vjbh7jlcp";
+      name = "plasma-workspace-wallpapers-5.5.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.5.4";
+    version = "1-5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/polkit-kde-agent-1-5.5.4.tar.xz";
-      sha256 = "116sj9s45n3qcgfsdz5hh6a73b0hldgcnxbpvi4320xpny316vh2";
-      name = "polkit-kde-agent-1-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/polkit-kde-agent-1-5.5.5.tar.xz";
+      sha256 = "0pcwzb747gjp2s68i3apv5q2cfl3igkf1hsx0v1j1y7sk4diqkj9";
+      name = "polkit-kde-agent-1-5.5.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/powerdevil-5.5.4.tar.xz";
-      sha256 = "0i0i55g72yb9z8agv1yyrx98l3s0fs5wn51kz571vqqrw6m3wn7l";
-      name = "powerdevil-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/powerdevil-5.5.5.tar.xz";
+      sha256 = "1sb046pyir6x75r2gpqcq6765igpdc0hl9g5jams6j3l65ivzgvk";
+      name = "powerdevil-5.5.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/sddm-kcm-5.5.4.tar.xz";
-      sha256 = "04vh4f2hg5584acb5ywf1i8z6lvz0fcs7zh085bm7pkx5l60l59b";
-      name = "sddm-kcm-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/sddm-kcm-5.5.5.tar.xz";
+      sha256 = "0zpl6wfpgvmkf80aqn4b46wrpk1a81yz7srxcnw857xyhvw31m6g";
+      name = "sddm-kcm-5.5.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/systemsettings-5.5.4.tar.xz";
-      sha256 = "1i7ljxsnwf2kwd05kzxirbyaxj3w5kyr0jq9j0iy3jlz97p4jkpv";
-      name = "systemsettings-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/systemsettings-5.5.5.tar.xz";
+      sha256 = "183sb898f1452ljdk11k6wqy4dgzlgnicjlrygjfgvw9sz0vgn90";
+      name = "systemsettings-5.5.5.tar.xz";
     };
   };
   user-manager = {
-    version = "5.5.4";
+    version = "5.5.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/user-manager-5.5.4.tar.xz";
-      sha256 = "17lki4y77rq1n100p74q4n6sm3l5dxvv996wf4w1j2n2aiw89p4j";
-      name = "user-manager-5.5.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.5.5/user-manager-5.5.5.tar.xz";
+      sha256 = "1g9fm1i05mzmjs3c5fsg45pf8nd28vhh7g5awbpd397z586gr44y";
+      name = "user-manager-5.5.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 944e9ba013de..9453e85d2532 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -14,7 +14,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
 
   #### NixOS support
 
-  inherit (pkgs) gvfs;
+  gvfs = pkgs.gvfs.override { samba = null; }; # samba is a rather heavy dependency
   xinitrc = "${xfce4session}/etc/xdg/xfce4/xinitrc";
 
   #### CORE                 from "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
index 420eb128a420..ff4e89a23cf3 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
@@ -5,8 +5,8 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
   p_name  = "xfce4-whiskermenu-plugin";
   ver_maj = "1.5";
-  ver_min = "1";
-  rev = "18c31a357c102ab38e98ac24c154f9e6187b3ef8";
+  ver_min = "2";
+  rev = "d08418c8d55edfacef190ec14e03e1e9a6988101";
 
   name = "${p_name}-${ver_maj}.${ver_min}";
 
@@ -14,15 +14,20 @@ stdenv.mkDerivation rec {
     owner = "gottcode";
     repo = "xfce4-whiskermenu-plugin";
     inherit rev;
-    sha256 = "442e887877ffc347378c23ded2466ebbfc7aacb6b91fc395b12071320616eb76";
+    sha256 = "0icphm6bm5p3csh9kwyyvkj2y87shrs12clfifbhv35dm0skb2dx";
   };
 
   buildInputs = [ cmake pkgconfig intltool libxfce4util libxfcegui4 xfce4panel
                   gtk exo garcon ];
 
+  preFixup = ''
+    substituteInPlace $out/bin/xfce4-popup-whiskermenu \
+      --replace $out/bin/xfce4-panel ${xfce4panel}/bin/xfce4-panel
+  '';
+
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Whisker Menu is an alternate application launcher for Xfce.";
+    description = "Whisker Menu is an alternate application launcher for Xfce";
     platforms = platforms.linux;
     maintainers = [ maintainers.pjbarnoy ];
   };