summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2016-03-03 16:11:55 +0000
committerRobin Gloster <mail@glob.in>2016-03-03 16:11:55 +0000
commitfed49425c51e66d0278f376eb2e2aa67843269d5 (patch)
tree3149d7484ff8a1e48359c801753f13afbf22157a
parent4c9c4c4dcdf406adb235682ab4d50985513f92e3 (diff)
parent7a360b13a0ac35c0f6109d251880ae698c13b221 (diff)
downloadnixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.tar
nixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.tar.gz
nixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.tar.bz2
nixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.tar.lz
nixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.tar.xz
nixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.tar.zst
nixpkgs-fed49425c51e66d0278f376eb2e2aa67843269d5.zip
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
-rw-r--r--.gitignore4
-rw-r--r--lib/maintainers.nix4
-rwxr-xr-xmaintainers/scripts/gnu/gnupdate1122
-rwxr-xr-xmaintainers/scripts/nix-generate-from-cpan.pl6
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/mail/dovecot.nix2
-rw-r--r--nixos/modules/services/networking/libreswan.nix126
-rw-r--r--nixos/modules/services/torrent/transmission.nix2
-rw-r--r--nixos/modules/system/boot/systemd.nix2
-rw-r--r--nixos/modules/virtualisation/azure-config-user.nix12
-rw-r--r--nixos/modules/virtualisation/azure-image.nix2
-rw-r--r--nixos/release.nix2
-rw-r--r--nixos/tests/avahi.nix25
-rw-r--r--nixos/tests/installer.nix2
-rw-r--r--pkgs/applications/misc/keepass/default.nix28
-rwxr-xr-xpkgs/applications/misc/keepass/extractWinRscIconsToStdFreeDesktopDir.sh61
-rw-r--r--pkgs/applications/misc/khal/default.nix7
-rw-r--r--pkgs/applications/misc/tint2/default.nix36
-rw-r--r--pkgs/applications/networking/browsers/uzbl/default.nix18
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/mcabber/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix40
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix10
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/logic/ltl2ba/default.nix7
-rw-r--r--pkgs/applications/science/misc/motu-client/default.nix23
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix2
-rw-r--r--pkgs/applications/video/mpv/default.nix9
-rw-r--r--pkgs/data/fonts/gentium-book-basic/default.nix31
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/ark.nix (renamed from pkgs/applications/kde-apps-15.12/ark.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/baloo-widgets.nix (renamed from pkgs/applications/kde-apps-15.12/baloo-widgets.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/default.nix (renamed from pkgs/applications/kde-apps-15.12/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/dolphin-plugins.nix (renamed from pkgs/applications/kde-apps-15.12/dolphin-plugins.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/dolphin.nix (renamed from pkgs/applications/kde-apps-15.12/dolphin.nix)0
-rwxr-xr-xpkgs/desktops/kde-5/applications-15.12/fetchsrcs.sh (renamed from pkgs/applications/kde-apps-15.12/fetchsrcs.sh)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/ffmpegthumbs.nix (renamed from pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/filelight.nix (renamed from pkgs/applications/kde-apps-15.12/filelight.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/gpgmepp.nix (renamed from pkgs/applications/kde-apps-15.12/gpgmepp.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/gwenview.nix (renamed from pkgs/applications/kde-apps-15.12/gwenview.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kate.nix (renamed from pkgs/applications/kde-apps-15.12/kate.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kcalc.nix (renamed from pkgs/applications/kde-apps-15.12/kcalc.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kde-app.nix (renamed from pkgs/applications/kde-apps-15.12/kde-app.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix (renamed from pkgs/applications/kde-apps-15.12/kde-locale-4.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix (renamed from pkgs/applications/kde-apps-15.12/kde-locale-5.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdegraphics-thumbnailers.nix (renamed from pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdelibs/0001-old-kde4-cmake-policies.patch (renamed from pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdelibs/0002-polkit-install-path.patch (renamed from pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdelibs/0003-remove_xdg_impurities.patch (renamed from pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix (renamed from pkgs/applications/kde-apps-15.12/kdelibs/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdelibs/setup-hook.sh (renamed from pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kdenetwork-filesharing.nix (renamed from pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kgpg.nix (renamed from pkgs/applications/kde-apps-15.12/kgpg.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/kio-extras.nix (renamed from pkgs/applications/kde-apps-15.12/kio-extras.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/konsole.nix (renamed from pkgs/applications/kde-apps-15.12/konsole.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/l10n.nix (renamed from pkgs/applications/kde-apps-15.12/l10n.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/libkdcraw.nix (renamed from pkgs/applications/kde-apps-15.12/libkdcraw.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/libkexiv2.nix (renamed from pkgs/applications/kde-apps-15.12/libkexiv2.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/libkipi.nix (renamed from pkgs/applications/kde-apps-15.12/libkipi.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/okular.nix (renamed from pkgs/applications/kde-apps-15.12/okular.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/print-manager.nix (renamed from pkgs/applications/kde-apps-15.12/print-manager.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/spectacle.nix (renamed from pkgs/applications/kde-apps-15.12/spectacle.nix)0
-rw-r--r--pkgs/desktops/kde-5/applications-15.12/srcs.nix (renamed from pkgs/applications/kde-apps-15.12/srcs.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/attica.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/attica.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/baloo.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/baloo.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/bluez-qt.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/0001-extra-cmake-modules-paths.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh (renamed from pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh)0
-rwxr-xr-xpkgs/desktops/kde-5/frameworks-5.19/fetchsrcs.sh (renamed from pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/frameworkintegration.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kactivities.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kapidox.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/karchive.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/karchive.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kauth/kauth-policy-install.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kbookmarks.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kcmutils/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kcodecs.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kcompletion.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kconfig.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kconfigwidgets/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kcoreaddons.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kcrash.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdbusaddons.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdeclarative.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kded.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kded.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdesignerplugin.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdesu.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdewebkit.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdnssd.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh (renamed from pkgs/development/libraries/kde-frameworks-5.19/kdoctools/setup-hook.sh)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kemoticons.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kglobalaccel.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kguiaddons.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/khtml.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/khtml.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/ki18n.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/default-theme-breeze.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/series (renamed from pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kidletime.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kimageformats.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kinit/0001-kinit-libpath.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kinit/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kio/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kio/samba-search-path.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kio/series (renamed from pkgs/development/libraries/kde-frameworks-5.19/kio/series)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kitemmodels.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kitemviews.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kjobwidgets.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kjs.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kjs.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kjsembed.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kmediaplayer.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/knewstuff.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/knotifications.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/knotifyconfig.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kpackage/allow-external-paths.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kpackage/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kpackage/series (renamed from pkgs/development/libraries/kde-frameworks-5.19/kpackage/series)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kparts.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kparts.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kpeople.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kplotting.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kpty.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kpty.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kross.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kross.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/krunner.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/krunner.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kservice/0002-no-canonicalize-path.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh (renamed from pkgs/development/libraries/kde-frameworks-5.19/kservice/setup-hook.sh)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/no-qcoreapplication.patch (renamed from pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/series (renamed from pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/ktextwidgets.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kunitconversion.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kwidgetsaddons.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kwindowsystem.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kxmlgui.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/kxmlrpcclient.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/modemmanager-qt.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/networkmanager-qt.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/oxygen-icons5.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/plasma-framework/default.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/solid.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/solid.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/sonnet.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/srcs.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/srcs.nix)0
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.19/threadweaver.nix (renamed from pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/bluedevil.nix (renamed from pkgs/desktops/plasma-5.5/bluedevil.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/breeze-gtk.nix (renamed from pkgs/desktops/plasma-5.5/breeze-gtk.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/breeze-qt4.nix (renamed from pkgs/desktops/plasma-5.5/breeze-qt4.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/breeze-qt5.nix (renamed from pkgs/desktops/plasma-5.5/breeze-qt5.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/default.nix (renamed from pkgs/desktops/plasma-5.5/default.nix)0
-rwxr-xr-xpkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh (renamed from pkgs/desktops/plasma-5.5/fetchsrcs.sh)2
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kde-cli-tools.nix (renamed from pkgs/desktops/plasma-5.5/kde-cli-tools.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch (renamed from pkgs/desktops/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix (renamed from pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kdecoration.nix (renamed from pkgs/desktops/plasma-5.5/kdecoration.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kdeplasma-addons.nix (renamed from pkgs/desktops/plasma-5.5/kdeplasma-addons.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kgamma5.nix (renamed from pkgs/desktops/plasma-5.5/kgamma5.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/khelpcenter.nix (renamed from pkgs/desktops/plasma-5.5/khelpcenter.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/khotkeys.nix (renamed from pkgs/desktops/plasma-5.5/khotkeys.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kinfocenter.nix (renamed from pkgs/desktops/plasma-5.5/kinfocenter.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kmenuedit.nix (renamed from pkgs/desktops/plasma-5.5/kmenuedit.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kscreen.nix (renamed from pkgs/desktops/plasma-5.5/kscreen.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kscreenlocker.nix (renamed from pkgs/desktops/plasma-5.5/kscreenlocker.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/ksshaskpass.nix (renamed from pkgs/desktops/plasma-5.5/ksshaskpass.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/ksysguard.nix (renamed from pkgs/desktops/plasma-5.5/ksysguard.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kwayland.nix (renamed from pkgs/desktops/plasma-5.5/kwayland.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch (renamed from pkgs/desktops/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kwin/default.nix (renamed from pkgs/desktops/plasma-5.5/kwin/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/kwrited.nix (renamed from pkgs/desktops/plasma-5.5/kwrited.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/libkscreen/default.nix (renamed from pkgs/desktops/plasma-5.5/libkscreen/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch (renamed from pkgs/desktops/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix (renamed from pkgs/desktops/plasma-5.5/libksysguard/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/milou.nix (renamed from pkgs/desktops/plasma-5.5/milou.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/oxygen.nix (renamed from pkgs/desktops/plasma-5.5/oxygen.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch (renamed from pkgs/desktops/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0002-hwclock.patch (renamed from pkgs/desktops/plasma-5.5/plasma-desktop/0002-hwclock.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0003-tzdir.patch (renamed from pkgs/desktops/plasma-5.5/plasma-desktop/0003-tzdir.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix (renamed from pkgs/desktops/plasma-5.5/plasma-desktop/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix (renamed from pkgs/desktops/plasma-5.5/plasma-mediacenter.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch (renamed from pkgs/desktops/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-nm/default.nix (renamed from pkgs/desktops/plasma-5.5/plasma-nm/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-pa.nix (renamed from pkgs/desktops/plasma-5.5/plasma-pa.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-workspace-wallpapers.nix (renamed from pkgs/desktops/plasma-5.5/plasma-workspace-wallpapers.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix (renamed from pkgs/desktops/plasma-5.5/plasma-workspace/default.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/qml-import-path.patch (renamed from pkgs/desktops/plasma-5.5/plasma-workspace/qml-import-path.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/series (renamed from pkgs/desktops/plasma-5.5/plasma-workspace/series)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch (renamed from pkgs/desktops/plasma-5.5/plasma-workspace/startkde.patch)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/polkit-kde-agent.nix (renamed from pkgs/desktops/plasma-5.5/polkit-kde-agent.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/powerdevil.nix (renamed from pkgs/desktops/plasma-5.5/powerdevil.nix)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh (renamed from pkgs/desktops/plasma-5.5/setup-hook.sh)0
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/srcs.nix309
-rw-r--r--pkgs/desktops/kde-5/plasma-5.5/systemsettings.nix (renamed from pkgs/desktops/plasma-5.5/systemsettings.nix)0
-rw-r--r--pkgs/desktops/plasma-5.5/srcs.nix309
-rw-r--r--pkgs/development/compilers/cudatoolkit/5.5.nix6
-rw-r--r--pkgs/development/compilers/cudatoolkit/6.0.nix6
-rw-r--r--pkgs/development/compilers/cudatoolkit/6.5.nix6
-rw-r--r--pkgs/development/compilers/cudatoolkit/7.0.nix7
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix109
-rw-r--r--pkgs/development/compilers/cudatoolkit/generic.nix75
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix8
-rw-r--r--pkgs/development/compilers/ghcjs/node-packages-generated.nix943
-rw-r--r--pkgs/development/compilers/ghcjs/node-packages.json1
-rw-r--r--pkgs/development/compilers/ghdl/default.nix46
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang-purity.patch162
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch9
-rw-r--r--pkgs/development/compilers/llvm/3.3/clang.nix45
-rw-r--r--pkgs/development/compilers/llvm/3.3/llvm.nix63
-rw-r--r--pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch15
-rw-r--r--pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch8
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix5
-rw-r--r--pkgs/development/interpreters/ruby/rubygems.nix4
-rw-r--r--pkgs/development/libraries/clutter/default.nix4
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix13
-rw-r--r--pkgs/development/libraries/postgis/default.nix8
-rw-r--r--pkgs/development/perl-modules/lwp-protocol-https-cert-file.patch15
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix6
-rw-r--r--pkgs/games/multimc/default.nix5
-rw-r--r--pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch2
-rw-r--r--pkgs/misc/drivers/epson-escpr/default.nix12
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix1
-rw-r--r--pkgs/os-specific/linux/musl/default.nix4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix10
-rw-r--r--pkgs/tools/X11/xsettingsd/default.nix7
-rw-r--r--pkgs/tools/networking/connman_dmenu/default.nix34
-rw-r--r--pkgs/tools/networking/dnscrypt-proxy/default.nix4
-rw-r--r--pkgs/tools/networking/libreswan/default.nix75
-rw-r--r--pkgs/top-level/all-packages.nix74
-rw-r--r--pkgs/top-level/go-packages.nix44
-rw-r--r--pkgs/top-level/perl-packages.nix17
-rw-r--r--pkgs/top-level/python-packages.nix34
242 files changed, 2053 insertions, 2062 deletions
diff --git a/.gitignore b/.gitignore
index 74de941b768..dba957f7662 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,7 +12,5 @@ result-*
 
 .DS_Store
 
-/pkgs/applications/kde-apps-*/tmp/
-/pkgs/development/libraries/kde-frameworks-*/tmp/
 /pkgs/development/libraries/qt-5/*/tmp/
-/pkgs/desktops/plasma-*/tmp/
\ No newline at end of file
+/pkgs/desktops/kde-5/*/tmp/
\ No newline at end of file
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 3bbb30ba3ce..7362c6ab659 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -14,6 +14,7 @@
   aespinosa = "Allan Espinosa <allan.espinosa@outlook.com>";
   aflatter = "Alexander Flatter <flatter@fastmail.fm>";
   aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
+  afranchuk = "Alex Franchuk <alex.franchuk@gmail.com>";
   aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";
   ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
   akaWolf = "Artjom Vejsel <akawolf0@gmail.com>";
@@ -32,6 +33,7 @@
   ardumont = "Antoine R. Dumont <eniotna.t@gmail.com>";
   aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
   arobyn = "Alexei Robyn <shados@shados.net>";
+  artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
   asppsa = "Alastair Pharo <asppsa@gmail.com>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   aszlig = "aszlig <aszlig@redmoonstudios.org>";
@@ -67,6 +69,7 @@
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
   chattered = "Phil Scott <me@philscotted.com>";
   christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
+  cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
   codsl = "codsl <codsl@riseup.net>";
   codyopel = "Cody Opel <codyopel@gmail.com>";
@@ -164,6 +167,7 @@
   joelmo = "Joel Moberg <joel.moberg@gmail.com>";
   joelteon = "Joel Taylor <me@joelt.io>";
   jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
+  jraygauthier = "Raymond Gauthier <jraygauthier@gmail.com>";
   jwiegley = "John Wiegley <johnw@newartisans.com>";
   jwilberding = "Jordan Wilberding <jwilberding@afiniate.com>";
   jzellner = "Jeff Zellner <jeffz@eml.cc>";
diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate
deleted file mode 100755
index 6bb379f4fd2..00000000000
--- a/maintainers/scripts/gnu/gnupdate
+++ /dev/null
@@ -1,1122 +0,0 @@
-#!/bin/sh
-# This is actually -*- mode: scheme; coding: utf-8; -*- text.
-main='(module-ref (resolve-module '\''(gnupdate)) '\'gnupdate')'
-exec ${GUILE-guile} -L "$PWD" -l "$0"    \
-         -c "(apply $main (command-line))" "$@"
-!#
-;;; GNUpdate -- Update GNU packages in Nixpkgs.
-;;; Copyright (C) 2010, 2011  Ludovic Courtès <ludo@gnu.org>
-;;;
-;;; This program is free software: you can redistribute it and/or modify
-;;; it under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation, either version 3 of the License, or
-;;; (at your option) any later version.
-;;;
-;;; This program is distributed in the hope that it will be useful,
-;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-(cond-expand (guile-2 #t)
-             (else (error "GNU Guile 2.0 is required")))
-
-(define-module (gnupdate)
-  #:use-module (sxml ssax)
-  #:use-module (ice-9 popen)
-  #:use-module (ice-9 match)
-  #:use-module (ice-9 rdelim)
-  #:use-module (ice-9 format)
-  #:use-module (ice-9 regex)
-  #:use-module (ice-9 vlist)
-  #:use-module (srfi srfi-1)
-  #:use-module (srfi srfi-9)
-  #:use-module (srfi srfi-11)
-  #:use-module (srfi srfi-26)
-  #:use-module (srfi srfi-37)
-  #:use-module (system foreign)
-  #:use-module (rnrs bytevectors)
-  #:export (gnupdate))
-
-
-;;;
-;;; SNix.
-;;;
-
-(define-record-type <location>
-  (make-location file line column)
-  location?
-  (file          location-file)
-  (line          location-line)
-  (column        location-column))
-
-(define (->loc line column path)
-  (and line column path
-       (make-location path (string->number line) (string->number column))))
-
-;; Nix object types visible in the XML output of `nix-instantiate' and
-;; mapping to S-expressions (we map to sexps, not records, so that we
-;; can do pattern matching):
-;;
-;;   at               (at varpat attrspat)
-;;   attr             (attribute loc name value)
-;;   attrs            (attribute-set attributes)
-;;   attrspat         (attribute-set-pattern patterns)
-;;   bool             #f|#t
-;;   derivation       (derivation drv-path out-path attributes)
-;;   ellipsis         '...
-;;   expr             (snix loc body ...)
-;;   function         (function loc at|attrspat|varpat)
-;;   int              int
-;;   list             list
-;;   null             'null
-;;   path             string
-;;   string           string
-;;   unevaluated      'unevaluated
-;;   varpat           (varpat name)
-;;
-;; Initially ATTRIBUTES in `derivation' and `attribute-set' was a promise;
-;; however, handling `repeated' nodes makes it impossible to do anything
-;; lazily because the whole SXML tree has to be traversed to maintain the
-;; list of known derivations.
-
-(define (xml-element->snix elem attributes body derivations)
-  ;; Return an SNix element corresponding to XML element ELEM.
-
-  (define (loc)
-    (->loc (assq-ref attributes 'line)
-           (assq-ref attributes 'column)
-           (assq-ref attributes 'path)))
-
-  (case elem
-    ((at)
-     (values `(at ,(car body) ,(cadr body)) derivations))
-    ((attr)
-     (let ((name (assq-ref attributes 'name)))
-       (cond ((null? body)
-              (values `(attribute-pattern ,name) derivations))
-             ((and (pair? body) (null? (cdr body)))
-              (values `(attribute ,(loc) ,name ,(car body))
-                      derivations))
-             (else
-              (error "invalid attribute body" name (loc) body)))))
-    ((attrs)
-     (values `(attribute-set ,(reverse body)) derivations))
-    ((attrspat)
-     (values `(attribute-set-pattern ,body) derivations))
-    ((bool)
-     (values (string-ci=? "true" (assq-ref attributes 'value))
-             derivations))
-    ((derivation)
-     (let ((drv-path (assq-ref attributes 'drvPath))
-           (out-path (assq-ref attributes 'outPath)))
-       (if (equal? body '(repeated))
-           (let ((body (vhash-assoc drv-path derivations)))
-             (if (pair? body)
-                 (values `(derivation ,drv-path ,out-path ,(cdr body))
-                         derivations)
-
-                 ;; DRV-PATH hasn't been encountered yet but may be later
-                 ;; (see <http://article.gmane.org/gmane.linux.distributions.nixos/5946>.)
-                 ;; Return an `unresolved' node.
-                 (values `(unresolved
-                           ,(lambda (derivations)
-                              (let ((body (vhash-assoc drv-path derivations)))
-                                (if (pair? body)
-                                    `(derivation ,drv-path ,out-path
-                                                 ,(cdr body))
-                                    (error "no previous occurrence of derivation"
-                                           drv-path)))))
-                         derivations)))
-           (values `(derivation ,drv-path ,out-path ,body)
-                   (vhash-cons drv-path body derivations)))))
-    ((ellipsis)
-     (values '... derivations))
-    ((expr)
-     (values `(snix ,(loc) ,@body) derivations))
-    ((function)
-     (values `(function ,(loc) ,body) derivations))
-    ((int)
-     (values (string->number (assq-ref attributes 'value))
-             derivations))
-    ((list)
-     (values body derivations))
-    ((null)
-     (values 'null derivations))
-    ((path)
-     (values (assq-ref attributes 'value) derivations))
-    ((repeated)
-     (values 'repeated derivations))
-    ((string)
-     (values (assq-ref attributes 'value) derivations))
-    ((unevaluated)
-     (values 'unevaluated derivations))
-    ((varpat)
-     (values `(varpat ,(assq-ref attributes 'name)) derivations))
-    (else (error "unhandled Nix XML element" elem))))
-
-(define (resolve snix derivations)
-  "Return a new SNix tree where `unresolved' nodes from SNIX have been
-replaced by the result of their application to DERIVATIONS, a vhash."
-  (let loop ((node snix)
-             (seen vlist-null))
-    (if (vhash-assq node seen)
-        (values node seen)
-        (match node
-          (('unresolved proc)
-           (let ((n (proc derivations)))
-             (values n seen)))
-          ((tag body ...)
-           (let ((body+seen (fold (lambda (n body+seen)
-                                    (call-with-values
-                                        (lambda ()
-                                          (loop n (cdr body+seen)))
-                                      (lambda (n* seen)
-                                        (cons (cons n* (car body+seen))
-                                              (vhash-consq n #t seen)))))
-                                  (cons '() (vhash-consq node #t seen))
-                                  body)))
-             (values (cons tag (reverse (car body+seen)))
-                     (vhash-consq node #t (cdr body+seen)))))
-          (anything
-           (values anything seen))))))
-
-(define xml->snix
-  ;; Return the SNix represention of TREE, an SXML tree as returned by
-  ;; parsing the XML output of `nix-instantiate' on Nixpkgs.
-  (let ((parse
-         (ssax:make-parser NEW-LEVEL-SEED
-                           (lambda (elem-gi attributes namespaces expected-content
-                                    seed)
-                             (cons '() (cdr seed)))
-
-                           FINISH-ELEMENT
-                           (lambda (elem-gi attributes namespaces parent-seed
-                                            seed)
-                             (let ((snix        (car seed))
-                                   (derivations (cdr seed)))
-                               (let-values (((snix derivations)
-                                             (xml-element->snix elem-gi
-                                                                attributes
-                                                                snix
-                                                                derivations)))
-                                 (cons (cons snix (car parent-seed))
-                                       derivations))))
-
-                           CHAR-DATA-HANDLER
-                           (lambda (string1 string2 seed)
-                             ;; Discard inter-node strings, which are blanks.
-                             seed))))
-    (lambda (port)
-      (match (parse port (cons '() vlist-null))
-        (((snix) . derivations)
-         (resolve snix derivations))))))
-
-(define (call-with-package snix proc)
-  (match snix
-    (('attribute _ (and attribute-name (? string?))
-                 ('derivation _ _ body))
-     ;; Ugly pattern matching.
-     (let ((meta
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute _ "meta" ('attribute-set metas)) metas)
-                     (_ #f)))
-                 body))
-           (package-name
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute _ "name" (and name (? string?)))
-                      name)
-                     (_ #f)))
-                 body))
-           (location
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute loc "name" (? string?))
-                      loc)
-                     (_ #f)))
-                 body))
-           (src
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute _ "src" src)
-                      src)
-                     (_ #f)))
-                 body)))
-       (proc attribute-name package-name location meta src)))))
-
-(define (call-with-src snix proc)
-  ;; Assume SNIX contains the SNix expression for the value of an `src'
-  ;; attribute, as returned by `call-with-package', and call PROC with the
-  ;; relevant SRC information, or #f if SNIX doesn't match.
-  (match snix
-    (('derivation _ _ body)
-     (let ((name
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute _ "name" (and name (? string?)))
-                      name)
-                     (_ #f)))
-                 body))
-           (output-hash
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute _ "outputHash" (and hash (? string?)))
-                      hash)
-                     (_ #f)))
-                 body))
-           (urls
-            (any (lambda (attr)
-                   (match attr
-                     (('attribute _ "urls" (and urls (? pair?)))
-                      urls)
-                     (_ #f)))
-                 body)))
-       (proc name output-hash urls)))
-    (_ (proc #f #f #f))))
-
-(define (src->values snix)
-  (call-with-src snix values))
-
-(define (attribute-value attribute)
-  ;; Return the value of ATTRIBUTE.
-  (match attribute
-    (('attribute _ _ value) value)))
-
-(define (derivation-source derivation)
-  ;; Return the "src" attribute of DERIVATION or #f if not found.
-  (match derivation
-    (('derivation _ _ (attributes ...))
-     (find-attribute-by-name "src" attributes))))
-
-(define (derivation-output-path derivation)
-  ;; Return the output path of DERIVATION.
-  (match derivation
-    (('derivation _ out-path _)
-     out-path)
-    (_ #f)))
-
-(define (source-output-path src)
-  ;; Return the output path of SRC, the "src" attribute of a derivation.
-  (derivation-output-path (attribute-value src)))
-
-(define (derivation-source-output-path derivation)
-  ;; Return the output path of the "src" attribute of DERIVATION or #f if
-  ;; DERIVATION lacks an "src" attribute.
-  (and=> (derivation-source derivation) source-output-path))
-
-(define* (open-nixpkgs nixpkgs #:optional attribute)
-  ;; Return an input pipe to the XML representation of Nixpkgs.  When
-  ;; ATTRIBUTE is true, only that attribute is considered.
-  (let ((script  (string-append nixpkgs
-                                "/maintainers/scripts/eval-release.nix")))
-    (apply open-pipe* OPEN_READ
-           "nix-instantiate" "--strict" "--eval-only" "--xml"
-           `(,@(if attribute
-                   `("-A" ,attribute)
-                   '())
-             ,script))))
-
-(define (pipe-failed? pipe)
-  "Close pipe and return its status if it failed."
-  (let ((status (close-pipe pipe)))
-    (if (or (status:term-sig status)
-            (not (= (status:exit-val status) 0)))
-        status
-        #f)))
-
-(define (memoize proc)
-  "Return a memoizing version of PROC."
-  (let ((cache (make-hash-table)))
-    (lambda args
-      (let ((results (hash-ref cache args)))
-        (if results
-            (apply values results)
-            (let ((results (call-with-values (lambda ()
-                                               (apply proc args))
-                             list)))
-              (hash-set! cache args results)
-              (apply values results)))))))
-
-(define nix-prefetch-url
-  (memoize
-   (lambda (url)
-     "Download URL in the Nix store and return the base32-encoded SHA256 hash of
-the file at URL."
-     (let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
-            (hash (read-line pipe)))
-       (if (or (pipe-failed? pipe)
-               (eof-object? hash))
-           (values #f #f)
-           (let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
-                                    "sha256" hash (basename url)))
-                  (path (read-line pipe)))
-             (if (or (pipe-failed? pipe)
-                     (eof-object? path))
-                 (values #f #f)
-                 (values (string-trim-both hash) (string-trim-both path)))))))))
-
-(define (update-nix-expression file
-                               old-version old-hash
-                               new-version new-hash)
-  ;; Modify FILE in-place.  Ugly: we call out to sed(1).
-  (let ((cmd (format #f "sed -i \"~a\" -e 's/~A/~a/g ; s/~A/~A/g'"
-                     file
-                     (regexp-quote old-version) new-version
-                     old-hash
-                     (or new-hash "new hash not available, check the log"))))
-    (format #t "running `~A'...~%" cmd)
-    (system cmd)))
-
-(define (find-attribute-by-name name attributes)
-  ;; Return attribute NAME in ATTRIBUTES, a list of SNix attributes, or #f if
-  ;; NAME cannot be found.
-  (find (lambda (a)
-          (match a
-            (('attribute _ (? (cut string=? <> name)) _)
-             a)
-            (_ #f)))
-        attributes))
-
-(define (find-package-by-attribute-name name packages)
-  ;; Return the package bound to attribute NAME in PACKAGES, a list of
-  ;; packages (SNix attributes), or #f if NAME cannot be found.
-  (find (lambda (package)
-          (match package
-            (('attribute _ (? (cut string=? <> name))
-                         ('derivation _ _ _))
-             package)
-            (_ #f)))
-        packages))
-
-(define (stdenv-package packages)
-  ;; Return the `stdenv' package from PACKAGES, a list of SNix attributes.
-  (find-package-by-attribute-name "stdenv" packages))
-
-(define (package-requisites package)
-  ;; Return the list of derivations required to build PACKAGE (including that
-  ;; of PACKAGE) by recurring into its derivation attributes.
-  (let loop ((snix   package)
-             (result '()))
-    (match snix
-      (('attribute _ _ body)
-       (loop body result))
-      (('derivation _ out-path body)
-       (if (any (lambda (d)
-                  (match d
-                    (('derivation _ (? (cut string=? out-path <>)) _) #t)
-                    (_ #f)))
-                result)
-           result
-           (loop body (cons snix result))))
-      ((things ...)
-       (fold loop result things))
-      (_ result))))
-
-(define (package-source-output-path package)
-  ;; Return the output path of the "src" derivation of PACKAGE.
-  (derivation-source-output-path (attribute-value package)))
-
-
-;;;
-;;; GnuPG interface.
-;;;
-
-(define %gpg-command "gpg2")
-(define %openpgp-key-server "keys.gnupg.net")
-
-(define (gnupg-verify sig file)
-  "Verify signature SIG for FILE.  Return a status s-exp if GnuPG failed."
-
-  (define (status-line->sexp line)
-    ;; See file `doc/DETAILS' in GnuPG.
-    (define sigid-rx
-      (make-regexp
-       "^\\[GNUPG:\\] SIG_ID ([A-Za-z0-9/]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+)"))
-    (define goodsig-rx
-      (make-regexp "^\\[GNUPG:\\] GOODSIG ([[:xdigit:]]+) (.+)$"))
-    (define validsig-rx
-      (make-regexp
-       "^\\[GNUPG:\\] VALIDSIG ([[:xdigit:]]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+) .*$"))
-    (define expkeysig-rx                    ; good signature, but expired key
-      (make-regexp "^\\[GNUPG:\\] EXPKEYSIG ([[:xdigit:]]+) (.*)$"))
-    (define errsig-rx
-      (make-regexp
-       "^\\[GNUPG:\\] ERRSIG ([[:xdigit:]]+) ([^ ]+) ([^ ]+) ([^ ]+) ([[:digit:]]+) ([[:digit:]]+)"))
-
-    (cond ((regexp-exec sigid-rx line)
-           =>
-           (lambda (match)
-             `(signature-id ,(match:substring match 1) ; sig id
-                            ,(match:substring match 2) ; date
-                            ,(string->number           ; timestamp
-                              (match:substring match 3)))))
-          ((regexp-exec goodsig-rx line)
-           =>
-           (lambda (match)
-             `(good-signature ,(match:substring match 1)    ; key id
-                              ,(match:substring match 2)))) ; user name
-          ((regexp-exec validsig-rx line)
-           =>
-           (lambda (match)
-             `(valid-signature ,(match:substring match 1) ; fingerprint
-                               ,(match:substring match 2) ; sig creation date
-                               ,(string->number           ; timestamp
-                                 (match:substring match 3)))))
-          ((regexp-exec expkeysig-rx line)
-           =>
-           (lambda (match)
-             `(expired-key-signature ,(match:substring match 1) ; fingerprint
-                                     ,(match:substring match 2)))) ; user name
-          ((regexp-exec errsig-rx line)
-           =>
-           (lambda (match)
-             `(signature-error ,(match:substring match 1) ; key id or fingerprint
-                               ,(match:substring match 2) ; pubkey algo
-                               ,(match:substring match 3) ; hash algo
-                               ,(match:substring match 4) ; sig class
-                               ,(string->number           ; timestamp
-                                 (match:substring match 5))
-                               ,(let ((rc
-                                       (string->number ; return code
-                                        (match:substring match 6))))
-                                  (case rc
-                                    ((9) 'missing-key)
-                                    ((4) 'unknown-algorithm)
-                                    (else rc))))))
-          (else
-           `(unparsed-line ,line))))
-
-  (define (parse-status input)
-    (let loop ((line   (read-line input))
-               (result '()))
-      (if (eof-object? line)
-          (reverse result)
-          (loop (read-line input)
-                (cons (status-line->sexp line) result)))))
-
-  (let* ((pipe   (open-pipe* OPEN_READ %gpg-command "--status-fd=1"
-                             "--verify" sig file))
-         (status (parse-status pipe)))
-    ;; Ignore PIPE's exit status since STATUS above should contain all the
-    ;; info we need.
-    (close-pipe pipe)
-    status))
-
-(define (gnupg-status-good-signature? status)
-  "If STATUS, as returned by `gnupg-verify', denotes a good signature, return
-a key-id/user pair; return #f otherwise."
-  (any (lambda (sexp)
-         (match sexp
-           (((or 'good-signature 'expired-key-signature) key-id user)
-            (cons key-id user))
-           (_ #f)))
-       status))
-
-(define (gnupg-status-missing-key? status)
-  "If STATUS denotes a missing-key error, then return the key-id of the
-missing key."
-  (any (lambda (sexp)
-         (match sexp
-           (('signature-error key-id _ ...)
-            key-id)
-           (_ #f)))
-       status))
-
-(define (gnupg-receive-keys key-id)
-  (system* %gpg-command "--keyserver" %openpgp-key-server "--recv-keys" key-id))
-
-(define (gnupg-verify* sig file)
-  "Like `gnupg-verify', but try downloading the public key if it's missing.
-Return #t if the signature was good, #f otherwise."
-  (let ((status (gnupg-verify sig file)))
-    (or (gnupg-status-good-signature? status)
-        (let ((missing (gnupg-status-missing-key? status)))
-          (and missing
-               (begin
-                 ;; Download the missing key and try again.
-                 (gnupg-receive-keys missing)
-                 (gnupg-status-good-signature? (gnupg-verify sig file))))))))
-
-
-;;;
-;;; FTP client.
-;;;
-
-(define-record-type <ftp-connection>
-  (%make-ftp-connection socket addrinfo)
-  ftp-connection?
-  (socket    ftp-connection-socket)
-  (addrinfo  ftp-connection-addrinfo))
-
-(define %ftp-ready-rx
-  (make-regexp "^([0-9]{3}) (.+)$"))
-
-(define (%ftp-listen port)
-  (let loop ((line (read-line port)))
-    (cond ((eof-object? line) (values line #f))
-          ((regexp-exec %ftp-ready-rx line)
-           =>
-           (lambda (match)
-             (values (string->number (match:substring match 1))
-                     (match:substring match 2))))
-          (else
-           (loop (read-line port))))))
-
-(define (%ftp-command command expected-code port)
-  (format port "~A~A~A" command (string #\return) (string #\newline))
-  (let-values (((code message) (%ftp-listen port)))
-    (if (eqv? code expected-code)
-        message
-        (throw 'ftp-error port command code message))))
-
-(define (%ftp-login user pass port)
-  (let ((command (string-append "USER " user (string #\newline))))
-    (display command port)
-    (let-values (((code message) (%ftp-listen port)))
-      (case code
-        ((230)  #t)
-        ((331) (%ftp-command (string-append "PASS " pass) 230 port))
-        (else  (throw 'ftp-error port command code message))))))
-
-(define (ftp-open host)
-  (catch 'getaddrinfo-error
-    (lambda ()
-      (let* ((ai (car (getaddrinfo host "ftp")))
-             (s  (socket (addrinfo:fam ai) (addrinfo:socktype ai)
-                         (addrinfo:protocol ai))))
-        (connect s (addrinfo:addr ai))
-        (setvbuf s _IOLBF)
-        (let-values (((code message) (%ftp-listen s)))
-          (if (eqv? code 220)
-              (begin
-                ;(%ftp-command "OPTS UTF8 ON" 200 s)
-                (%ftp-login "anonymous" "ludo@example.com" s)
-                (%make-ftp-connection s ai))
-              (begin
-                (format (current-error-port) "FTP to `~a' failed: ~A: ~A~%"
-                        host code message)
-                (close s)
-                #f)))))
-    (lambda (key errcode)
-      (format (current-error-port) "failed to resolve `~a': ~a~%"
-              host (gai-strerror errcode))
-      #f)))
-
-(define (ftp-close conn)
-  (close (ftp-connection-socket conn)))
-
-(define (ftp-chdir conn dir)
-  (%ftp-command (string-append "CWD " dir) 250
-                (ftp-connection-socket conn)))
-
-(define (ftp-pasv conn)
-  (define %pasv-rx
-    (make-regexp "([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+)"))
-
-  (let ((message (%ftp-command "PASV" 227 (ftp-connection-socket conn))))
-    (cond ((regexp-exec %pasv-rx message)
-           =>
-           (lambda (match)
-             (+ (* (string->number (match:substring match 5)) 256)
-                (string->number (match:substring match 6)))))
-          (else
-           (throw 'ftp-error conn "PASV" 227 message)))))
-
-
-(define* (ftp-list conn #:optional directory)
-  (define (address-with-port sa port)
-    (let ((fam  (sockaddr:fam sa))
-          (addr (sockaddr:addr sa)))
-      (cond ((= fam AF_INET)
-             (make-socket-address fam addr port))
-            ((= fam AF_INET6)
-             (make-socket-address fam addr port
-                                  (sockaddr:flowinfo sa)
-                                  (sockaddr:scopeid sa)))
-            (else #f))))
-
-  (if directory
-      (ftp-chdir conn directory))
-
-  (let* ((port (ftp-pasv conn))
-         (ai   (ftp-connection-addrinfo conn))
-         (s    (socket (addrinfo:fam ai) (addrinfo:socktype ai)
-                       (addrinfo:protocol ai))))
-    (connect s (address-with-port (addrinfo:addr ai) port))
-    (setvbuf s _IOLBF)
-
-    (dynamic-wind
-      (lambda () #t)
-      (lambda ()
-        (%ftp-command "LIST" 150 (ftp-connection-socket conn))
-
-        (let loop ((line   (read-line s))
-                   (result '()))
-          (cond ((eof-object? line) (reverse result))
-                ((regexp-exec %ftp-ready-rx line)
-                 =>
-                 (lambda (match)
-                   (let ((code (string->number (match:substring match 1))))
-                     (if (= 126 code)
-                         (reverse result)
-                         (throw 'ftp-error conn "LIST" code)))))
-                (else
-                 (loop (read-line s)
-                       (match (reverse (string-tokenize line))
-                         ((file _ ... permissions)
-                          (let ((type (case (string-ref permissions 0)
-                                        ((#\d) 'directory)
-                                        (else 'file))))
-                            (cons (list file type) result)))
-                         ((file _ ...)
-                          (cons (cons file 'file) result))))))))
-      (lambda ()
-        (close s)
-        (let-values (((code message) (%ftp-listen (ftp-connection-socket conn))))
-          (or (eqv? code 226)
-              (throw 'ftp-error conn "LIST" code message)))))))
-
-
-;;;
-;;; GNU.
-;;;
-
-(define %ignored-package-attributes
-  ;; Attribute name of packages to be ignored.
-  '("bash" "bashReal" "bashInteractive" ;; the full versioned name is incorrect
-    "autoconf213"
-    "automake17x"
-    "automake19x"
-    "automake110x"
-    "bison1875"
-    "bison23"
-    "bison24"
-    "bison" ;; = 2.4
-    "ccrtp_1_8"
-    "emacs22"
-    "emacsSnapshot"
-    "gcc295"
-    "gcc33"
-    "gcc34"
-    "gcc40"
-    "gcc41"
-    "gcc42"
-    "gcc43"
-    "gcc44"
-    "gcc45"
-    "gcc45_real"
-    "gcc45_realCross"
-    "gfortran45"
-    "gcj45"
-    "gcc46"
-    "gcc46_real"
-    "gcc46_realCross"
-    "gfortran46"
-    "gcj46"
-    "glibc25"
-    "glibc27"
-    "glibc29"
-    "guile_1_8"
-    "icecat3"
-    "icecat3Xul" ;; redundant with `icecat'
-    "icecatWrapper"
-    "icecat3Wrapper"
-    "icecatXulrunner3"
-    "libzrtpcpp_1_6"
-    "parted_2_3"
-    ))
-
-(define (gnu? package)
-  ;; Return true if PACKAGE (a snix expression) is a GNU package (according
-  ;; to a simple heuristic.)  Otherwise return #f.
-  (match package
-    (('attribute _ _ ('derivation _ _ body))
-     (any (lambda (attr)
-            (match attr
-              (('attribute _ "meta" ('attribute-set metas))
-               (any (lambda (attr)
-                      (match attr
-                        (('attribute _ "description" value)
-                         (string-prefix? "GNU" value))
-                        (('attribute _ "homepage" (? string? value))
-                         (or (string-contains value "gnu.org")
-                             (string-contains value "gnupg.org")))
-                        (('attribute _ "homepage" ((? string? value) ...))
-                         (any (cut string-contains <> "www.gnu.org") value))
-                        (_ #f)))
-                    metas))
-              (_ #f)))
-          body))
-    (_ #f)))
-
-(define (gnu-packages packages)
-  (fold (lambda (package gnu)
-          (match package
-            (('attribute _ "emacs23Packages" emacs-packages)
-             ;; XXX: Should prepend `emacs23Packages.' to attribute names.
-             (append (gnu-packages emacs-packages) gnu))
-            (('attribute _ attribute-name ('derivation _ _ body))
-             (if (member attribute-name %ignored-package-attributes)
-                 gnu
-                 (if (gnu? package)
-                     (cons package gnu)
-                     gnu)))
-            (_ gnu)))
-        '()
-        packages))
-
-(define (ftp-server/directory project)
-  (define quirks
-    '(("commoncpp2"   "ftp.gnu.org"   "/gnu/commoncpp" #f)
-      ("ucommon"      "ftp.gnu.org"   "/gnu/commoncpp" #f)
-      ("libzrtpcpp"   "ftp.gnu.org"   "/gnu/ccrtp" #f)
-      ("libosip2"     "ftp.gnu.org"   "/gnu/osip" #f)
-      ("libgcrypt"    "ftp.gnupg.org" "/gcrypt" #t)
-      ("libgpg-error" "ftp.gnupg.org" "/gcrypt" #t)
-      ("libassuan"    "ftp.gnupg.org" "/gcrypt" #t)
-      ("freefont-ttf" "ftp.gnu.org"   "/gnu/freefont" #f)
-      ("gnupg"        "ftp.gnupg.org" "/gcrypt" #t)
-      ("gnu-ghostscript" "ftp.gnu.org"  "/gnu/ghostscript" #f)
-      ("mit-scheme"   "ftp.gnu.org" "/gnu/mit-scheme/stable.pkg" #f)
-      ("icecat"       "ftp.gnu.org" "/gnu/gnuzilla" #f)
-      ("source-highlight" "ftp.gnu.org" "/gnu/src-highlite" #f)
-      ("TeXmacs"      "ftp.texmacs.org" "/TeXmacs/targz" #f)))
-
-  (let ((quirk (assoc project quirks)))
-    (match quirk
-      ((_ server directory subdir?)
-       (values server (if (not subdir?)
-                          directory
-                          (string-append directory "/" project))))
-      (_
-       (values "ftp.gnu.org" (string-append "/gnu/" project))))))
-
-(define (nixpkgs->gnu-name project)
-  (define quirks
-    '(("gcc-wrapper" . "gcc")
-      ("ghostscript" . "gnu-ghostscript") ;; ../ghostscript/gnu-ghoscript-X.Y.tar.gz
-      ("gnum4"       . "m4")
-      ("gnugrep"     . "grep")
-      ("gnumake"     . "make")
-      ("gnused"      . "sed")
-      ("gnutar"      . "tar")
-      ("mitscheme"   . "mit-scheme")
-      ("texmacs"     . "TeXmacs")))
-
-  (or (assoc-ref quirks project) project))
-
-(define (releases project)
-  "Return the list of releases of PROJECT as a list of release name/directory
-pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\"). "
-  ;; TODO: Parse something like fencepost.gnu.org:/gd/gnuorg/packages-ftp.
-  (define release-rx
-    (make-regexp (string-append "^" project
-                                "-([0-9]|[^-])*(-src)?\\.tar\\.")))
-
-  (define alpha-rx
-    (make-regexp "^.*-.*[0-9](-|~)?(alpha|beta|rc|cvs|svn|git)-?[0-9\\.]*\\.tar\\."))
-
-  (define (sans-extension tarball)
-    (let ((end (string-contains tarball ".tar")))
-      (substring tarball 0 end)))
-
-  (catch 'ftp-error
-    (lambda ()
-      (let-values (((server directory) (ftp-server/directory project)))
-        (define conn (ftp-open server))
-
-        (let loop ((directories (list directory))
-                   (result      '()))
-          (if (null? directories)
-              (begin
-                (ftp-close conn)
-                result)
-              (let* ((directory (car directories))
-                     (files     (ftp-list conn directory))
-                     (subdirs   (filter-map (lambda (file)
-                                              (match file
-                                                ((name 'directory . _) name)
-                                                (_ #f)))
-                                            files)))
-                (loop (append (map (cut string-append directory "/" <>)
-                                   subdirs)
-                              (cdr directories))
-                      (append
-                       ;; Filter out signatures, deltas, and files which are potentially
-                       ;; not releases of PROJECT (e.g., in /gnu/guile, filter out
-                       ;; guile-oops and guile-www; in mit-scheme, filter out
-                       ;; binaries).
-                       (filter-map (lambda (file)
-                                     (match file
-                                       ((file 'file . _)
-                                        (and (not (string-suffix? ".sig" file))
-                                             (regexp-exec release-rx file)
-                                             (not (regexp-exec alpha-rx file))
-                                             (let ((s (sans-extension file)))
-                                               (and (regexp-exec
-                                                     %package-name-rx s)
-                                                    (cons s directory)))))
-                                       (_ #f)))
-                                   files)
-                       result)))))))
-    (lambda (key subr message . args)
-      (format (current-error-port)
-              "failed to get release list for `~A': ~S ~S~%"
-              project message args)
-      '())))
-
-(define version-string>?
-  (let ((strverscmp
-         (let ((sym (or (dynamic-func "strverscmp" (dynamic-link))
-                        (error "could not find `strverscmp' (from GNU libc)"))))
-           (pointer->procedure int sym (list '* '*)))))
-    (lambda (a b)
-      (> (strverscmp (string->pointer a) (string->pointer b)) 0))))
-
-(define (latest-release project)
-  "Return (\"FOO-X.Y\" . \"/bar/foo\") or #f."
-  (let ((releases (releases project)))
-    (and (not (null? releases))
-         (fold (lambda (release latest)
-                 (if (version-string>? (car release) (car latest))
-                     release
-                     latest))
-               '("" . "")
-               releases))))
-
-(define %package-name-rx
-  ;; Regexp for a package name, e.g., "foo-X.Y".  Since TeXmacs uses
-  ;; "TeXmacs-X.Y-src", the `-src' suffix is allowed.
-  (make-regexp "^(.*)-(([0-9]|\\.)+)(-src)?"))
-
-(define (package/version name+version)
-  "Return the package name and version number extracted from NAME+VERSION."
-  (let ((match (regexp-exec %package-name-rx name+version)))
-    (if (not match)
-        (values name+version #f)
-        (values (match:substring match 1) (match:substring match 2)))))
-
-(define (file-extension file)
-  (let ((dot (string-rindex file #\.)))
-    (and dot (substring file (+ 1 dot) (string-length file)))))
-
-(define (packages-to-update gnu-packages)
-  (define (unpack latest)
-    (call-with-values (lambda ()
-                        (package/version (car latest)))
-      (lambda (name version)
-        (list name version (cdr latest)))))
-
-  (fold (lambda (pkg result)
-          (call-with-package pkg
-            (lambda (attribute name+version location meta src)
-              (let-values (((name old-version)
-                            (package/version name+version)))
-                (let ((latest (latest-release (nixpkgs->gnu-name name))))
-                  (if (not latest)
-                      (begin
-                        (format #t "~A [unknown latest version]~%"
-                                name+version)
-                        result)
-                      (match (unpack latest)
-                        ((_ (? (cut string=? old-version <>)) _)
-                         (format #t "~A [up to date]~%" name+version)
-                         result)
-                        ((project new-version directory)
-                         (let-values (((old-name old-hash old-urls)
-                                       (src->values src)))
-                           (format #t "~A -> ~A [~A]~%"
-                                   name+version (car latest)
-                                   (and (pair? old-urls) (car old-urls)))
-                           (let* ((url      (and (pair? old-urls)
-                                                 (car old-urls)))
-                                  (new-hash (fetch-gnu project directory
-                                                       new-version
-                                                       (if url
-                                                           (file-extension url)
-                                                           "gz"))))
-                             (cons (list name attribute
-                                         old-version old-hash
-                                         new-version new-hash
-                                         location)
-                                   result)))))))))))
-        '()
-        gnu-packages))
-
-(define (fetch-gnu project directory version archive-type)
-  "Download PROJECT's tarball over FTP."
-  (let* ((server  (ftp-server/directory project))
-         (base    (string-append project "-" version ".tar." archive-type))
-         (url     (string-append "ftp://" server "/" directory "/" base))
-         (sig     (string-append base ".sig"))
-         (sig-url (string-append url ".sig")))
-    (let-values (((hash path) (nix-prefetch-url url)))
-      (pk 'prefetch-url url hash path)
-      (and hash path
-           (begin
-             (false-if-exception (delete-file sig))
-             (system* "wget" sig-url)
-             (if (file-exists? sig)
-                 (let ((ret (gnupg-verify* sig path)))
-                   (false-if-exception (delete-file sig))
-                   (if ret
-                       hash
-                       (begin
-                         (format (current-error-port)
-                                 "signature verification failed for `~a'~%"
-                                 base)
-                         (format (current-error-port)
-                                 "(could be because the public key is not in your keyring)~%")
-                         #f)))
-                 (begin
-                   (format (current-error-port)
-                           "no signature for `~a'~%" base)
-                   hash)))))))
-
-
-;;;
-;;; Main program.
-;;;
-
-(define %options
-  ;; Specifications of the command-line options.
-  (list (option '(#\h "help") #f #f
-                (lambda (opt name arg result)
-                  (format #t "Usage: gnupdate [OPTIONS...]~%")
-                  (format #t "GNUpdate -- update Nix expressions of GNU packages in Nixpkgs~%")
-                  (format #t "~%")
-                  (format #t "  -x, --xml=FILE      Read XML output of `nix-instantiate'~%")
-                  (format #t "                      from FILE.~%")
-                  (format #t "  -A, --attribute=ATTR~%")
-                  (format #t "                      Update only the package pointed to by attribute~%")
-                  (format #t "                      ATTR.~%")
-                  (format #t "  -s, --select=SET    Update only packages from SET, which may~%")
-                  (format #t "                      be either `all', `stdenv', or `non-stdenv'.~%")
-                  (format #t "  -d, --dry-run       Don't actually update Nix expressions~%")
-                  (format #t "  -h, --help          Give this help list.~%~%")
-                  (format #t "Report bugs to <ludo@gnu.org>~%")
-                  (exit 0)))
-        (option '(#\A "attribute") #t #f
-                (lambda (opt name arg result)
-                  (alist-cons 'attribute arg result)))
-        (option '(#\s "select") #t #f
-                (lambda (opt name arg result)
-                  (cond ((string-ci=? arg "stdenv")
-                         (alist-cons 'filter 'stdenv result))
-                        ((string-ci=? arg "non-stdenv")
-                         (alist-cons 'filter 'non-stdenv result))
-                        ((string-ci=? arg "all")
-                         (alist-cons 'filter #f result))
-                        (else
-                         (format (current-error-port)
-                                 "~A: unrecognized selection type~%"
-                                 arg)
-                         (exit 1)))))
-
-        (option '(#\d "dry-run") #f #f
-                (lambda (opt name arg result)
-                  (alist-cons 'dry-run #t result)))
-
-        (option '(#\x "xml") #t #f
-                (lambda (opt name arg result)
-                  (alist-cons 'xml-file arg result)))))
-
-(define (gnupdate . args)
-  ;; Assume Nixpkgs is under $NIXPKGS or ~/src/nixpkgs.
-
-  (define (nixpkgs->snix xml-file attribute)
-    (format (current-error-port) "evaluating Nixpkgs...~%")
-    (let* ((home (getenv "HOME"))
-           (xml  (if xml-file
-                     (open-input-file xml-file)
-                     (open-nixpkgs (or (getenv "NIXPKGS")
-                                       (string-append home "/src/nixpkgs"))
-                                   attribute)))
-           (snix (xml->snix xml)))
-      (if (not xml-file)
-          (let ((status (pipe-failed? xml)))
-            (if status
-                (begin
-                  (format (current-error-port) "`nix-instantiate' failed: ~A~%"
-                          status)
-                  (exit 1)))))
-
-      ;; If we asked for a specific attribute, rewrap the thing in an
-      ;; attribute set to match the expectations of `packages-to-update' & co.
-      (if attribute
-          (match snix
-            (('snix loc ('derivation args ...))
-             `(snix ,loc
-                    (attribute-set
-                     ((attribute #f ,attribute
-                                 (derivation ,@args)))))))
-          snix)))
-
-  (define (selected-gnu-packages packages stdenv selection)
-    ;; Return the subset of PACKAGES that are/aren't in STDENV, according to
-    ;; SELECTION.  To do that reliably, we check whether their "src"
-    ;; derivation is a requisite of STDENV.
-    (define gnu
-      (gnu-packages packages))
-
-    (case selection
-      ((stdenv)
-       (filter (lambda (p)
-                 (member (package-source-output-path p)
-                         (force stdenv)))
-               gnu))
-      ((non-stdenv)
-       (filter (lambda (p)
-                 (not (member (package-source-output-path p)
-                              (force stdenv))))
-               gnu))
-      (else gnu)))
-
-  (let* ((opts      (args-fold (cdr args) %options
-                               (lambda (opt name arg result)
-                                 (error "unrecognized option `~A'" name))
-                               (lambda (operand result)
-                                 (error "extraneous argument `~A'" operand))
-                               '()))
-         (snix      (nixpkgs->snix (assq-ref opts 'xml-file)
-                                   (assq-ref opts 'attribute)))
-         (packages  (match snix
-                      (('snix _ ('attribute-set attributes))
-                       attributes)
-                      (_ #f)))
-         (stdenv    (delay
-                      ;; The source tarballs that make up stdenv.
-                      (filter-map derivation-source-output-path
-                                  (package-requisites (stdenv-package packages)))))
-         (attribute (assq-ref opts 'attribute))
-         (selection (assq-ref opts 'filter))
-         (to-update (if attribute
-                        packages                  ; already a subset
-                        (selected-gnu-packages packages stdenv selection)))
-         (updates   (packages-to-update to-update)))
-
-    (format #t "~%~A packages to update...~%" (length updates))
-    (for-each (lambda (update)
-                (match update
-                  ((name attribute
-                    old-version old-hash
-                    new-version new-hash
-                    location)
-                   (if (assoc-ref opts 'dry-run)
-                       (format #t "`~a' would be updated from ~a to ~a (~a -> ~a)~%"
-                               name old-version new-version
-                               old-hash new-hash)
-                       (update-nix-expression (location-file location)
-                                              old-version old-hash
-                                              new-version new-hash)))
-                  (_ #f)))
-              updates)
-    #t))
-
-;;; Local Variables:
-;;; eval: (put 'call-with-package 'scheme-indent-function 1)
-;;; End:
diff --git a/maintainers/scripts/nix-generate-from-cpan.pl b/maintainers/scripts/nix-generate-from-cpan.pl
index f1159c6d290..73e13bfe09a 100755
--- a/maintainers/scripts/nix-generate-from-cpan.pl
+++ b/maintainers/scripts/nix-generate-from-cpan.pl
@@ -279,7 +279,7 @@ sub get_deps {
         next if $n eq "perl";
 
         # Hacky way to figure out if this module is part of Perl.
-        if ( $n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/ ) {
+        if ( $n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/  && $n !~ /^if$/ ) {
             eval "use $n;";
             if ( !$@ ) {
                 DEBUG("skipping Perl-builtin module $n");
@@ -431,7 +431,7 @@ my $build_fun = -e "$pkg_path/Build.PL"
 print STDERR "===\n";
 
 print <<EOF;
-  "$attr_name" = $build_fun rec {
+  ${\(is_reserved($attr_name) ? "\"$attr_name\"" : $attr_name)} = $build_fun rec {
     name = "$pkg_name";
     src = fetchurl {
       url = "mirror://cpan/${\$module->path}/\${name}.${\$module->package_extension}";
@@ -450,7 +450,7 @@ EOF
 print <<EOF if defined $homepage;
       homepage = $homepage;
 EOF
-print <<EOF if defined $description;
+print <<EOF if defined $description && $description ne "Unknown";
       description = "$description";
 EOF
 print <<EOF if defined $license;
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 91d771b1cfb..dfe6b71c5f9 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -327,6 +327,7 @@
   ./services/networking/ircd-hybrid/default.nix
   ./services/networking/kippo.nix
   ./services/networking/lambdabot.nix
+  ./services/networking/libreswan.nix
   ./services/networking/mailpile.nix
   ./services/networking/minidlna.nix
   ./services/networking/miniupnpd.nix
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 333a03315bc..3935c14dc8c 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -254,7 +254,7 @@ in
         ${concatStringsSep "\n" (mapAttrsToList (to: from: ''
           if [ -d '${from}' ]; then
             mkdir '${stateDir}/sieve/${to}'
-            cp ${from}/*.sieve '${stateDir}/sieve/${to}'
+            cp "${from}/"*.sieve '${stateDir}/sieve/${to}'
           else
             cp '${from}' '${stateDir}/sieve/${to}'
           fi
diff --git a/nixos/modules/services/networking/libreswan.nix b/nixos/modules/services/networking/libreswan.nix
new file mode 100644
index 00000000000..3866b216f8e
--- /dev/null
+++ b/nixos/modules/services/networking/libreswan.nix
@@ -0,0 +1,126 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.libreswan;
+
+  libexec = "${pkgs.libreswan}/libexec/ipsec";
+  ipsec = "${pkgs.libreswan}/sbin/ipsec";
+
+  trim = chars: str: let
+      nonchars = filter (x : !(elem x.value chars))
+                  (imap (i: v: {ind = (sub i 1); value = v;}) (stringToCharacters str));
+    in
+      if length nonchars == 0 then ""
+      else substring (head nonchars).ind (add 1 (sub (last nonchars).ind (head nonchars).ind)) str;
+  indent = str: concatStrings (concatMap (s: ["  " (trim [" " "\t"] s) "\n"]) (splitString "\n" str));
+  configText = indent (toString cfg.configSetup);
+  connectionText = concatStrings (mapAttrsToList (n: v: 
+    ''
+      conn ${n}
+      ${indent v}
+
+    '') cfg.connections);
+  configFile = pkgs.writeText "ipsec.conf"
+    ''
+      config setup
+      ${configText}
+      
+      ${connectionText}
+    '';
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.libreswan = {
+
+      enable = mkEnableOption "libreswan ipsec service";
+
+      configSetup = mkOption {
+        type = types.lines;
+        default = ''
+            protostack=netkey
+            nat_traversal=yes
+            virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
+        '';
+        example = ''
+            secretsfile=/root/ipsec.secrets
+            protostack=netkey
+            nat_traversal=yes
+            virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
+        '';
+        description = "Options to go in the 'config setup' section of the libreswan ipsec configuration";
+      };
+
+      connections = mkOption {
+        type = types.attrsOf types.lines;
+        default = {};
+        example = {
+          myconnection = ''
+            auto=add
+            left=%defaultroute
+            leftid=@user
+
+            right=my.vpn.com
+
+            ikev2=no
+            ikelifetime=8h
+          '';
+        };
+        description = "A set of connections to define for the libreswan ipsec service";
+      };
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.libreswan pkgs.iproute ];
+
+    systemd.services.ipsec = {
+      description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec";
+      path = [
+        "${pkgs.libreswan}"
+        "${pkgs.iproute}"
+        "${pkgs.procps}"
+      ];
+
+      wants = [ "network-online.target" ];
+      after = [ "network-online.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        Type = "simple";
+        Restart = "always";
+        EnvironmentFile = "${pkgs.libreswan}/etc/sysconfig/pluto";
+        ExecStartPre = [
+          "${libexec}/addconn --config ${configFile} --checkconfig"
+          "${libexec}/_stackmanager start"
+          "${ipsec} --checknss"
+          "${ipsec} --checknflog"
+        ];
+        ExecStart = "${libexec}/pluto --config ${configFile} --nofork \$PLUTO_OPTIONS";
+        ExecStop = "${libexec}/whack --shutdown";
+        ExecStopPost = [
+          "${pkgs.iproute}/bin/ip xfrm policy flush"
+          "${pkgs.iproute}/bin/ip xfrm state flush"
+          "${ipsec} --stopnflog"
+        ];
+        ExecReload = "${libexec}/whack --listen";
+      };
+
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index b3f1f906636..5ae12ac1e95 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -21,7 +21,7 @@ let
     else toString ''"${x}"'';
 
   # for users in group "transmission" to have access to torrents
-  fullSettings = { download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings // { umask = 2; };
+  fullSettings = { umask = 2; download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings;
 in
 {
   options = {
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index c5ee95f4c9a..a3c83521c35 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -160,6 +160,7 @@ let
       "systemd-timedated.service"
       "systemd-localed.service"
       "systemd-hostnamed.service"
+      "systemd-binfmt.service"
     ]
 
     ++ cfg.additionalUpstreamSystemUnits;
@@ -779,6 +780,7 @@ in
     systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
     systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
     systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
+    systemd.services.systemd-binfmt.wants = [ "proc-sys-fs-binfmt_misc.automount" ];
 
     # Don't bother with certain units in containers.
     systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
diff --git a/nixos/modules/virtualisation/azure-config-user.nix b/nixos/modules/virtualisation/azure-config-user.nix
new file mode 100644
index 00000000000..de1b3857923
--- /dev/null
+++ b/nixos/modules/virtualisation/azure-config-user.nix
@@ -0,0 +1,12 @@
+{ config, pkgs, modulesPath, ... }:
+
+{
+  # To build the configuration or use nix-env, you need to run
+  # either nixos-rebuild --upgrade or nix-channel --update
+  # to fetch the nixos channel.
+
+  # This configures everything but bootstrap services,
+  # which only need to be run once and have already finished
+  # if you are able to see this comment.
+  imports = [ "${modulesPath}/virtualisation/azure-common.nix" ];
+}
diff --git a/nixos/modules/virtualisation/azure-image.nix b/nixos/modules/virtualisation/azure-image.nix
index f0a739bc95d..79d1f7d7cc4 100644
--- a/nixos/modules/virtualisation/azure-image.nix
+++ b/nixos/modules/virtualisation/azure-image.nix
@@ -78,7 +78,7 @@ in
 
           echo Install a configuration.nix.
           mkdir -p /mnt/etc/nixos /mnt/boot/grub
-          cp ${./azure-config.nix} /mnt/etc/nixos/configuration.nix
+          cp ${./azure-config-user.nix} /mnt/etc/nixos/configuration.nix
 
           echo Generate the GRUB menu.
           ln -s vda /dev/sda
diff --git a/nixos/release.nix b/nixos/release.nix
index fb74766e67c..069cf3727de 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -31,7 +31,7 @@ let
   # If the test is only for a particular system, use only the specified
   # system instead of generating attributes for all available systems.
   in if args ? system then discover (import fn args)
-     else foldAttrs (a: b: a // b) {} (map discoverForSystem supportedSystems);
+     else foldAttrs mergeAttrs {} (map discoverForSystem supportedSystems);
 
   pkgs = import nixpkgs { system = "x86_64-linux"; };
 
diff --git a/nixos/tests/avahi.nix b/nixos/tests/avahi.nix
index a8369a6d1f8..976a770e887 100644
--- a/nixos/tests/avahi.nix
+++ b/nixos/tests/avahi.nix
@@ -5,18 +5,21 @@ import ./make-test.nix ({ pkgs, ... } : {
     maintainers = [ eelco chaoflow ];
   };
 
-  nodes = {
-    one =
-      { config, pkgs, ... }: {
-        services.avahi.enable = true;
-        services.avahi.nssmdns = true;
-      };
-
-    two =
-      { config, pkgs, ... }: {
-        services.avahi.enable = true;
-        services.avahi.nssmdns = true;
+  nodes = let
+    cfg = { config, pkgs, ... }: {
+      services.avahi = {
+        enable = true;
+        nssmdns = true;
+        publish.addresses = true;
+        publish.domain = true;
+        publish.enable = true;
+        publish.userServices = true;
+        publish.workstation = true;
       };
+    };
+  in {
+    one = cfg;
+    two = cfg;
   };
 
   testScript =
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 84fdb027ed8..9e5a6ad04e1 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -46,7 +46,7 @@ let
                   , grubIdentifier, preBootCommands, extraConfig
                   }:
     let
-      iface = if grubVersion == 1 then "scsi" else "virtio";
+      iface = if grubVersion == 1 then "ide" else "virtio";
       qemuFlags =
         (if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
         (optionalString (system == "x86_64-linux") "-cpu kvm64 ");
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 8f16283d391..948d03262b6 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem, plugins ? [] }:
+{ stdenv, lib, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem, icoutils, plugins ? [] }:
 
 # KeePass looks for plugins in under directory in which KeePass.exe is
 # located. It follows symlinks where looking for that directory, so
@@ -17,7 +17,7 @@ with builtins; buildDotnetPackage rec {
 
   sourceRoot = ".";
 
-  buildInputs = [ unzip makeWrapper ];
+  buildInputs = [ unzip makeWrapper icoutils ];
 
   pluginLoadPathsPatch =
     let outputLc = toString (add 8 (length plugins));
@@ -52,9 +52,14 @@ with builtins; buildDotnetPackage rec {
     name = "keepass";
     exec = "keepass";
     comment = "Password manager";
+    icon = "keepass";
     desktopName = "Keepass";
     genericName = "Password manager";
-    categories = "Application;Other;";
+    categories = "Application;Utility;";
+    mimeType = stdenv.lib.concatStringsSep ";" [
+      "application/x-keepass2"
+      ""
+    ];
   };
 
   outputFiles = [ "Build/KeePass/Release/*" "Build/KeePassLib/Release/*" ];
@@ -67,16 +72,29 @@ with builtins; buildDotnetPackage rec {
   # is found and does not pollute output path.
   binPaths = lib.concatStrings (lib.intersperse ":" (map (x: x + "/bin") plugins));
 
-  postInstall = ''
+  postInstall = 
+  let
+    extractFDeskIcons = ./extractWinRscIconsToStdFreeDesktopDir.sh;
+  in
+  ''
     mkdir -p "$out/share/applications"
     cp ${desktopItem}/share/applications/* $out/share/applications
     wrapProgram $out/bin/keepass --prefix PATH : "$binPaths"
+
+    ${extractFDeskIcons} \
+      "./Translation/TrlUtil/Resources/KeePass.ico" \
+      '[^\.]+_[0-9]+_([0-9]+x[0-9]+)x[0-9]+\.png' \
+      '\1' \
+      '([^\.]+).+' \
+      'keepass' \
+      "$out" \
+      "./tmp"
   '';
 
   meta = {
     description = "GUI password manager with strong cryptography";
     homepage = http://www.keepass.info/;
-    maintainers = with stdenv.lib.maintainers; [ amorsillo obadz ];
+    maintainers = with stdenv.lib.maintainers; [ amorsillo obadz jraygauthier ];
     platforms = with stdenv.lib.platforms; all;
     license = stdenv.lib.licenses.gpl2;
   };
diff --git a/pkgs/applications/misc/keepass/extractWinRscIconsToStdFreeDesktopDir.sh b/pkgs/applications/misc/keepass/extractWinRscIconsToStdFreeDesktopDir.sh
new file mode 100755
index 00000000000..04485b146a0
--- /dev/null
+++ b/pkgs/applications/misc/keepass/extractWinRscIconsToStdFreeDesktopDir.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# The file from which to extract *.ico files.
+#rscFile="./KeePass.exe"
+rscFile=$1
+
+# A regexp that can extract the image size from the file name.
+# sizeRegex='[^\.]+\.exe_[0-9]+_[0-9]+_[0-9]+_[0-9]+_([0-9]+x[0-9]+)x[0-9]+\.png'
+sizeRegex=$2
+
+# sizeReplaceExp='\1'
+sizeReplaceExp=$3
+
+# A regexp that can extract the name of the target image from the file name.
+# nameRegex='([^\.]+)\.exe.+'
+nameRegex=$4
+
+# nameReplaceExp='\1'
+nameReplaceExp=$5
+
+# out=./myOut
+out=$6
+
+# An optional temp dir. TODO: Generate it randomly by default instead.
+tmp=./tmp
+if [ "" != "$4" ]; then
+    tmp=$7
+fi
+
+
+
+rm -rf $tmp/png $tmp/ico
+mkdir -p $tmp/png $tmp/ico
+
+# Extract the ressource file's extension.
+rscFileExt=`echo "$rscFile" | sed -re 's/.+\.(.+)$/\1/'`
+
+# Debug ressource file extension.
+echo "rscFileExt=$rscFileExt"
+
+if [ "ico" = "$rscFileExt" ]; then
+    cp -p $rscFile $tmp/ico
+else
+    wrestool -x --output=$tmp/ico -t14 $rscFile
+fi
+    
+icotool --icon -x --palette-size=0 -o $tmp/png $tmp/ico/*.ico
+
+mkdir -p $out
+
+for i in $tmp/png/*.png; do
+  fn=`basename "$i"`
+  size=$(echo $fn | sed -re 's/'${sizeRegex}'/'${sizeReplaceExp}'/')
+  name=$(echo $fn | sed -re 's/'${nameRegex}'/'${nameReplaceExp}'/')
+  targetDir=$out/share/icons/hicolor/$size/apps
+  targetFile=$targetDir/$name.png
+  mkdir -p $targetDir
+  mv $i $targetFile
+done
+
+rm -rf $tmp/png $tmp/ico
diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix
index 52a4f0dee75..ab55e3618ec 100644
--- a/pkgs/applications/misc/khal/default.nix
+++ b/pkgs/applications/misc/khal/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgs, pythonPackages }:
+{ stdenv, fetchurl, pkgs, python3Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   version = "0.7.0";
   name = "khal-${version}";
 
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python3Packages; [
     atomicwrites
     click
     configobj
@@ -22,7 +22,6 @@ pythonPackages.buildPythonApplication rec {
     requests_toolbelt
     tzlocal
     urwid
-    python.modules.sqlite3
     pkginfo
   ];
 
diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix
index 9eb3ed13af5..f4162147258 100644
--- a/pkgs/applications/misc/tint2/default.nix
+++ b/pkgs/applications/misc/tint2/default.nix
@@ -1,30 +1,40 @@
-{ stdenv, fetchurl, pkgconfig, cmake, pango, cairo, glib, imlib2, libXinerama
+{ stdenv, fetchFromGitLab, pkgconfig, cmake, pango, cairo, glib, imlib2, libXinerama
 , libXrender, libXcomposite, libXdamage, libX11, libXrandr, gtk, libpthreadstubs
-, libXdmcp
+, libXdmcp, librsvg, libstartup_notification
 }:
 
 stdenv.mkDerivation rec {
   name = "tint2-${version}";
-  version = "0.11";
+  version = "0.12.7";
 
-  src = fetchurl {
-    url = "http://tint2.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "07a74ag7lhc6706z34zvqj2ikyyl7wnzisfxpld67ljpc1m6w47y";
+  src = fetchFromGitLab {
+    owner = "o9000";
+    repo = "tint2";
+    rev = version;
+    sha256 = "01wb1yy7zfi01fl34yzpn1d30fykcf8ivmdlynnxp5znqrdsqm2r";
   };
-        
+
+  enableParallelBuilding = true;
+
   buildInputs = [ pkgconfig cmake pango cairo glib imlib2 libXinerama
     libXrender libXcomposite libXdamage libX11 libXrandr gtk libpthreadstubs
-    libXdmcp
+    libXdmcp librsvg libstartup_notification
   ];
 
-  preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
+  preConfigure =
+    ''
+      substituteInPlace CMakeLists.txt --replace /etc $out/etc
+    '';
 
-  cmakeFlags = [
-    "-DENABLE_TINT2CONF=0"
-  ];
+  prePatch =
+    ''
+      substituteInPlace ./src/tint2conf/properties.c --replace /usr/share/ /run/current-system/sw/share/
+      substituteInPlace ./src/launcher/apps-common.c --replace /usr/share/ /run/current-system/sw/share/
+      substituteInPlace ./src/launcher/icon-theme-common.c --replace /usr/share/ /run/current-system/sw/share/
+    '';
 
   meta = {
-    homepage = http://code.google.com/p/tint2;
+    homepage = https://gitlab.com/o9000/tint2;
     license = stdenv.lib.licenses.gpl2;
     description = "A simple panel/taskbar unintrusive and light (memory / cpu / aestetic)";
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix
index 318b9576392..9e3b44f4083 100644
--- a/pkgs/applications/networking/browsers/uzbl/default.nix
+++ b/pkgs/applications/networking/browsers/uzbl/default.nix
@@ -1,27 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, python, makeWrapper, pygtk
-, webkit, glib_networking, gsettings_desktop_schemas
+{ stdenv, fetchurl, pkgconfig, python3, makeWrapper, pygtk
+, webkit, glib_networking, gsettings_desktop_schemas, pythonPackages
 }:
 
 stdenv.mkDerivation rec {
-  name = "uzbl-20120514";
+  name = "uzbl-v0.9.0";
 
   meta = with stdenv.lib; {
     description = "Tiny externally controllable webkit browser";
     homepage    = "http://uzbl.org/";
     license     = licenses.gpl3;
     platforms   = platforms.linux;
-    maintainers = with maintainers; [ raskin ];
+    maintainers = with maintainers; [ raskin dgonyeo ];
   };
 
   src = fetchurl {
     name = "${name}.tar.gz";
-    url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz";
-    sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn";
+    url = "https://github.com/uzbl/uzbl/archive/v0.9.0.tar.gz";
+    sha256 = "0iskhv653fdm5raiidimh9fzlsw28zjqx7b5n3fl1wgbj6yz074k";
   };
 
   preConfigure = ''
     makeFlags="$makeFlags PREFIX=$out"
     makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out"
+    mkdir -p $out/lib/python3.4/site-packages/
+    export PYTHONPATH=$PYTHONPATH:$out/lib/python3.4/site-packages/
   '';
 
   preFixup = ''
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  nativeBuildInputs = [ pkgconfig python makeWrapper ];
+  nativeBuildInputs = [ pkgconfig python3 makeWrapper ];
 
-  buildInputs = [ gsettings_desktop_schemas webkit pygtk ];
+  buildInputs = [ gsettings_desktop_schemas webkit pygtk pythonPackages.six ];
 }
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 8f53102d5f5..57b93bfd656 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla }:
 
-let version = "3.15.0.2"; in
+let version = "3.16.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "0kvwkz01v73qi8y6n8wlidglwh0vg7pajsjm8xq7gch6jmq4cg1k";
+    sha256 = "0ilv4xhgav4srx6iqn0v0kv8rifgkysyx1hb9bnm45dc0skmbgbx";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index abe9b78904f..f32bdf96257 100644
--- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mcabber-${version}";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchurl {
     url = "http://mcabber.com/files/mcabber-${version}.tar.bz2";
-    sha256 = "14rd17rs26knmwinfv63w2xzlkj5ygvhicx95h0mai4lpji4b6jp";
+    sha256 = "1phzfsl6cfzaga140dm8bb8q678j0qsw29cc03rw4vkcxa8kh577";
   };
 
   buildInputs = [ openssl ncurses pkgconfig glib loudmouth libotr gpgme ];
diff --git a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
index 507094f7c05..fa03b8d21ad 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
@@ -1,31 +1,37 @@
-{ stdenv, fetchFromGitHub
-, qtbase, qtquick1, qtmultimedia, qtquickcontrols, qtgraphicaleffects, makeQtWrapper
-, telegram-qml, libqtelegram-aseman-edition }:
+{ stdenv, fetchgit
+, qtbase, qtmultimedia, qtquick1, qtquickcontrols, qtgraphicaleffects
+, telegram-qml, libqtelegram-aseman-edition
+, gst_plugins_base, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly
+, makeQtWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "cutegram-${version}";
-  version = "2.7.0-stable";
-
-  src = fetchFromGitHub {
-    owner = "Aseman-Land";
-    repo = "Cutegram";
-    rev = "v${version}";
-    sha256 = "0qhy30gb8zdrphz1b7zcnv8hmm5fd5qwlvrg7wpsh3hk5niz3zxk";
+  name = "cutegram-${meta.version}";
+
+  src = fetchgit {
+    url = "https://github.com/Aseman-Land/Cutegram.git";
+    rev = "1dbe2792fb5a1760339379907f906e236c09db84";
+    sha256 = "080153bpa92jpi0zdrfajrn0yqy3jp8m4704sirbz46dv7471rzl";
   };
-  # TODO appindicator, for system tray plugin
-  buildInputs = [ qtbase qtquick1 qtmultimedia qtquickcontrols qtgraphicaleffects telegram-qml libqtelegram-aseman-edition ];
+
+  buildInputs =
+  [ qtbase qtmultimedia qtquick1 qtquickcontrols qtgraphicaleffects
+    telegram-qml libqtelegram-aseman-edition
+    gst_plugins_base gst_plugins_good gst_plugins_bad gst_plugins_ugly ];
   nativeBuildInputs = [ makeQtWrapper ];
   enableParallelBuild = true;
 
-  fixupPhase = "wrapQtProgram $out/bin/cutegram";
-
   configurePhase = "qmake -r PREFIX=$out";
 
+  fixupPhase = "wrapQtProgram $out/bin/cutegram";
+
   meta = with stdenv.lib; {
+    version = "2.7.1";
     description = "Telegram client forked from sigram";
     homepage = "http://aseman.co/en/products/cutegram/";
     license = licenses.gpl3;
-    maintainers = [ maintainers.profpatsch ];
+    maintainers = with maintainers; [ profpatsch AndersonTorres ];
   };
-
 }
+#TODO: appindicator, for system tray plugin (by @profpatsch)
+
+
diff --git a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix b/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
index 8166514bb3a..957c59b88e5 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
@@ -2,14 +2,13 @@
 , qtbase, qtmultimedia, qtquick1 }:
 
 stdenv.mkDerivation rec {
-  name = "libqtelegram-aseman-edition-${version}";
-  version = "6.0";
+  name = "libqtelegram-aseman-edition-${meta.version}";
 
   src = fetchFromGitHub {
     owner = "Aseman-Land";
     repo = "libqtelegram-aseman-edition";
-    rev = "v${version}";
-    sha256 = "17hlxf43xwic8m06q3gwbxjpvz31ks6laffjw6ny98d45zfnfwra";
+    rev = "v${meta.version}-stable";
+    sha256 = "1pfd4pvh51639zk9shv1s4f6pf0ympnhar8a302vhrkga9i4cbx6";
   };
 
   buildInputs = [ qtbase qtmultimedia qtquick1 ];
@@ -25,6 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    version = "6.1";
     description = "A fork of libqtelegram by Aseman, using qmake";
     homepage = src.meta.homepage;
     license = stdenv.lib.licenses.gpl3;
diff --git a/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix b/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
index 6bf550d4766..aa442cbe8b2 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
@@ -3,17 +3,16 @@
 , libqtelegram-aseman-edition }:
 
 stdenv.mkDerivation rec {
-  name = "telegram-qml-${version}";
-  version = "0.9.1-stable";
+  name = "telegram-qml-${meta.version}";
 
   src = fetchFromGitHub {
     owner = "Aseman-Land";
     repo = "TelegramQML";
-    rev = "v${version}";
-    sha256 = "077j06lfr6qccqv664hn0ln023xlh5cfm50kapjc2inapxj2yqmn";
+    rev = "v${meta.version}";
+    sha256 = "0j8vn845f2virvddk9yjbljy6vkr9ikyn6iy7hpj8nvr2xls3499";
   };
 
-  buildInputs = [ qtbase qtmultimedia qtquick1 libqtelegram-aseman-edition ];
+  propagatedBuildInputs = [ qtbase qtmultimedia qtquick1 libqtelegram-aseman-edition ];
   enableParallelBuild = true;
 
   patchPhase = ''
@@ -26,6 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    version = "0.9.2";
     description = "Telegram API tools for QtQml and Qml";
     homepage = src.meta.homepage;
     license = stdenv.lib.licenses.gpl3;
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 36c3b7e899d..32d39d8a609 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
 stdenv.mkDerivation rec {
-  name = "gtkwave-3.3.66";
+  name = "gtkwave-3.3.70";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "17mrmgr6zzl1x1qml0wmjjhcbw7bg3w4mqy60rsy0z6gxd8hikh4";
+    sha256 = "1akzf1sq8mwarrbrbz5chrvgwlsp444h5za8rg1dfyqk733s7piz";
   };
 
   buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];
diff --git a/pkgs/applications/science/logic/ltl2ba/default.nix b/pkgs/applications/science/logic/ltl2ba/default.nix
index 4ba773756e5..cb0c308b129 100644
--- a/pkgs/applications/science/logic/ltl2ba/default.nix
+++ b/pkgs/applications/science/logic/ltl2ba/default.nix
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
 
   hardening_format = false;
 
+  preConfigure = ''
+    substituteInPlace Makefile \
+    --replace "CC=gcc" ""
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     mv ltl2ba $out/bin
@@ -20,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "fast translation from LTL formulae to Buchi automata";
     homepage    = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba";
     license     = stdenv.lib.licenses.gpl2Plus;
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/science/misc/motu-client/default.nix b/pkgs/applications/science/misc/motu-client/default.nix
new file mode 100644
index 00000000000..b5e9fa6a51e
--- /dev/null
+++ b/pkgs/applications/science/misc/motu-client/default.nix
@@ -0,0 +1,23 @@
+{ python27Packages, fetchurl, lib } :
+python27Packages.buildPythonApplication rec {
+  name = "motu-client-${version}";
+  version = "1.0.8";
+
+  src = fetchurl {
+    url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${name}.tar.gz";
+    sha256 = "1naqmav312agn72iad9kyxwscn2lz4v1cfcqqi1qcgvc82vnwkw2";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/quiet-oceans/motuclient-setuptools;
+    description = "CLI to query oceanographic data to Motu servers";
+    longDescription = ''
+      Access data from (motu)[http://sourceforge.net/projects/cls-motu/] servers.
+      This is a refactored fork of the original release in order to simplify integration,
+      deployment and packaging. Upstream code can be found at
+      http://sourceforge.net/projects/cls-motu/ .
+    '';
+    license = licenses.lgpl3Plus;
+    maintainers = [ maintainers.lsix ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
index 588c7acff7c..512a8938a58 100644
--- a/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-hg/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   rev = "e716a9e1a9e460a45663694ba4e9e8894a8452b2";
-  version = "v0.2-e716a9e1a9e460a45663694ba4e9e8894a8452b2";
+  version = "0.2-${rev}";
   name = "git-remote-hg-${version}";
 
   src = fetchgit {
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 5bc2eee2414..a38ab6e9b3d 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -21,6 +21,7 @@
 , youtubeSupport ? true, youtube-dl ? null
 , cacaSupport ? true, libcaca ? null
 , vaapiSupport ? false, libva ? null
+, waylandSupport ? false, wayland ? null, libxkbcommon ? null
 }:
 
 assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
@@ -41,6 +42,7 @@ assert bs2bSupport -> libbs2b != null;
 assert libpngSupport -> libpng != null;
 assert youtubeSupport -> youtube-dl != null;
 assert cacaSupport -> libcaca != null;
+assert waylandSupport -> (wayland != null && libxkbcommon != null);
 
 let
   inherit (stdenv.lib) optional optionals optionalString;
@@ -77,7 +79,8 @@ stdenv.mkDerivation rec {
     "--enable-manpage-build"
     "--disable-build-date" # Purity
     "--enable-zsh-comp"
-  ] ++ optional vaapiSupport "--enable-vaapi";
+  ] ++ optional vaapiSupport "--enable-vaapi"
+  ++ optional waylandSupport "--enable-wayland";
 
   configurePhase = ''
     python ${waf} configure --prefix=$out $configureFlags
@@ -105,7 +108,8 @@ stdenv.mkDerivation rec {
     ++ optional youtubeSupport youtube-dl
     ++ optional sdl2Support SDL2
     ++ optional cacaSupport libcaca
-    ++ optional vaapiSupport libva;
+    ++ optional vaapiSupport libva
+    ++ optionals waylandSupport [ wayland libxkbcommon ];
 
   enableParallelBuilding = true;
 
@@ -139,6 +143,5 @@ stdenv.mkDerivation rec {
     '';
   };
 }
-# TODO: Wayland support
 # TODO: investigate caca support
 # TODO: investigate lua5_sockets bug
diff --git a/pkgs/data/fonts/gentium-book-basic/default.nix b/pkgs/data/fonts/gentium-book-basic/default.nix
new file mode 100644
index 00000000000..8bc9ec5e2f3
--- /dev/null
+++ b/pkgs/data/fonts/gentium-book-basic/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "gentium-book-basic-${version}";
+  major = "1";
+  minor = "102";
+  version = "${major}.${minor}";
+
+  src = fetchzip {
+    name = "${name}.zip";
+    url = "http://software.sil.org/downloads/gentium/GentiumBasic_${major}${minor}.zip";
+    sha256 = "109yiqwdfb1bn7d6bjp8d50k1h3z3kz86p3faz11f9acvsbsjad0";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    mkdir -p $out/share/doc/${name}
+    cp -v *.ttf $out/share/fonts/truetype/
+    cp -v FONTLOG.txt GENTIUM-FAQ.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://software.sil.org/gentium/";
+    description = "A high-quality typeface family for Latin, Cyrillic, and Greek";
+    maintainers = with maintainers; [ DamienCassou ];
+    license = licenses.ofl;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/kde-apps-15.12/ark.nix b/pkgs/desktops/kde-5/applications-15.12/ark.nix
index 36a1ca7cfbd..36a1ca7cfbd 100644
--- a/pkgs/applications/kde-apps-15.12/ark.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/ark.nix
diff --git a/pkgs/applications/kde-apps-15.12/baloo-widgets.nix b/pkgs/desktops/kde-5/applications-15.12/baloo-widgets.nix
index a24928160df..a24928160df 100644
--- a/pkgs/applications/kde-apps-15.12/baloo-widgets.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/baloo-widgets.nix
diff --git a/pkgs/applications/kde-apps-15.12/default.nix b/pkgs/desktops/kde-5/applications-15.12/default.nix
index 5db80b45b8f..5db80b45b8f 100644
--- a/pkgs/applications/kde-apps-15.12/default.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/default.nix
diff --git a/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix b/pkgs/desktops/kde-5/applications-15.12/dolphin-plugins.nix
index 72a08c73261..72a08c73261 100644
--- a/pkgs/applications/kde-apps-15.12/dolphin-plugins.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/dolphin-plugins.nix
diff --git a/pkgs/applications/kde-apps-15.12/dolphin.nix b/pkgs/desktops/kde-5/applications-15.12/dolphin.nix
index 3218146f510..3218146f510 100644
--- a/pkgs/applications/kde-apps-15.12/dolphin.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/dolphin.nix
diff --git a/pkgs/applications/kde-apps-15.12/fetchsrcs.sh b/pkgs/desktops/kde-5/applications-15.12/fetchsrcs.sh
index 93da9d332f7..93da9d332f7 100755
--- a/pkgs/applications/kde-apps-15.12/fetchsrcs.sh
+++ b/pkgs/desktops/kde-5/applications-15.12/fetchsrcs.sh
diff --git a/pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix b/pkgs/desktops/kde-5/applications-15.12/ffmpegthumbs.nix
index 53e9d807d64..53e9d807d64 100644
--- a/pkgs/applications/kde-apps-15.12/ffmpegthumbs.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/ffmpegthumbs.nix
diff --git a/pkgs/applications/kde-apps-15.12/filelight.nix b/pkgs/desktops/kde-5/applications-15.12/filelight.nix
index df5e097a540..df5e097a540 100644
--- a/pkgs/applications/kde-apps-15.12/filelight.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/filelight.nix
diff --git a/pkgs/applications/kde-apps-15.12/gpgmepp.nix b/pkgs/desktops/kde-5/applications-15.12/gpgmepp.nix
index ac14573dcaa..ac14573dcaa 100644
--- a/pkgs/applications/kde-apps-15.12/gpgmepp.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/gpgmepp.nix
diff --git a/pkgs/applications/kde-apps-15.12/gwenview.nix b/pkgs/desktops/kde-5/applications-15.12/gwenview.nix
index 732ac11e96d..732ac11e96d 100644
--- a/pkgs/applications/kde-apps-15.12/gwenview.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/gwenview.nix
diff --git a/pkgs/applications/kde-apps-15.12/kate.nix b/pkgs/desktops/kde-5/applications-15.12/kate.nix
index 91eeb2314a4..91eeb2314a4 100644
--- a/pkgs/applications/kde-apps-15.12/kate.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kate.nix
diff --git a/pkgs/applications/kde-apps-15.12/kcalc.nix b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix
index a1f0316825d..a1f0316825d 100644
--- a/pkgs/applications/kde-apps-15.12/kcalc.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kcalc.nix
diff --git a/pkgs/applications/kde-apps-15.12/kde-app.nix b/pkgs/desktops/kde-5/applications-15.12/kde-app.nix
index 242f3d9c793..242f3d9c793 100644
--- a/pkgs/applications/kde-apps-15.12/kde-app.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kde-app.nix
diff --git a/pkgs/applications/kde-apps-15.12/kde-locale-4.nix b/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix
index 4b612ee3e3c..4b612ee3e3c 100644
--- a/pkgs/applications/kde-apps-15.12/kde-locale-4.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kde-locale-4.nix
diff --git a/pkgs/applications/kde-apps-15.12/kde-locale-5.nix b/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix
index 522fc542aeb..522fc542aeb 100644
--- a/pkgs/applications/kde-apps-15.12/kde-locale-5.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kde-locale-5.nix
diff --git a/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-5/applications-15.12/kdegraphics-thumbnailers.nix
index 520bad0d066..520bad0d066 100644
--- a/pkgs/applications/kde-apps-15.12/kdegraphics-thumbnailers.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kdegraphics-thumbnailers.nix
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch b/pkgs/desktops/kde-5/applications-15.12/kdelibs/0001-old-kde4-cmake-policies.patch
index b7d7300e9a8..b7d7300e9a8 100644
--- a/pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch
+++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/0001-old-kde4-cmake-policies.patch
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch b/pkgs/desktops/kde-5/applications-15.12/kdelibs/0002-polkit-install-path.patch
index ff0306ea148..ff0306ea148 100644
--- a/pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch
+++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/0002-polkit-install-path.patch
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch b/pkgs/desktops/kde-5/applications-15.12/kdelibs/0003-remove_xdg_impurities.patch
index a79d7b2b7d1..a79d7b2b7d1 100644
--- a/pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch
+++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/0003-remove_xdg_impurities.patch
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/default.nix b/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix
index a30b19774f2..a30b19774f2 100644
--- a/pkgs/applications/kde-apps-15.12/kdelibs/default.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/default.nix
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh b/pkgs/desktops/kde-5/applications-15.12/kdelibs/setup-hook.sh
index e0a75dc8acd..e0a75dc8acd 100644
--- a/pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh
+++ b/pkgs/desktops/kde-5/applications-15.12/kdelibs/setup-hook.sh
diff --git a/pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix b/pkgs/desktops/kde-5/applications-15.12/kdenetwork-filesharing.nix
index 4e99a43b391..4e99a43b391 100644
--- a/pkgs/applications/kde-apps-15.12/kdenetwork-filesharing.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kdenetwork-filesharing.nix
diff --git a/pkgs/applications/kde-apps-15.12/kgpg.nix b/pkgs/desktops/kde-5/applications-15.12/kgpg.nix
index 3ee92519718..3ee92519718 100644
--- a/pkgs/applications/kde-apps-15.12/kgpg.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kgpg.nix
diff --git a/pkgs/applications/kde-apps-15.12/kio-extras.nix b/pkgs/desktops/kde-5/applications-15.12/kio-extras.nix
index 77b42f1fc58..77b42f1fc58 100644
--- a/pkgs/applications/kde-apps-15.12/kio-extras.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/kio-extras.nix
diff --git a/pkgs/applications/kde-apps-15.12/konsole.nix b/pkgs/desktops/kde-5/applications-15.12/konsole.nix
index 4b4cba2a377..4b4cba2a377 100644
--- a/pkgs/applications/kde-apps-15.12/konsole.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/konsole.nix
diff --git a/pkgs/applications/kde-apps-15.12/l10n.nix b/pkgs/desktops/kde-5/applications-15.12/l10n.nix
index a0605e3bd55..a0605e3bd55 100644
--- a/pkgs/applications/kde-apps-15.12/l10n.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/l10n.nix
diff --git a/pkgs/applications/kde-apps-15.12/libkdcraw.nix b/pkgs/desktops/kde-5/applications-15.12/libkdcraw.nix
index 319c7fc6583..319c7fc6583 100644
--- a/pkgs/applications/kde-apps-15.12/libkdcraw.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/libkdcraw.nix
diff --git a/pkgs/applications/kde-apps-15.12/libkexiv2.nix b/pkgs/desktops/kde-5/applications-15.12/libkexiv2.nix
index afb1ac83653..afb1ac83653 100644
--- a/pkgs/applications/kde-apps-15.12/libkexiv2.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/libkexiv2.nix
diff --git a/pkgs/applications/kde-apps-15.12/libkipi.nix b/pkgs/desktops/kde-5/applications-15.12/libkipi.nix
index c23cd8578fb..c23cd8578fb 100644
--- a/pkgs/applications/kde-apps-15.12/libkipi.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/libkipi.nix
diff --git a/pkgs/applications/kde-apps-15.12/okular.nix b/pkgs/desktops/kde-5/applications-15.12/okular.nix
index 0691325d7a5..0691325d7a5 100644
--- a/pkgs/applications/kde-apps-15.12/okular.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/okular.nix
diff --git a/pkgs/applications/kde-apps-15.12/print-manager.nix b/pkgs/desktops/kde-5/applications-15.12/print-manager.nix
index b4eab372789..b4eab372789 100644
--- a/pkgs/applications/kde-apps-15.12/print-manager.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/print-manager.nix
diff --git a/pkgs/applications/kde-apps-15.12/spectacle.nix b/pkgs/desktops/kde-5/applications-15.12/spectacle.nix
index 849334fb736..849334fb736 100644
--- a/pkgs/applications/kde-apps-15.12/spectacle.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/spectacle.nix
diff --git a/pkgs/applications/kde-apps-15.12/srcs.nix b/pkgs/desktops/kde-5/applications-15.12/srcs.nix
index cd123f49f76..cd123f49f76 100644
--- a/pkgs/applications/kde-apps-15.12/srcs.nix
+++ b/pkgs/desktops/kde-5/applications-15.12/srcs.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/attica.nix b/pkgs/desktops/kde-5/frameworks-5.19/attica.nix
index 98721876c12..98721876c12 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/attica.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/attica.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix b/pkgs/desktops/kde-5/frameworks-5.19/baloo.nix
index 38c41d9271d..38c41d9271d 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/baloo.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/baloo.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix b/pkgs/desktops/kde-5/frameworks-5.19/bluez-qt.nix
index f981b0516f7..f981b0516f7 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/bluez-qt.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/bluez-qt.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix b/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix
index 879262c56a4..879262c56a4 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/breeze-icons.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/breeze-icons.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/default.nix
index cd314e27cac..cd314e27cac 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/default.nix
diff --git a/pkgs/development/libraries/kde-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
index 9717716faf5..9717716faf5 100644
--- a/pkgs/development/libraries/kde-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
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix
index 4e1b1aff3bd..4e1b1aff3bd 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh
index a6fa6189240..a6fa6189240 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/desktops/kde-5/frameworks-5.19/extra-cmake-modules/setup-hook.sh
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh b/pkgs/desktops/kde-5/frameworks-5.19/fetchsrcs.sh
index 7937e6f8bed..7937e6f8bed 100755
--- a/pkgs/development/libraries/kde-frameworks-5.19/fetchsrcs.sh
+++ b/pkgs/desktops/kde-5/frameworks-5.19/fetchsrcs.sh
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix b/pkgs/desktops/kde-5/frameworks-5.19/frameworkintegration.nix
index 26987c385ad..26987c385ad 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/frameworkintegration.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/frameworkintegration.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix b/pkgs/desktops/kde-5/frameworks-5.19/kactivities.nix
index 3225098f439..3225098f439 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kactivities.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kactivities.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix b/pkgs/desktops/kde-5/frameworks-5.19/kapidox.nix
index 647be8f052c..647be8f052c 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kapidox.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kapidox.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix b/pkgs/desktops/kde-5/frameworks-5.19/karchive.nix
index a8d9a0003c3..a8d9a0003c3 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/karchive.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/karchive.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix
index 2b000ff3c04..2b000ff3c04 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kauth/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kauth/kauth-policy-install.patch b/pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch
index 340155256f2..340155256f2 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kauth/kauth-policy-install.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kauth/kauth-policy-install.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix b/pkgs/desktops/kde-5/frameworks-5.19/kbookmarks.nix
index 1a469ab4db6..1a469ab4db6 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kbookmarks.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kbookmarks.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch
index 0d861fa9501..0d861fa9501 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kcmutils/0001-qdiriterator-follow-symlinks.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kcmutils/default.nix
index dbbb783ac61..dbbb783ac61 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kcmutils/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kcmutils/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix b/pkgs/desktops/kde-5/frameworks-5.19/kcodecs.nix
index 53a69a69b69..53a69a69b69 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kcodecs.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kcodecs.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix b/pkgs/desktops/kde-5/frameworks-5.19/kcompletion.nix
index e393774f16a..e393774f16a 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kcompletion.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kcompletion.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix b/pkgs/desktops/kde-5/frameworks-5.19/kconfig.nix
index e132afe5988..e132afe5988 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kconfig.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kconfig.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
index 7a6c0ee9053..7a6c0ee9053 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kconfigwidgets/default.nix
index 0e14d06edd3..0e14d06edd3 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kconfigwidgets/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kconfigwidgets/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix b/pkgs/desktops/kde-5/frameworks-5.19/kcoreaddons.nix
index f3a1db7bd48..f3a1db7bd48 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kcoreaddons.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kcoreaddons.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix b/pkgs/desktops/kde-5/frameworks-5.19/kcrash.nix
index bbab78ccb40..bbab78ccb40 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kcrash.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kcrash.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdbusaddons.nix
index d2ceab31d14..d2ceab31d14 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdbusaddons.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdbusaddons.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdeclarative.nix
index 74d107466cf..74d107466cf 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdeclarative.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdeclarative.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kded.nix b/pkgs/desktops/kde-5/frameworks-5.19/kded.nix
index 47ae2d68c68..47ae2d68c68 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kded.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kded.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix
index e61c4bb86e7..e61c4bb86e7 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdelibs4support.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdelibs4support.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdesignerplugin.nix
index cbc114ccca0..cbc114ccca0 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdesignerplugin.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdesignerplugin.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdesu.nix
index 364fbd6a720..364fbd6a720 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdesu.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdesu.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdewebkit.nix
index d361313d1d4..d361313d1d4 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdewebkit.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdewebkit.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdnssd.nix
index f00432b0c9c..f00432b0c9c 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdnssd.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdnssd.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix
index 138c3fc33b9..138c3fc33b9 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch
index 4e3a33efab3..4e3a33efab3 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/kdoctools-no-find-docbook-xml.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh
index 5cfffbd622d..5cfffbd622d 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kdoctools/setup-hook.sh
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kdoctools/setup-hook.sh
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix b/pkgs/desktops/kde-5/frameworks-5.19/kemoticons.nix
index d165f84e3a2..d165f84e3a2 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kemoticons.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kemoticons.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata.nix b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix
index be99c58d550..be99c58d550 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kfilemetadata.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kfilemetadata.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix b/pkgs/desktops/kde-5/frameworks-5.19/kglobalaccel.nix
index c535b3590a3..c535b3590a3 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kglobalaccel.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kglobalaccel.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix b/pkgs/desktops/kde-5/frameworks-5.19/kguiaddons.nix
index bc4e9ab1184..bc4e9ab1184 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kguiaddons.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kguiaddons.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix b/pkgs/desktops/kde-5/frameworks-5.19/khtml.nix
index d40df466ebb..d40df466ebb 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/khtml.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/khtml.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix b/pkgs/desktops/kde-5/frameworks-5.19/ki18n.nix
index 268006512e7..268006512e7 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/ki18n.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/ki18n.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch b/pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/default-theme-breeze.patch
index 5b3b15d5d5b..5b3b15d5d5b 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default-theme-breeze.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/default-theme-breeze.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/default.nix
index b78b25582be..b78b25582be 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series b/pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/series
index ab5cc8a3edb..ab5cc8a3edb 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kiconthemes/series
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kiconthemes/series
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix b/pkgs/desktops/kde-5/frameworks-5.19/kidletime.nix
index fc086560023..fc086560023 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kidletime.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kidletime.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix b/pkgs/desktops/kde-5/frameworks-5.19/kimageformats.nix
index 49d66bbcc2c..49d66bbcc2c 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kimageformats.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kimageformats.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch b/pkgs/desktops/kde-5/frameworks-5.19/kinit/0001-kinit-libpath.patch
index 9c76079a382..9c76079a382 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kinit/0001-kinit-libpath.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kinit/0001-kinit-libpath.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kinit/default.nix
index 5f644d7c424..5f644d7c424 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kinit/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kinit/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kio/default.nix
index a2131ff3385..a2131ff3385 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kio/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kio/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch b/pkgs/desktops/kde-5/frameworks-5.19/kio/samba-search-path.patch
index c9ad46b41bb..c9ad46b41bb 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kio/samba-search-path.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kio/samba-search-path.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kio/series b/pkgs/desktops/kde-5/frameworks-5.19/kio/series
index 77ca1545004..77ca1545004 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kio/series
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kio/series
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix b/pkgs/desktops/kde-5/frameworks-5.19/kitemmodels.nix
index a9024d771cc..a9024d771cc 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kitemmodels.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kitemmodels.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix b/pkgs/desktops/kde-5/frameworks-5.19/kitemviews.nix
index 931019ce495..931019ce495 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kitemviews.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kitemviews.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix b/pkgs/desktops/kde-5/frameworks-5.19/kjobwidgets.nix
index 746edf12eea..746edf12eea 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kjobwidgets.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kjobwidgets.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix b/pkgs/desktops/kde-5/frameworks-5.19/kjs.nix
index 768720f178c..768720f178c 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kjs.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kjs.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix b/pkgs/desktops/kde-5/frameworks-5.19/kjsembed.nix
index 22eef2d47bd..22eef2d47bd 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kjsembed.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kjsembed.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix b/pkgs/desktops/kde-5/frameworks-5.19/kmediaplayer.nix
index 460458b2232..460458b2232 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kmediaplayer.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kmediaplayer.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix b/pkgs/desktops/kde-5/frameworks-5.19/knewstuff.nix
index 5bcd6f30146..5bcd6f30146 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/knewstuff.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/knewstuff.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix b/pkgs/desktops/kde-5/frameworks-5.19/knotifications.nix
index 7e301dd0f26..7e301dd0f26 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/knotifications.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/knotifications.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix b/pkgs/desktops/kde-5/frameworks-5.19/knotifyconfig.nix
index dd99d2d4f1e..dd99d2d4f1e 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/knotifyconfig.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/knotifyconfig.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/allow-external-paths.patch
index e9d74444814..e9d74444814 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/allow-external-paths.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/allow-external-paths.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/default.nix
index aea1b0d31a0..aea1b0d31a0 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch
index ddbf17d0006..ddbf17d0006 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/qdiriterator-follow-symlinks.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/series
index 9b7f076efc7..9b7f076efc7 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kpackage/series
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kpackage/series
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix b/pkgs/desktops/kde-5/frameworks-5.19/kparts.nix
index 1c3e0b2cbc5..1c3e0b2cbc5 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kparts.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kparts.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix b/pkgs/desktops/kde-5/frameworks-5.19/kpeople.nix
index 4c3877e7efd..4c3877e7efd 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kpeople.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kpeople.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix b/pkgs/desktops/kde-5/frameworks-5.19/kplotting.nix
index c16f51b5ac3..c16f51b5ac3 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kplotting.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kplotting.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix b/pkgs/desktops/kde-5/frameworks-5.19/kpty.nix
index 2e34e6f674c..2e34e6f674c 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kpty.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kpty.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kross.nix b/pkgs/desktops/kde-5/frameworks-5.19/kross.nix
index 7c6f079feaa..7c6f079feaa 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kross.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kross.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix b/pkgs/desktops/kde-5/frameworks-5.19/krunner.nix
index 12d2b54d0eb..12d2b54d0eb 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/krunner.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/krunner.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch
index 3d8397d8ee2..3d8397d8ee2 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/0001-qdiriterator-follow-symlinks.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch b/pkgs/desktops/kde-5/frameworks-5.19/kservice/0002-no-canonicalize-path.patch
index 685c6852611..685c6852611 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kservice/0002-no-canonicalize-path.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/0002-no-canonicalize-path.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix
index 03b7c7c2f51..03b7c7c2f51 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kservice/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kservice/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh
index c28e862ff8a..c28e862ff8a 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kservice/setup-hook.sh
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kservice/setup-hook.sh
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/default.nix
index b8df6a5f4c0..b8df6a5f4c0 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch b/pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/no-qcoreapplication.patch
index 19ab1e1e551..19ab1e1e551 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/no-qcoreapplication.patch
+++ b/pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/no-qcoreapplication.patch
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series b/pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/series
index 46cd23829a2..46cd23829a2 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/ktexteditor/series
+++ b/pkgs/desktops/kde-5/frameworks-5.19/ktexteditor/series
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix b/pkgs/desktops/kde-5/frameworks-5.19/ktextwidgets.nix
index e332d4ff9a8..e332d4ff9a8 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/ktextwidgets.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/ktextwidgets.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix b/pkgs/desktops/kde-5/frameworks-5.19/kunitconversion.nix
index 3cf0f847d83..3cf0f847d83 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kunitconversion.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kunitconversion.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix
index 46e3cb37d11..46e3cb37d11 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kwallet.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kwallet.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix b/pkgs/desktops/kde-5/frameworks-5.19/kwidgetsaddons.nix
index d95f44d3fec..d95f44d3fec 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kwidgetsaddons.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kwidgetsaddons.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix b/pkgs/desktops/kde-5/frameworks-5.19/kwindowsystem.nix
index 09ab1f2200d..09ab1f2200d 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kwindowsystem.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kwindowsystem.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix b/pkgs/desktops/kde-5/frameworks-5.19/kxmlgui.nix
index f081d5f9170..f081d5f9170 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kxmlgui.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kxmlgui.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix b/pkgs/desktops/kde-5/frameworks-5.19/kxmlrpcclient.nix
index 20a300b68bc..20a300b68bc 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/kxmlrpcclient.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/kxmlrpcclient.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix b/pkgs/desktops/kde-5/frameworks-5.19/modemmanager-qt.nix
index 7d7f769d6a9..7d7f769d6a9 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/modemmanager-qt.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/modemmanager-qt.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix b/pkgs/desktops/kde-5/frameworks-5.19/networkmanager-qt.nix
index 333378bd143..333378bd143 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/networkmanager-qt.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/networkmanager-qt.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix b/pkgs/desktops/kde-5/frameworks-5.19/oxygen-icons5.nix
index ee350f8e153..ee350f8e153 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/oxygen-icons5.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/oxygen-icons5.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix b/pkgs/desktops/kde-5/frameworks-5.19/plasma-framework/default.nix
index d8846f77723..d8846f77723 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/plasma-framework/default.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/plasma-framework/default.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/solid.nix b/pkgs/desktops/kde-5/frameworks-5.19/solid.nix
index afd125e3c59..afd125e3c59 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/solid.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/solid.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix b/pkgs/desktops/kde-5/frameworks-5.19/sonnet.nix
index 943fe04a1c9..943fe04a1c9 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/sonnet.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/sonnet.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix b/pkgs/desktops/kde-5/frameworks-5.19/srcs.nix
index b86c0b71224..b86c0b71224 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/srcs.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/srcs.nix
diff --git a/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix b/pkgs/desktops/kde-5/frameworks-5.19/threadweaver.nix
index 52817921cc7..52817921cc7 100644
--- a/pkgs/development/libraries/kde-frameworks-5.19/threadweaver.nix
+++ b/pkgs/desktops/kde-5/frameworks-5.19/threadweaver.nix
diff --git a/pkgs/desktops/plasma-5.5/bluedevil.nix b/pkgs/desktops/kde-5/plasma-5.5/bluedevil.nix
index 6596c246202..6596c246202 100644
--- a/pkgs/desktops/plasma-5.5/bluedevil.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/bluedevil.nix
diff --git a/pkgs/desktops/plasma-5.5/breeze-gtk.nix b/pkgs/desktops/kde-5/plasma-5.5/breeze-gtk.nix
index 179f15dc876..179f15dc876 100644
--- a/pkgs/desktops/plasma-5.5/breeze-gtk.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/breeze-gtk.nix
diff --git a/pkgs/desktops/plasma-5.5/breeze-qt4.nix b/pkgs/desktops/kde-5/plasma-5.5/breeze-qt4.nix
index f8092bc9d37..f8092bc9d37 100644
--- a/pkgs/desktops/plasma-5.5/breeze-qt4.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/breeze-qt4.nix
diff --git a/pkgs/desktops/plasma-5.5/breeze-qt5.nix b/pkgs/desktops/kde-5/plasma-5.5/breeze-qt5.nix
index 63ade168805..63ade168805 100644
--- a/pkgs/desktops/plasma-5.5/breeze-qt5.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/breeze-qt5.nix
diff --git a/pkgs/desktops/plasma-5.5/default.nix b/pkgs/desktops/kde-5/plasma-5.5/default.nix
index c9fcbdd8e6a..c9fcbdd8e6a 100644
--- a/pkgs/desktops/plasma-5.5/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/default.nix
diff --git a/pkgs/desktops/plasma-5.5/fetchsrcs.sh b/pkgs/desktops/kde-5/plasma-5.5/fetchsrcs.sh
index 714e0fc7509..d2b426b85d6 100755
--- a/pkgs/desktops/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/plasma-5.5/kde-cli-tools.nix b/pkgs/desktops/kde-5/plasma-5.5/kde-cli-tools.nix
index 7f19af6959e..7f19af6959e 100644
--- a/pkgs/desktops/plasma-5.5/kde-cli-tools.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kde-cli-tools.nix
diff --git a/pkgs/desktops/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch
index 759eda4cc13..759eda4cc13 100644
--- a/pkgs/desktops/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/0001-follow-symlinks.patch
diff --git a/pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix
index 6b41599994d..6b41599994d 100644
--- a/pkgs/desktops/plasma-5.5/kde-gtk-config/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kde-gtk-config/default.nix
diff --git a/pkgs/desktops/plasma-5.5/kdecoration.nix b/pkgs/desktops/kde-5/plasma-5.5/kdecoration.nix
index eb65f7f90af..eb65f7f90af 100644
--- a/pkgs/desktops/plasma-5.5/kdecoration.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kdecoration.nix
diff --git a/pkgs/desktops/plasma-5.5/kdeplasma-addons.nix b/pkgs/desktops/kde-5/plasma-5.5/kdeplasma-addons.nix
index d6a96a3276d..d6a96a3276d 100644
--- a/pkgs/desktops/plasma-5.5/kdeplasma-addons.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kdeplasma-addons.nix
diff --git a/pkgs/desktops/plasma-5.5/kgamma5.nix b/pkgs/desktops/kde-5/plasma-5.5/kgamma5.nix
index 965c33e6eef..965c33e6eef 100644
--- a/pkgs/desktops/plasma-5.5/kgamma5.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kgamma5.nix
diff --git a/pkgs/desktops/plasma-5.5/khelpcenter.nix b/pkgs/desktops/kde-5/plasma-5.5/khelpcenter.nix
index 6ba860b9dfb..6ba860b9dfb 100644
--- a/pkgs/desktops/plasma-5.5/khelpcenter.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/khelpcenter.nix
diff --git a/pkgs/desktops/plasma-5.5/khotkeys.nix b/pkgs/desktops/kde-5/plasma-5.5/khotkeys.nix
index 141320e6b3e..141320e6b3e 100644
--- a/pkgs/desktops/plasma-5.5/khotkeys.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/khotkeys.nix
diff --git a/pkgs/desktops/plasma-5.5/kinfocenter.nix b/pkgs/desktops/kde-5/plasma-5.5/kinfocenter.nix
index ed717790cd0..ed717790cd0 100644
--- a/pkgs/desktops/plasma-5.5/kinfocenter.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kinfocenter.nix
diff --git a/pkgs/desktops/plasma-5.5/kmenuedit.nix b/pkgs/desktops/kde-5/plasma-5.5/kmenuedit.nix
index 3834ca1328f..3834ca1328f 100644
--- a/pkgs/desktops/plasma-5.5/kmenuedit.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kmenuedit.nix
diff --git a/pkgs/desktops/plasma-5.5/kscreen.nix b/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix
index 2cfd0df2e1d..2cfd0df2e1d 100644
--- a/pkgs/desktops/plasma-5.5/kscreen.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kscreen.nix
diff --git a/pkgs/desktops/plasma-5.5/kscreenlocker.nix b/pkgs/desktops/kde-5/plasma-5.5/kscreenlocker.nix
index 562797b546e..562797b546e 100644
--- a/pkgs/desktops/plasma-5.5/kscreenlocker.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kscreenlocker.nix
diff --git a/pkgs/desktops/plasma-5.5/ksshaskpass.nix b/pkgs/desktops/kde-5/plasma-5.5/ksshaskpass.nix
index f274512e027..f274512e027 100644
--- a/pkgs/desktops/plasma-5.5/ksshaskpass.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/ksshaskpass.nix
diff --git a/pkgs/desktops/plasma-5.5/ksysguard.nix b/pkgs/desktops/kde-5/plasma-5.5/ksysguard.nix
index d47f9215a41..d47f9215a41 100644
--- a/pkgs/desktops/plasma-5.5/ksysguard.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/ksysguard.nix
diff --git a/pkgs/desktops/plasma-5.5/kwayland.nix b/pkgs/desktops/kde-5/plasma-5.5/kwayland.nix
index e4d6eb631f9..e4d6eb631f9 100644
--- a/pkgs/desktops/plasma-5.5/kwayland.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kwayland.nix
diff --git a/pkgs/desktops/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch
index 797a32fc5f8..797a32fc5f8 100644
--- a/pkgs/desktops/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/kwin/0001-qdiriterator-follow-symlinks.patch
diff --git a/pkgs/desktops/plasma-5.5/kwin/default.nix b/pkgs/desktops/kde-5/plasma-5.5/kwin/default.nix
index 2e86068b486..2e86068b486 100644
--- a/pkgs/desktops/plasma-5.5/kwin/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kwin/default.nix
diff --git a/pkgs/desktops/plasma-5.5/kwrited.nix b/pkgs/desktops/kde-5/plasma-5.5/kwrited.nix
index a6ed9d9bb28..a6ed9d9bb28 100644
--- a/pkgs/desktops/plasma-5.5/kwrited.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/kwrited.nix
diff --git a/pkgs/desktops/plasma-5.5/libkscreen/default.nix b/pkgs/desktops/kde-5/plasma-5.5/libkscreen/default.nix
index 9fccbd6834c..9fccbd6834c 100644
--- a/pkgs/desktops/plasma-5.5/libkscreen/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/libkscreen/default.nix
diff --git a/pkgs/desktops/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch
index fbbb11ae755..fbbb11ae755 100644
--- a/pkgs/desktops/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/libksysguard/0001-qdiriterator-follow-symlinks.patch
diff --git a/pkgs/desktops/plasma-5.5/libksysguard/default.nix b/pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix
index 402b3ce3bee..402b3ce3bee 100644
--- a/pkgs/desktops/plasma-5.5/libksysguard/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/libksysguard/default.nix
diff --git a/pkgs/desktops/plasma-5.5/milou.nix b/pkgs/desktops/kde-5/plasma-5.5/milou.nix
index 760de2d79ab..760de2d79ab 100644
--- a/pkgs/desktops/plasma-5.5/milou.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/milou.nix
diff --git a/pkgs/desktops/plasma-5.5/oxygen.nix b/pkgs/desktops/kde-5/plasma-5.5/oxygen.nix
index 02918100408..02918100408 100644
--- a/pkgs/desktops/plasma-5.5/oxygen.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/oxygen.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch
index ead7452daa8..ead7452daa8 100644
--- a/pkgs/desktops/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0001-qt-5.5-QML-import-paths.patch
diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/0002-hwclock.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0002-hwclock.patch
index 17b01486d92..17b01486d92 100644
--- a/pkgs/desktops/plasma-5.5/plasma-desktop/0002-hwclock.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0002-hwclock.patch
diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/0003-tzdir.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0003-tzdir.patch
index aba97b032f8..aba97b032f8 100644
--- a/pkgs/desktops/plasma-5.5/plasma-desktop/0003-tzdir.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/0003-tzdir.patch
diff --git a/pkgs/desktops/plasma-5.5/plasma-desktop/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix
index a73060ad1af..a73060ad1af 100644
--- a/pkgs/desktops/plasma-5.5/plasma-desktop/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-desktop/default.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-mediacenter.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix
index afd8a18bbbd..afd8a18bbbd 100644
--- a/pkgs/desktops/plasma-5.5/plasma-mediacenter.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-mediacenter.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch
index 79b5cfb437e..79b5cfb437e 100644
--- a/pkgs/desktops/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-nm/0001-mobile-broadband-provider-info-path.patch
diff --git a/pkgs/desktops/plasma-5.5/plasma-nm/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-nm/default.nix
index 249c6d8aac9..249c6d8aac9 100644
--- a/pkgs/desktops/plasma-5.5/plasma-nm/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-nm/default.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-pa.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-pa.nix
index ff56d1199b1..ff56d1199b1 100644
--- a/pkgs/desktops/plasma-5.5/plasma-pa.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-pa.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace-wallpapers.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace-wallpapers.nix
index bc87abcad15..bc87abcad15 100644
--- a/pkgs/desktops/plasma-5.5/plasma-workspace-wallpapers.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace-wallpapers.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/default.nix b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix
index 2d9364d446e..2d9364d446e 100644
--- a/pkgs/desktops/plasma-5.5/plasma-workspace/default.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/default.nix
diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/qml-import-path.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/qml-import-path.patch
index 1d34001be59..1d34001be59 100644
--- a/pkgs/desktops/plasma-5.5/plasma-workspace/qml-import-path.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/qml-import-path.patch
diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/series b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/series
index 88b54af793e..88b54af793e 100644
--- a/pkgs/desktops/plasma-5.5/plasma-workspace/series
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/series
diff --git a/pkgs/desktops/plasma-5.5/plasma-workspace/startkde.patch b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch
index 802c92da64d..802c92da64d 100644
--- a/pkgs/desktops/plasma-5.5/plasma-workspace/startkde.patch
+++ b/pkgs/desktops/kde-5/plasma-5.5/plasma-workspace/startkde.patch
diff --git a/pkgs/desktops/plasma-5.5/polkit-kde-agent.nix b/pkgs/desktops/kde-5/plasma-5.5/polkit-kde-agent.nix
index 3fc3a441ac3..3fc3a441ac3 100644
--- a/pkgs/desktops/plasma-5.5/polkit-kde-agent.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/polkit-kde-agent.nix
diff --git a/pkgs/desktops/plasma-5.5/powerdevil.nix b/pkgs/desktops/kde-5/plasma-5.5/powerdevil.nix
index 475e8878206..475e8878206 100644
--- a/pkgs/desktops/plasma-5.5/powerdevil.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/powerdevil.nix
diff --git a/pkgs/desktops/plasma-5.5/setup-hook.sh b/pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh
index a8d9b7e0e36..a8d9b7e0e36 100644
--- a/pkgs/desktops/plasma-5.5/setup-hook.sh
+++ b/pkgs/desktops/kde-5/plasma-5.5/setup-hook.sh
diff --git a/pkgs/desktops/kde-5/plasma-5.5/srcs.nix b/pkgs/desktops/kde-5/plasma-5.5/srcs.nix
new file mode 100644
index 00000000000..f27b39033e2
--- /dev/null
+++ b/pkgs/desktops/kde-5/plasma-5.5/srcs.nix
@@ -0,0 +1,309 @@
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+{ fetchurl, mirror }:
+
+{
+  bluedevil = {
+    version = "5.5.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5.2";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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.5";
+    src = fetchurl {
+      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/plasma-5.5/systemsettings.nix b/pkgs/desktops/kde-5/plasma-5.5/systemsettings.nix
index a921e153dbc..a921e153dbc 100644
--- a/pkgs/desktops/plasma-5.5/systemsettings.nix
+++ b/pkgs/desktops/kde-5/plasma-5.5/systemsettings.nix
diff --git a/pkgs/desktops/plasma-5.5/srcs.nix b/pkgs/desktops/plasma-5.5/srcs.nix
deleted file mode 100644
index 3b63c864045..00000000000
--- a/pkgs/desktops/plasma-5.5/srcs.nix
+++ /dev/null
@@ -1,309 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
-{ fetchurl, mirror }:
-
-{
-  bluedevil = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/bluedevil-5.5.4.tar.xz";
-      sha256 = "1r20dlsg83d3lrnbdb92cpd7h0s2fmh0vjv3xi5z6rf741463p14";
-      name = "bluedevil-5.5.4.tar.xz";
-    };
-  };
-  breeze = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/breeze-5.5.4.tar.xz";
-      sha256 = "0chlp5z5zz19rh9k4ffjr92hn07dmavfcwx0wwffy8qhiw6qw7w3";
-      name = "breeze-5.5.4.tar.xz";
-    };
-  };
-  breeze-gtk = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  discover = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/discover-5.5.4.tar.xz";
-      sha256 = "0d5s8b9f5az40ajviijc67rz5l2345wlrqacjm4pdi8fqvxivb1v";
-      name = "discover-5.5.4.tar.xz";
-    };
-  };
-  kde-cli-tools = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  kdecoration = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kdecoration-5.5.4.tar.xz";
-      sha256 = "1ghgvg0lfjjlgl3a9ryw1y8aqihdwrkr7qjph4v3p9brlpqm5326";
-      name = "kdecoration-5.5.4.tar.xz";
-    };
-  };
-  kde-gtk-config = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  kdeplasma-addons = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  kgamma5 = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kgamma5-5.5.4.tar.xz";
-      sha256 = "0w63m1sxq2fa0wabyyry4prbzc2c54adc56hfhkh84rflccfbnc2";
-      name = "kgamma5-5.5.4.tar.xz";
-    };
-  };
-  khelpcenter = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/khelpcenter-5.5.4.tar.xz";
-      sha256 = "01kw97p1xz2gghghykkv953bvypcyd080fxknjrzn4v9gl5mrjv0";
-      name = "khelpcenter-5.5.4.tar.xz";
-    };
-  };
-  khotkeys = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/khotkeys-5.5.4.tar.xz";
-      sha256 = "1jlpzqrww2n9zf5cwlvpyvxcz0wv0cyln1xjhm49ayl5iin3m9yn";
-      name = "khotkeys-5.5.4.tar.xz";
-    };
-  };
-  kinfocenter = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kinfocenter-5.5.4.tar.xz";
-      sha256 = "10qhq76ha1mahpmgrj4kw660zf92k7ys3mz2dkiid7ib6gsimir4";
-      name = "kinfocenter-5.5.4.tar.xz";
-    };
-  };
-  kmenuedit = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kmenuedit-5.5.4.tar.xz";
-      sha256 = "0scsr3isf4d0hlk85pk0snn6j5cwm7qlqnl6iqs0df32g8ysirs6";
-      name = "kmenuedit-5.5.4.tar.xz";
-    };
-  };
-  kscreen = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kscreen-5.5.4.tar.xz";
-      sha256 = "0ax67gqfjw59jk3wh3sflk3q10xqrjwf2qmvx6jky6q2x4kdixvv";
-      name = "kscreen-5.5.4.tar.xz";
-    };
-  };
-  kscreenlocker = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kscreenlocker-5.5.4.tar.xz";
-      sha256 = "18r53f5vri8xaj53zskadnxqxs60akxmwkq54xnb4lvg5cks9hrr";
-      name = "kscreenlocker-5.5.4.tar.xz";
-    };
-  };
-  ksshaskpass = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/ksshaskpass-5.5.4.tar.xz";
-      sha256 = "0hlgf7896qksivmf79ks0xcqndjvmmq13ywrkc0l43pcj50ydhj2";
-      name = "ksshaskpass-5.5.4.tar.xz";
-    };
-  };
-  ksysguard = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/ksysguard-5.5.4.tar.xz";
-      sha256 = "1hbq8ppz9ijkk032aldrxyfwk1yrpjchfy6w6mg836bi8f69i1kc";
-      name = "ksysguard-5.5.4.tar.xz";
-    };
-  };
-  kwallet-pam = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  kwayland = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwayland-5.5.4.tar.xz";
-      sha256 = "1cprg187h8pny86910m08pzyvknbcqa9x3xbqh7flrpw0rvrg5wp";
-      name = "kwayland-5.5.4.tar.xz";
-    };
-  };
-  kwayland-integration = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  kwin = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwin-5.5.4.tar.xz";
-      sha256 = "1015a0d3yi5b4isfkrl3w3mdslh0r1xyhvy9z8liz3wnxgrajwj8";
-      name = "kwin-5.5.4.tar.xz";
-    };
-  };
-  kwrited = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/kwrited-5.5.4.tar.xz";
-      sha256 = "01d8q3hj5frhmafsavgvyz2nlbd4ma4fsx12dhjyxqsgxdvvgffh";
-      name = "kwrited-5.5.4.tar.xz";
-    };
-  };
-  libkscreen = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/libkscreen-5.5.4.tar.xz";
-      sha256 = "15q7x844x8cz15b3mkh4lwygvrx66s0fl706b221p3my54n63ymf";
-      name = "libkscreen-5.5.4.tar.xz";
-    };
-  };
-  libksysguard = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/libksysguard-5.5.4.tar.xz";
-      sha256 = "1irrb3im0gr8yhkp570bqipbqz8igpxr2k4kxb2c04111npkqmw1";
-      name = "libksysguard-5.5.4.tar.xz";
-    };
-  };
-  milou = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/milou-5.5.4.tar.xz";
-      sha256 = "0dc8jbk0yihqv5jxd4i12rmvfyyp63b6hx9q22qjrj5gkda1cddl";
-      name = "milou-5.5.4.tar.xz";
-    };
-  };
-  oxygen = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/oxygen-5.5.4.tar.xz";
-      sha256 = "10fjwk1aznpkrnal961kfwpjjil2iy2n0x96h26bh91l4insix1v";
-      name = "oxygen-5.5.4.tar.xz";
-    };
-  };
-  plasma-desktop = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  plasma-mediacenter = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  plasma-nm = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  plasma-pa = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  plasma-sdk = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  plasma-workspace = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  plasma-workspace-wallpapers = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  polkit-kde-agent = {
-    version = "1-5.5.4";
-    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";
-    };
-  };
-  powerdevil = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/powerdevil-5.5.4.tar.xz";
-      sha256 = "0i0i55g72yb9z8agv1yyrx98l3s0fs5wn51kz571vqqrw6m3wn7l";
-      name = "powerdevil-5.5.4.tar.xz";
-    };
-  };
-  sddm-kcm = {
-    version = "5.5.4";
-    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";
-    };
-  };
-  systemsettings = {
-    version = "5.5.4";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.5.4/systemsettings-5.5.4.tar.xz";
-      sha256 = "1i7ljxsnwf2kwd05kzxirbyaxj3w5kyr0jq9j0iy3jlz97p4jkpv";
-      name = "systemsettings-5.5.4.tar.xz";
-    };
-  };
-  user-manager = {
-    version = "5.5.4";
-    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";
-    };
-  };
-}
diff --git a/pkgs/development/compilers/cudatoolkit/5.5.nix b/pkgs/development/compilers/cudatoolkit/5.5.nix
deleted file mode 100644
index c3eb1b6efcf..00000000000
--- a/pkgs/development/compilers/cudatoolkit/5.5.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "5.5.22";
-  sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4";
-})
diff --git a/pkgs/development/compilers/cudatoolkit/6.0.nix b/pkgs/development/compilers/cudatoolkit/6.0.nix
deleted file mode 100644
index 200311703a0..00000000000
--- a/pkgs/development/compilers/cudatoolkit/6.0.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "6.0.37";
-  sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
-})
diff --git a/pkgs/development/compilers/cudatoolkit/6.5.nix b/pkgs/development/compilers/cudatoolkit/6.5.nix
deleted file mode 100644
index 3d9a3a50349..00000000000
--- a/pkgs/development/compilers/cudatoolkit/6.5.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "6.5.19";
-  sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
-})
diff --git a/pkgs/development/compilers/cudatoolkit/7.0.nix b/pkgs/development/compilers/cudatoolkit/7.0.nix
deleted file mode 100644
index 152dd6e9274..00000000000
--- a/pkgs/development/compilers/cudatoolkit/7.0.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "7.0.28";
-  sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi";
-  url = "http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run";
-})
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
new file mode 100644
index 00000000000..0ab3f52f2bf
--- /dev/null
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -0,0 +1,109 @@
+{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python26, python27, zlib
+, xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
+}:
+
+let
+
+  common =
+    { version, url, sha256
+    , python ? python27
+    }:
+
+    stdenv.mkDerivation rec {
+      name = "cudatoolkit-${version}";
+
+      dontPatchELF = true;
+      dontStrip = true;
+
+      src =
+        if stdenv.system == "x86_64-linux" then
+          fetchurl {
+            inherit url sha256;
+          }
+        else throw "cudatoolkit does not support platform ${stdenv.system}";
+
+      outputs = [ "out" "sdk" ];
+
+      buildInputs = [ perl ];
+
+      runtimeDependencies = [
+        ncurses expat python zlib glibc
+        xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
+        gtk2 glib fontconfig freetype unixODBC alsaLib
+      ];
+
+      rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64";
+
+      unpackPhase = ''
+        sh $src --keep --noexec
+        cd pkg/run_files
+        sh cuda-linux64-rel-${version}-*.run --keep --noexec
+        sh cuda-samples-linux-${version}-*.run --keep --noexec
+        cd pkg
+      '';
+
+      buildPhase = ''
+        find . -type f -executable -exec patchelf \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          '{}' \; || true
+        find . -type f -exec patchelf \
+          --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
+          --force-rpath \
+          '{}' \; || true
+      '';
+
+      installPhase = ''
+        mkdir $out $sdk
+        perl ./install-linux.pl --prefix="$out"
+        rm $out/tools/CUDA_Occupancy_Calculator.xls
+        perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out"
+
+        # let's remove the 32-bit libraries, they confuse the lib64->lib mover
+        rm -rf $out/lib
+
+        # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
+        if [ -d "$out"/cuda-samples ]; then
+            mv "$out"/cuda-samples "$out"/samples
+        fi
+      '';
+
+      meta = {
+        license = lib.licenses.unfree;
+      };
+    };
+
+in {
+
+  cudatoolkit5 = common {
+    version = "5.5.22";
+    url = http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run;
+    sha256 = "b997e1dbe95704e0e806e0cedc5fd370a385351fef565c7bae0917baf3a29aa4";
+    python = python26;
+  };
+
+  cudatoolkit6 = common {
+    version = "6.0.37";
+    url = http://developer.download.nvidia.com/compute/cuda/6_0/rel/installers/cuda_6.0.37_linux_64.run;
+    sha256 = "991e436c7a6c94ec67cf44204d136adfef87baa3ded270544fa211179779bc40";
+  };
+
+  cudatoolkit65 = common {
+    version = "6.5.19";
+    url = http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.19_linux_64.run;
+    sha256 = "1x9zdmk8z784d3d35vr2ak1l4h5v4jfjhpxfi9fl9dvjkcavqyaj";
+  };
+
+  cudatoolkit7 = common {
+    version = "7.0.28";
+    url = http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run;
+    sha256 = "1km5hpiimx11jcazg0h3mjzk220klwahs2vfqhjavpds5ff2wafi";
+  };
+
+  cudatoolkit75 = common {
+    version = "7.5.18";
+    url = http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run;
+    sha256 = "1v2ylzp34ijyhcxyh5p6i0cwawwbbdhni2l5l4qm21s1cx9ish88";
+  };
+
+}
+
diff --git a/pkgs/development/compilers/cudatoolkit/generic.nix b/pkgs/development/compilers/cudatoolkit/generic.nix
deleted file mode 100644
index a02c917ab24..00000000000
--- a/pkgs/development/compilers/cudatoolkit/generic.nix
+++ /dev/null
@@ -1,75 +0,0 @@
-{ lib, stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
-, xorg, gtk2, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
-# generic inputs
-, version, sha256, url ? null, ...
-} :
-
-let
-  # eg, 5.5.22 => 5_5
-  mkShort = let str  = stdenv.lib.strings;
-                take = stdenv.lib.lists.take;
-            in v: str.concatStringsSep "_" (take 2 (str.splitString "." v));
-  shortVer = mkShort version;
-in stdenv.mkDerivation rec {
-  name = "cudatoolkit-${version}";
-
-  dontPatchELF = true;
-  dontStrip = true;
-
-  src =
-    if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = if url != null then url else "http://developer.download.nvidia.com/compute/cuda/${shortVer}/rel/installers/cuda_${version}_linux_64.run";
-        sha256 = sha256;
-      }
-    else throw "cudatoolkit does not support platform ${stdenv.system}";
-
-  outputs = [ "out" "sdk" ];
-
-  buildInputs = [ perl ];
-
-  runtimeDependencies = [
-    ncurses expat python zlib glibc
-    xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
-    gtk2 glib fontconfig freetype unixODBC alsaLib
-  ];
-
-  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc}/lib64";
-
-  unpackPhase = ''
-    sh $src --keep --noexec
-    cd pkg/run_files
-    sh cuda-linux64-rel-${version}-*.run --keep --noexec
-    sh cuda-samples-linux-${version}-*.run --keep --noexec
-    cd pkg
-  '';
-
-  buildPhase = ''
-    find . -type f -executable -exec patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      '{}' \; || true
-    find . -type f -exec patchelf \
-      --set-rpath $rpath:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64:$(cat $NIX_CC/nix-support/orig-cc)/lib \
-      --force-rpath \
-      '{}' \; || true
-  '';
-
-  installPhase = ''
-    mkdir $out $sdk
-    perl ./install-linux.pl --prefix="$out"
-    rm $out/tools/CUDA_Occupancy_Calculator.xls
-    perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out"
-
-    # let's remove the 32-bit libraries, they confuse the lib64->lib mover
-    rm -rf $out/lib
-
-    # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
-    if [ -d "$out"/cuda-samples ]; then
-        mv "$out"/cuda-samples "$out"/samples
-    fi
-  '';
-
-  meta = {
-    license = lib.licenses.unfree;
-  };
-}
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index 7401a23ddae..77b3a15cb32 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -125,11 +125,17 @@ in mkDerivation (rec {
         --with-gmp-includes ${gmp}/include \
         --with-gmp-libraries ${gmp}/lib
   '';
-  passthru = {
+  passthru = let
+    ghcjsNodePkgs = pkgs.nodePackages.override {
+      generated = ./node-packages-generated.nix;
+      self = ghcjsNodePkgs;
+    };
+  in {
     inherit bootPkgs;
     isCross = true;
     isGhcjs = true;
     inherit nodejs ghcjsBoot;
+    inherit (ghcjsNodePkgs) "socket.io";
   };
 
   homepage = "https://github.com/ghcjs/ghcjs";
diff --git a/pkgs/development/compilers/ghcjs/node-packages-generated.nix b/pkgs/development/compilers/ghcjs/node-packages-generated.nix
new file mode 100644
index 00000000000..a3c882ff76c
--- /dev/null
+++ b/pkgs/development/compilers/ghcjs/node-packages-generated.nix
@@ -0,0 +1,943 @@
+{ self, fetchurl, fetchgit ? null, lib }:
+
+{
+  by-spec."accepts"."1.1.4" =
+    self.by-version."accepts"."1.1.4";
+  by-version."accepts"."1.1.4" = self.buildNodePackage {
+    name = "accepts-1.1.4";
+    version = "1.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz";
+      name = "accepts-1.1.4.tgz";
+      sha1 = "d71c96f7d41d0feda2c38cd14e8a27c04158df4a";
+    };
+    deps = {
+      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
+      "negotiator-0.4.9" = self.by-version."negotiator"."0.4.9";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."after"."0.8.1" =
+    self.by-version."after"."0.8.1";
+  by-version."after"."0.8.1" = self.buildNodePackage {
+    name = "after-0.8.1";
+    version = "0.8.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/after/-/after-0.8.1.tgz";
+      name = "after-0.8.1.tgz";
+      sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."arraybuffer.slice"."0.0.6" =
+    self.by-version."arraybuffer.slice"."0.0.6";
+  by-version."arraybuffer.slice"."0.0.6" = self.buildNodePackage {
+    name = "arraybuffer.slice-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
+      name = "arraybuffer.slice-0.0.6.tgz";
+      sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."backo2"."1.0.2" =
+    self.by-version."backo2"."1.0.2";
+  by-version."backo2"."1.0.2" = self.buildNodePackage {
+    name = "backo2-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz";
+      name = "backo2-1.0.2.tgz";
+      sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64-arraybuffer"."0.1.2" =
+    self.by-version."base64-arraybuffer"."0.1.2";
+  by-version."base64-arraybuffer"."0.1.2" = self.buildNodePackage {
+    name = "base64-arraybuffer-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
+      name = "base64-arraybuffer-0.1.2.tgz";
+      sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."base64id"."0.1.0" =
+    self.by-version."base64id"."0.1.0";
+  by-version."base64id"."0.1.0" = self.buildNodePackage {
+    name = "base64id-0.1.0";
+    version = "0.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
+      name = "base64id-0.1.0.tgz";
+      sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."benchmark"."1.0.0" =
+    self.by-version."benchmark"."1.0.0";
+  by-version."benchmark"."1.0.0" = self.buildNodePackage {
+    name = "benchmark-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz";
+      name = "benchmark-1.0.0.tgz";
+      sha1 = "2f1e2fa4c359f11122aa183082218e957e390c73";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."better-assert"."~1.0.0" =
+    self.by-version."better-assert"."1.0.2";
+  by-version."better-assert"."1.0.2" = self.buildNodePackage {
+    name = "better-assert-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
+      name = "better-assert-1.0.2.tgz";
+      sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+    };
+    deps = {
+      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."blob"."0.0.4" =
+    self.by-version."blob"."0.0.4";
+  by-version."blob"."0.0.4" = self.buildNodePackage {
+    name = "blob-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz";
+      name = "blob-0.0.4.tgz";
+      sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."callsite"."1.0.0" =
+    self.by-version."callsite"."1.0.0";
+  by-version."callsite"."1.0.0" = self.buildNodePackage {
+    name = "callsite-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
+      name = "callsite-1.0.0.tgz";
+      sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-bind"."1.0.0" =
+    self.by-version."component-bind"."1.0.0";
+  by-version."component-bind"."1.0.0" = self.buildNodePackage {
+    name = "component-bind-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
+      name = "component-bind-1.0.0.tgz";
+      sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-emitter"."1.1.2" =
+    self.by-version."component-emitter"."1.1.2";
+  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
+    name = "component-emitter-1.1.2";
+    version = "1.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+      name = "component-emitter-1.1.2.tgz";
+      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-emitter"."1.2.0" =
+    self.by-version."component-emitter"."1.2.0";
+  by-version."component-emitter"."1.2.0" = self.buildNodePackage {
+    name = "component-emitter-1.2.0";
+    version = "1.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.2.0.tgz";
+      name = "component-emitter-1.2.0.tgz";
+      sha1 = "ccd113a86388d06482d03de3fc7df98526ba8efe";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."component-inherit"."0.0.3" =
+    self.by-version."component-inherit"."0.0.3";
+  by-version."component-inherit"."0.0.3" = self.buildNodePackage {
+    name = "component-inherit-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
+      name = "component-inherit-0.0.3.tgz";
+      sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."0.7.4" =
+    self.by-version."debug"."0.7.4";
+  by-version."debug"."0.7.4" = self.buildNodePackage {
+    name = "debug-0.7.4";
+    version = "0.7.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+      name = "debug-0.7.4.tgz";
+      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."debug"."2.2.0" =
+    self.by-version."debug"."2.2.0";
+  by-version."debug"."2.2.0" = self.buildNodePackage {
+    name = "debug-2.2.0";
+    version = "2.2.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
+      name = "debug-2.2.0.tgz";
+      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+    };
+    deps = {
+      "ms-0.7.1" = self.by-version."ms"."0.7.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io"."1.6.8" =
+    self.by-version."engine.io"."1.6.8";
+  by-version."engine.io"."1.6.8" = self.buildNodePackage {
+    name = "engine.io-1.6.8";
+    version = "1.6.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io/-/engine.io-1.6.8.tgz";
+      name = "engine.io-1.6.8.tgz";
+      sha1 = "de05a06b757e7517695e088c7b051c47819f511b";
+    };
+    deps = {
+      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "ws-1.0.1" = self.by-version."ws"."1.0.1";
+      "engine.io-parser-1.2.4" = self.by-version."engine.io-parser"."1.2.4";
+      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io-client"."1.6.8" =
+    self.by-version."engine.io-client"."1.6.8";
+  by-version."engine.io-client"."1.6.8" = self.buildNodePackage {
+    name = "engine.io-client-1.6.8";
+    version = "1.6.8";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io-client/-/engine.io-client-1.6.8.tgz";
+      name = "engine.io-client-1.6.8.tgz";
+      sha1 = "6e2db11648b45e405c46b172ea3e3dac37cc0ceb";
+    };
+    deps = {
+      "has-cors-1.1.0" = self.by-version."has-cors"."1.1.0";
+      "ws-1.0.1" = self.by-version."ws"."1.0.1";
+      "xmlhttprequest-ssl-1.5.1" = self.by-version."xmlhttprequest-ssl"."1.5.1";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+      "engine.io-parser-1.2.4" = self.by-version."engine.io-parser"."1.2.4";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "parseuri-0.0.4" = self.by-version."parseuri"."0.0.4";
+      "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1";
+      "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2";
+      "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3";
+      "yeast-0.1.2" = self.by-version."yeast"."0.1.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."engine.io-parser"."1.2.4" =
+    self.by-version."engine.io-parser"."1.2.4";
+  by-version."engine.io-parser"."1.2.4" = self.buildNodePackage {
+    name = "engine.io-parser-1.2.4";
+    version = "1.2.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz";
+      name = "engine.io-parser-1.2.4.tgz";
+      sha1 = "e0897b0bf14e792d4cd2a5950553919c56948c42";
+    };
+    deps = {
+      "after-0.8.1" = self.by-version."after"."0.8.1";
+      "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6";
+      "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2";
+      "blob-0.0.4" = self.by-version."blob"."0.0.4";
+      "has-binary-0.1.6" = self.by-version."has-binary"."0.1.6";
+      "utf8-2.1.0" = self.by-version."utf8"."2.1.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-binary"."0.1.6" =
+    self.by-version."has-binary"."0.1.6";
+  by-version."has-binary"."0.1.6" = self.buildNodePackage {
+    name = "has-binary-0.1.6";
+    version = "0.1.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz";
+      name = "has-binary-0.1.6.tgz";
+      sha1 = "25326f39cfa4f616ad8787894e3af2cfbc7b6e10";
+    };
+    deps = {
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-binary"."0.1.7" =
+    self.by-version."has-binary"."0.1.7";
+  by-version."has-binary"."0.1.7" = self.buildNodePackage {
+    name = "has-binary-0.1.7";
+    version = "0.1.7";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz";
+      name = "has-binary-0.1.7.tgz";
+      sha1 = "68e61eb16210c9545a0a5cce06a873912fe1e68c";
+    };
+    deps = {
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."has-cors"."1.1.0" =
+    self.by-version."has-cors"."1.1.0";
+  by-version."has-cors"."1.1.0" = self.buildNodePackage {
+    name = "has-cors-1.1.0";
+    version = "1.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz";
+      name = "has-cors-1.1.0.tgz";
+      sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."indexof"."0.0.1" =
+    self.by-version."indexof"."0.0.1";
+  by-version."indexof"."0.0.1" = self.buildNodePackage {
+    name = "indexof-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+      name = "indexof-0.0.1.tgz";
+      sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."isarray"."0.0.1" =
+    self.by-version."isarray"."0.0.1";
+  by-version."isarray"."0.0.1" = self.buildNodePackage {
+    name = "isarray-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      name = "isarray-0.0.1.tgz";
+      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json3"."3.2.6" =
+    self.by-version."json3"."3.2.6";
+  by-version."json3"."3.2.6" = self.buildNodePackage {
+    name = "json3-3.2.6";
+    version = "3.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
+      name = "json3-3.2.6.tgz";
+      sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."json3"."3.3.2" =
+    self.by-version."json3"."3.3.2";
+  by-version."json3"."3.3.2" = self.buildNodePackage {
+    name = "json3-3.3.2";
+    version = "3.3.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/json3/-/json3-3.3.2.tgz";
+      name = "json3-3.3.2.tgz";
+      sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-db"."~1.12.0" =
+    self.by-version."mime-db"."1.12.0";
+  by-version."mime-db"."1.12.0" = self.buildNodePackage {
+    name = "mime-db-1.12.0";
+    version = "1.12.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz";
+      name = "mime-db-1.12.0.tgz";
+      sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."mime-types"."~2.0.4" =
+    self.by-version."mime-types"."2.0.14";
+  by-version."mime-types"."2.0.14" = self.buildNodePackage {
+    name = "mime-types-2.0.14";
+    version = "2.0.14";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz";
+      name = "mime-types-2.0.14.tgz";
+      sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6";
+    };
+    deps = {
+      "mime-db-1.12.0" = self.by-version."mime-db"."1.12.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ms"."0.7.1" =
+    self.by-version."ms"."0.7.1";
+  by-version."ms"."0.7.1" = self.buildNodePackage {
+    name = "ms-0.7.1";
+    version = "0.7.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+      name = "ms-0.7.1.tgz";
+      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."negotiator"."0.4.9" =
+    self.by-version."negotiator"."0.4.9";
+  by-version."negotiator"."0.4.9" = self.buildNodePackage {
+    name = "negotiator-0.4.9";
+    version = "0.4.9";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz";
+      name = "negotiator-0.4.9.tgz";
+      sha1 = "92e46b6db53c7e421ed64a2bc94f08be7630df3f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."object-component"."0.0.3" =
+    self.by-version."object-component"."0.0.3";
+  by-version."object-component"."0.0.3" = self.buildNodePackage {
+    name = "object-component-0.0.3";
+    version = "0.0.3";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
+      name = "object-component-0.0.3.tgz";
+      sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."options".">=0.0.5" =
+    self.by-version."options"."0.0.6";
+  by-version."options"."0.0.6" = self.buildNodePackage {
+    name = "options-0.0.6";
+    version = "0.0.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
+      name = "options-0.0.6.tgz";
+      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parsejson"."0.0.1" =
+    self.by-version."parsejson"."0.0.1";
+  by-version."parsejson"."0.0.1" = self.buildNodePackage {
+    name = "parsejson-0.0.1";
+    version = "0.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
+      name = "parsejson-0.0.1.tgz";
+      sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseqs"."0.0.2" =
+    self.by-version."parseqs"."0.0.2";
+  by-version."parseqs"."0.0.2" = self.buildNodePackage {
+    name = "parseqs-0.0.2";
+    version = "0.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
+      name = "parseqs-0.0.2.tgz";
+      sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."parseuri"."0.0.4" =
+    self.by-version."parseuri"."0.0.4";
+  by-version."parseuri"."0.0.4" = self.buildNodePackage {
+    name = "parseuri-0.0.4";
+    version = "0.0.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz";
+      name = "parseuri-0.0.4.tgz";
+      sha1 = "806582a39887e1ea18dd5e2fe0e01902268e9350";
+    };
+    deps = {
+      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io"."*" =
+    self.by-version."socket.io"."1.4.5";
+  by-version."socket.io"."1.4.5" = self.buildNodePackage {
+    name = "socket.io-1.4.5";
+    version = "1.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io/-/socket.io-1.4.5.tgz";
+      name = "socket.io-1.4.5.tgz";
+      sha1 = "f202f49eeb9cf7cf6c0971ad75d8d96d451ea4f7";
+    };
+    deps = {
+      "engine.io-1.6.8" = self.by-version."engine.io"."1.6.8";
+      "socket.io-parser-2.2.6" = self.by-version."socket.io-parser"."2.2.6";
+      "socket.io-client-1.4.5" = self.by-version."socket.io-client"."1.4.5";
+      "socket.io-adapter-0.4.0" = self.by-version."socket.io-adapter"."0.4.0";
+      "has-binary-0.1.7" = self.by-version."has-binary"."0.1.7";
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  "socket.io" = self.by-version."socket.io"."1.4.5";
+  by-spec."socket.io-adapter"."0.4.0" =
+    self.by-version."socket.io-adapter"."0.4.0";
+  by-version."socket.io-adapter"."0.4.0" = self.buildNodePackage {
+    name = "socket.io-adapter-0.4.0";
+    version = "0.4.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz";
+      name = "socket.io-adapter-0.4.0.tgz";
+      sha1 = "fb9f82ab1aa65290bf72c3657955b930a991a24f";
+    };
+    deps = {
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "socket.io-parser-2.2.2" = self.by-version."socket.io-parser"."2.2.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-client"."1.4.5" =
+    self.by-version."socket.io-client"."1.4.5";
+  by-version."socket.io-client"."1.4.5" = self.buildNodePackage {
+    name = "socket.io-client-1.4.5";
+    version = "1.4.5";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-1.4.5.tgz";
+      name = "socket.io-client-1.4.5.tgz";
+      sha1 = "400d630c31e7c9579e45173f977e4f5bd8dc7d2e";
+    };
+    deps = {
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "engine.io-client-1.6.8" = self.by-version."engine.io-client"."1.6.8";
+      "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0";
+      "component-emitter-1.2.0" = self.by-version."component-emitter"."1.2.0";
+      "object-component-0.0.3" = self.by-version."object-component"."0.0.3";
+      "socket.io-parser-2.2.6" = self.by-version."socket.io-parser"."2.2.6";
+      "has-binary-0.1.7" = self.by-version."has-binary"."0.1.7";
+      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
+      "parseuri-0.0.4" = self.by-version."parseuri"."0.0.4";
+      "to-array-0.1.4" = self.by-version."to-array"."0.1.4";
+      "backo2-1.0.2" = self.by-version."backo2"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-parser"."2.2.2" =
+    self.by-version."socket.io-parser"."2.2.2";
+  by-version."socket.io-parser"."2.2.2" = self.buildNodePackage {
+    name = "socket.io-parser-2.2.2";
+    version = "2.2.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.2.tgz";
+      name = "socket.io-parser-2.2.2.tgz";
+      sha1 = "3d7af6b64497e956b7d9fe775f999716027f9417";
+    };
+    deps = {
+      "debug-0.7.4" = self.by-version."debug"."0.7.4";
+      "json3-3.2.6" = self.by-version."json3"."3.2.6";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "benchmark-1.0.0" = self.by-version."benchmark"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."socket.io-parser"."2.2.6" =
+    self.by-version."socket.io-parser"."2.2.6";
+  by-version."socket.io-parser"."2.2.6" = self.buildNodePackage {
+    name = "socket.io-parser-2.2.6";
+    version = "2.2.6";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.6.tgz";
+      name = "socket.io-parser-2.2.6.tgz";
+      sha1 = "38dfd61df50dcf8ab1d9e2091322bf902ba28b99";
+    };
+    deps = {
+      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "json3-3.3.2" = self.by-version."json3"."3.3.2";
+      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
+      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
+      "benchmark-1.0.0" = self.by-version."benchmark"."1.0.0";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."to-array"."0.1.4" =
+    self.by-version."to-array"."0.1.4";
+  by-version."to-array"."0.1.4" = self.buildNodePackage {
+    name = "to-array-0.1.4";
+    version = "0.1.4";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz";
+      name = "to-array-0.1.4.tgz";
+      sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ultron"."1.0.x" =
+    self.by-version."ultron"."1.0.2";
+  by-version."ultron"."1.0.2" = self.buildNodePackage {
+    name = "ultron-1.0.2";
+    version = "1.0.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz";
+      name = "ultron-1.0.2.tgz";
+      sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."utf8"."2.1.0" =
+    self.by-version."utf8"."2.1.0";
+  by-version."utf8"."2.1.0" = self.buildNodePackage {
+    name = "utf8-2.1.0";
+    version = "2.1.0";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz";
+      name = "utf8-2.1.0.tgz";
+      sha1 = "0cfec5c8052d44a23e3aaa908104e8075f95dfd5";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."ws"."1.0.1" =
+    self.by-version."ws"."1.0.1";
+  by-version."ws"."1.0.1" = self.buildNodePackage {
+    name = "ws-1.0.1";
+    version = "1.0.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ws/-/ws-1.0.1.tgz";
+      name = "ws-1.0.1.tgz";
+      sha1 = "7d0b2a2e58cddd819039c29c9de65045e1b310e9";
+    };
+    deps = {
+      "options-0.0.6" = self.by-version."options"."0.0.6";
+      "ultron-1.0.2" = self.by-version."ultron"."1.0.2";
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."xmlhttprequest-ssl"."1.5.1" =
+    self.by-version."xmlhttprequest-ssl"."1.5.1";
+  by-version."xmlhttprequest-ssl"."1.5.1" = self.buildNodePackage {
+    name = "xmlhttprequest-ssl-1.5.1";
+    version = "1.5.1";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz";
+      name = "xmlhttprequest-ssl-1.5.1.tgz";
+      sha1 = "3b7741fea4a86675976e908d296d4445961faa67";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+  by-spec."yeast"."0.1.2" =
+    self.by-version."yeast"."0.1.2";
+  by-version."yeast"."0.1.2" = self.buildNodePackage {
+    name = "yeast-0.1.2";
+    version = "0.1.2";
+    bin = false;
+    src = fetchurl {
+      url = "http://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz";
+      name = "yeast-0.1.2.tgz";
+      sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
+}
diff --git a/pkgs/development/compilers/ghcjs/node-packages.json b/pkgs/development/compilers/ghcjs/node-packages.json
new file mode 100644
index 00000000000..55fa86675e7
--- /dev/null
+++ b/pkgs/development/compilers/ghcjs/node-packages.json
@@ -0,0 +1 @@
+[ "socket.io" ]
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
index 7b2e03f8d57..3e84ce1d0ae 100644
--- a/pkgs/development/compilers/ghdl/default.nix
+++ b/pkgs/development/compilers/ghdl/default.nix
@@ -1,58 +1,28 @@
 { stdenv, fetchurl, gnat, zlib }:
 
+# I think that mcode can only generate x86 code,
+# so it fails to link pieces on x86_64.
 assert stdenv.system == "i686-linux";
 
 let
-  version = "0.31";
+  version = "0.33";
 in
 stdenv.mkDerivation rec {
   name = "ghdl-mcode-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/ghdl/ghdl-${version}.tar.gz";
-    sha256 = "1v0l9h6906b0bvnwfi2qg5nz9vjg80isc5qgjxr1yqxpkfm2xcf0";
+    url = "https://github.com/tgingold/ghdl/archive/v${version}.tar.gz";
+    sha256 = "09yvgqyglbakd74v2dgr470clzm744i232nixyffcds55vkij5da";
   };
 
   buildInputs = [ gnat zlib ];
 
-  # Tarbomb
-  preUnpack = ''
-    mkdir ghdl
-    cd ghdl
-  '';
-
-  sourceRoot = "translate/ghdldrv";
-
   patchPhase = ''
-    sed -i 's,$$curdir/lib,'$out'/share/ghdl_mcode/translate/lib,' Makefile
-  '';
-
-  postBuild = ''
-    # Build the LIB
-    ln -s ghdl_mcode ghdl
-    make install.mcode
+    # Disable warnings-as-errors, because there are warnings (unused things)
+    sed -i s/-gnatwae/-gnatwa/ Makefile.in ghdl.gpr.in
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ghdl_mcode $out/bin
-
-    mkdir -p $out/share/ghdl_mcode/translate
-    cp -R ../lib $out/share/ghdl_mcode/translate
-    cp -R ../../libraries $out/share/ghdl_mcode
-
-    mkdir -p $out/share/man/man1
-    cp ../../doc/ghdl.1 $out/share/man/man1/ghdl_mcode.1
-
-    # Ghdl has some timestamps checks, storing file timestamps in '.cf' files.
-    # As we will change the timestamps to 1970-01-01 00:00:01, we also set the
-    # content of that .cf to that value. This way ghdl does not complain on
-    # the installed object files from the basic libraries (ieee, ...)
-    pushd $out
-    find . -name "*.cf" -exec \
-        sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \;
-    popd
-  '';
+  enableParallelBuilding = true;
 
   meta = {
     homepage = "http://sourceforge.net/p/ghdl-updates/wiki/Home/";
diff --git a/pkgs/development/compilers/llvm/3.3/clang-purity.patch b/pkgs/development/compilers/llvm/3.3/clang-purity.patch
deleted file mode 100644
index e82305189e8..00000000000
--- a/pkgs/development/compilers/llvm/3.3/clang-purity.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-diff -Naur cfe-3.3.src-orig/lib/Driver/ToolChains.cpp cfe-3.3.src/lib/Driver/ToolChains.cpp
---- cfe-3.3.src-orig/lib/Driver/ToolChains.cpp	2013-05-06 12:26:41.000000000 -0400
-+++ cfe-3.3.src/lib/Driver/ToolChains.cpp	2013-06-21 19:28:12.120364372 -0400
-@@ -2318,17 +2318,6 @@
-                       Paths);
-     }
-   }
--  addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths);
--  addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths);
--  addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
--  addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths);
--
--  // Try walking via the GCC triple path in case of multiarch GCC
--  // installations with strange symlinks.
--  if (GCCInstallation.isValid())
--    addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
--                    "/../../" + Multilib, Paths);
--
-   // Add the non-multilib suffixed paths (if potentially different).
-   if (GCCInstallation.isValid()) {
-     const std::string &LibPath = GCCInstallation.getParentLibPath();
-@@ -2341,8 +2330,6 @@
-       addPathIfExists(LibPath, Paths);
-     }
-   }
--  addPathIfExists(SysRoot + "/lib", Paths);
--  addPathIfExists(SysRoot + "/usr/lib", Paths);
- 
-   IsPIEDefault = SanitizerArgs(*this, Args).hasZeroBaseShadow();
- }
-@@ -2395,9 +2382,6 @@
-   if (DriverArgs.hasArg(options::OPT_nostdinc))
-     return;
- 
--  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
--    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include");
--
-   if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
-     llvm::sys::Path P(D.ResourceDir);
-     P.appendComponent("include");
-@@ -2479,26 +2463,6 @@
-     "/usr/include/powerpc64-linux-gnu"
-   };
-   ArrayRef<StringRef> MultiarchIncludeDirs;
--  if (getTriple().getArch() == llvm::Triple::x86_64) {
--    MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::x86) {
--    MultiarchIncludeDirs = X86MultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::aarch64) {
--    MultiarchIncludeDirs = AArch64MultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::arm) {
--    if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
--      MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs;
--    else
--      MultiarchIncludeDirs = ARMMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::mips) {
--    MultiarchIncludeDirs = MIPSMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::mipsel) {
--    MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::ppc) {
--    MultiarchIncludeDirs = PPCMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::ppc64) {
--    MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;
--  }
-   for (ArrayRef<StringRef>::iterator I = MultiarchIncludeDirs.begin(),
-                                      E = MultiarchIncludeDirs.end();
-        I != E; ++I) {
-@@ -2510,13 +2474,6 @@
- 
-   if (getTriple().getOS() == llvm::Triple::RTEMS)
-     return;
--
--  // Add an include of '/include' directly. This isn't provided by default by
--  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
--  // add even when Clang is acting as-if it were a system compiler.
--  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
--
--  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
- }
- 
- /// \brief Helper to add the three variant paths for a libstdc++ installation.
-diff -Naur cfe-3.3.src-orig/lib/Driver/Tools.cpp cfe-3.3.src/lib/Driver/Tools.cpp
---- cfe-3.3.src-orig/lib/Driver/Tools.cpp	2013-05-30 14:01:30.000000000 -0400
-+++ cfe-3.3.src/lib/Driver/Tools.cpp	2013-06-21 19:30:51.604726574 -0400
-@@ -5976,43 +5976,6 @@
-     }
-   }
- 
--  if (ToolChain.getArch() == llvm::Triple::arm ||
--      ToolChain.getArch() == llvm::Triple::thumb ||
--      (!Args.hasArg(options::OPT_static) &&
--       !Args.hasArg(options::OPT_shared))) {
--    CmdArgs.push_back("-dynamic-linker");
--    if (isAndroid)
--      CmdArgs.push_back("/system/bin/linker");
--    else if (ToolChain.getArch() == llvm::Triple::x86)
--      CmdArgs.push_back("/lib/ld-linux.so.2");
--    else if (ToolChain.getArch() == llvm::Triple::aarch64)
--      CmdArgs.push_back("/lib/ld-linux-aarch64.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::arm ||
--             ToolChain.getArch() == llvm::Triple::thumb) {
--      if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
--        CmdArgs.push_back("/lib/ld-linux-armhf.so.3");
--      else
--        CmdArgs.push_back("/lib/ld-linux.so.3");
--    }
--    else if (ToolChain.getArch() == llvm::Triple::mips ||
--             ToolChain.getArch() == llvm::Triple::mipsel)
--      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::mips64 ||
--             ToolChain.getArch() == llvm::Triple::mips64el) {
--      if (hasMipsN32ABIArg(Args))
--        CmdArgs.push_back("/lib32/ld.so.1");
--      else
--        CmdArgs.push_back("/lib64/ld.so.1");
--    }
--    else if (ToolChain.getArch() == llvm::Triple::ppc)
--      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::ppc64 ||
--	     ToolChain.getArch() == llvm::Triple::systemz)
--      CmdArgs.push_back("/lib64/ld64.so.1");
--    else
--      CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
--  }
--
-   CmdArgs.push_back("-o");
-   CmdArgs.push_back(Output.getFilename());
- 
-diff -Naur cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp
---- cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp	2013-04-29 21:21:43.000000000 -0400
-+++ cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp	2013-06-21 19:32:47.627016565 -0400
-@@ -225,20 +225,6 @@
-                                             const HeaderSearchOptions &HSOpts) {
-   llvm::Triple::OSType os = triple.getOS();
- 
--  if (HSOpts.UseStandardSystemIncludes) {
--    switch (os) {
--    case llvm::Triple::FreeBSD:
--    case llvm::Triple::NetBSD:
--    case llvm::Triple::OpenBSD:
--    case llvm::Triple::Bitrig:
--      break;
--    default:
--      // FIXME: temporary hack: hard-coded paths.
--      AddPath("/usr/local/include", System, false);
--      break;
--    }
--  }
--
-   // Builtin includes use #include_next directives and should be positioned
-   // just prior C include dirs.
-   if (HSOpts.UseBuiltinIncludes) {
-@@ -332,9 +318,6 @@
-   default:
-     break;
-   }
--
--  if ( os != llvm::Triple::RTEMS )
--    AddPath("/usr/include", ExternCSystem, false);
- }
- 
- void InitHeaderSearch::
diff --git a/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch
deleted file mode 100644
index de6a468b239..00000000000
--- a/pkgs/development/compilers/llvm/3.3/clang-tablegen-dir.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/utils/TableGen/CMakeLists.txt       (revision 190146)
-+++ b/utils/TableGen/CMakeLists.txt       (working copy)
-@@ -1,4 +1,5 @@
- set(LLVM_LINK_COMPONENTS Support)
-+set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
- 
- add_tablegen(clang-tblgen CLANG
-   ClangASTNodesEmitter.cpp
-
diff --git a/pkgs/development/compilers/llvm/3.3/clang.nix b/pkgs/development/compilers/llvm/3.3/clang.nix
deleted file mode 100644
index 316730fe3ba..00000000000
--- a/pkgs/development/compilers/llvm/3.3/clang.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
-
-let
-  version = "3.3";
-  gccReal = if (stdenv.cc.cc or null) == null then stdenv.cc else stdenv.cc.cc;
-in
-
-stdenv.mkDerivation {
-  name = "clang-${version}";
-
-  buildInputs = [ perl llvm groff cmake libxml2 python ];
-
-  patches = [ ./clang-tablegen-dir.patch ] ++
-            stdenv.lib.optional (stdenv.cc.libc != null) ./clang-purity.patch;
-
-  cmakeFlags = [
-    "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DLLVM_TARGETS_TO_BUILD=all"
-    "-DGCC_INSTALL_PREFIX=${gccReal}"
-  ] ++ stdenv.lib.optionals (stdenv.cc.libc != null) [
-    "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include/"
-  ];
-
-  enableParallelBuilding = true;
-
-  src = fetchurl {
-      url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz";
-      sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi";
-  };
-
-  passthru = {
-    isClang = true;
-    cc = stdenv.cc.cc;
-    gcc = gccReal;
-  };
-
-  meta = {
-    homepage = http://clang.llvm.org/;
-    description = "A C language family frontend for LLVM";
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; all;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/3.3/llvm.nix b/pkgs/development/compilers/llvm/3.3/llvm.nix
deleted file mode 100644
index c19955ddaf0..00000000000
--- a/pkgs/development/compilers/llvm/3.3/llvm.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, fetchurl, perl, groff, cmake, python, libffi, binutils, debugVersion ? false }:
-let
-  version = "3.3";
-in stdenv.mkDerivation rec {
-  name = "llvm-${version}";
-
-  src = fetchurl {
-    url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
-    sha256 = "0y3mfbb5qzcpw3v5qncn69x1hdrrrfirgs82ypi2annhf0g6nxk8";
-  };
-
-  patches = [
-    ./more-memory-for-bugpoint.patch # The default rlimits in 3.3 are too low for shared libraries.
-    ./no-rule-aarch64.patch          # http://llvm.org/bugs/show_bug.cgi?id=16625
-    # Patch needed for Julia, backports fixes from LLVM 3.5
-    (fetchurl {
-      url = "https://raw.githubusercontent.com/JuliaLang/julia/release-0.4/deps/llvm-3.3.patch";
-      sha256 = "0j6chyx4k8zr1qha5dks8lqlcraqrj4q1hwnk2kj3qi6cajsd8k3";
-    })
-    (fetchurl {
-      url = "https://raw.githubusercontent.com/JuliaLang/julia/release-0.4/deps/instcombine-llvm-3.3.patch";
-      sha256 = "161frq3wxrkxah78krb24hp4zkcnphzcgnvkwfq1abq2vjx3f8sn";
-    })
-    (fetchurl {
-      url = "https://raw.githubusercontent.com/JuliaLang/julia/release-0.4/deps/int128-vector.llvm-3.3.patch";
-      sha256 = "0lzkv6hvsdaalwsyf6sq0vdrf8x5nk58qg6nn5dlw7n3hxaxpm4m";
-    })
-  ];
-
-  buildInputs = [ perl groff cmake python libffi ];
-
-  # hacky fix: created binaries need to be run before installation
-  preBuild = let LD = if stdenv.isDarwin then "DYLD" else "LD";
-    in "export ${LD}_LIBRARY_PATH='$$${LD}_LIBRARY_PATH:'`pwd`/lib";
-
-  cmakeFlags = with stdenv; [
-    "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
-    "-DLLVM_BUILD_TESTS=ON"
-    "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
-    "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa
-  ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
-
-  postBuild = ''
-    paxmark m bin/{lli,llvm-rtdyld}
-
-    paxmark m unittests/ExecutionEngine/JIT/JITTests
-    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
-    paxmark m unittests/Support/SupportTests
-  '';
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Collection of modular and reusable compiler and toolchain technologies";
-    homepage    = http://llvm.org/;
-    license     = licenses.bsd3;
-    maintainers = with maintainers; [ lovek323 raskin viric ];
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch b/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch
deleted file mode 100644
index fa19ce4f587..00000000000
--- a/pkgs/development/compilers/llvm/3.3/more-memory-for-bugpoint.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur llvm-3.3.src-orig/tools/bugpoint/bugpoint.cpp llvm-3.3.src/tools/bugpoint/bugpoint.cpp
---- llvm-3.3.src-orig/tools/bugpoint/bugpoint.cpp	2013-01-27 20:35:51.000000000 -0500
-+++ llvm-3.3.src/tools/bugpoint/bugpoint.cpp	2013-06-21 18:29:47.612731499 -0400
-@@ -48,9 +48,9 @@
-                       "is killed (default is 300s), 0 disables timeout"));
- 
- static cl::opt<int>
--MemoryLimit("mlimit", cl::init(-1), cl::value_desc("MBytes"),
-+MemoryLimit("mlimit", cl::init(0), cl::value_desc("MBytes"),
-              cl::desc("Maximum amount of memory to use. 0 disables check."
--                      " Defaults to 100MB (800MB under valgrind)."));
-+                      " Check disabled by default."));
- 
- static cl::opt<bool>
- UseValgrind("enable-valgrind",
diff --git a/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch b/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch
deleted file mode 100644
index ea7214febe5..00000000000
--- a/pkgs/development/compilers/llvm/3.3/no-rule-aarch64.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- llvm/lib/Target/AArch64/Utils/CMakeLists.txt	2013/05/18 04:32:15	182189
-+++ llvm/lib/Target/AArch64/Utils/CMakeLists.txt	2013/05/18 08:17:47	182190
-@@ -3,3 +3,5 @@
- add_llvm_library(LLVMAArch64Utils
-   AArch64BaseInfo.cpp
-   )
-+
-+add_dependencies(LLVMAArch64Utils AArch64CommonTableGen)
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 8b54a19c2b5..2700caa1a5b 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, ghc, pkgconfig, glibcLocales, coreutils, gnugrep, gnused
-, jailbreak-cabal, hscolour, cpphs
+, jailbreak-cabal, hscolour, cpphs, nodePackages
 }:
 
 { pname
@@ -282,7 +282,8 @@ stdenv.mkDerivation ({
 
     env = stdenv.mkDerivation {
       name = "interactive-${pname}-${version}-environment";
-      nativeBuildInputs = [ ghcEnv systemBuildInputs ];
+      nativeBuildInputs = [ ghcEnv systemBuildInputs ]
+        ++ optional isGhcjs ghc."socket.io"; # for ghcjsi
       LANG = "en_US.UTF-8";
       LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
       shellHook = ''
diff --git a/pkgs/development/interpreters/ruby/rubygems.nix b/pkgs/development/interpreters/ruby/rubygems.nix
index a08790a15ce..fb210ceff4b 100644
--- a/pkgs/development/interpreters/ruby/rubygems.nix
+++ b/pkgs/development/interpreters/ruby/rubygems.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "rubygems-${version}";
-  version = "2.5.2";
+  version = "2.4.8";
   src = fetchurl {
     url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
-    sha256 = "1jpcmvjfpj2m0jh23371ghfj95gh4jliihzrj5ln0x2cl1pwwwai";
+    sha256 = "0pl4civyf0vhqsqbqaivvxrb3fsg8sid9a8jv5vfnk4hypz3ahss";
   };
 
   patches = [ ./gem_hook.patch ];
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index 37b2c73fe44..f101e3c1880 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
 , libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
-gobjectIntrospection 
+gobjectIntrospection, gtk3
 }:
 
 let
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs =
     [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
-      atk json_glib gobjectIntrospection
+      atk json_glib gobjectIntrospection gtk3
     ];
 
   configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 89dc32b61f2..4a466ad133a 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, cmake
-, alsaSupport ? true, alsaLib ? null
-, pulseSupport ? true, libpulseaudio ? null
+, alsaSupport ? !stdenv.isDarwin, alsaLib ? null
+, pulseSupport ? !stdenv.isDarwin, libpulseaudio ? null
+, CoreServices, AudioUnit, AudioToolbox
 }:
 
 with stdenv.lib;
@@ -9,17 +10,18 @@ assert alsaSupport -> alsaLib != null;
 assert pulseSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "1.16.0";
+  version = "1.17.2";
   name = "openal-soft-${version}";
 
   src = fetchurl {
     url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
-    sha256 = "0pqdykdclycfnk66v166srjrry936y39d1dz9wl92qz27wqwsg9g";
+    sha256 = "051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3";
   };
 
   buildInputs = [ cmake ]
     ++ optional alsaSupport alsaLib
-    ++ optional pulseSupport libpulseaudio;
+    ++ optional pulseSupport libpulseaudio
+    ++ optional stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
   NIX_LDFLAGS = []
     ++ optional alsaSupport "-lasound"
@@ -30,5 +32,6 @@ stdenv.mkDerivation rec {
     homepage = http://kcat.strangesoft.net/openal.html;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ftrvxmtrx];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index 7c247dd6c1d..5f41eb61c29 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -5,7 +5,7 @@ args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, p
   ### NixOS - usage:
   ==================
 
-    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql94; }).v_2_1_4 ];
+    services.postgresql.extraPlugins = [ (pkgs.postgis.override { postgresql = pkgs.postgresql95; }).v_2_2_1 ];
 
 
   ### important Postgis implementation details:
@@ -84,9 +84,9 @@ let
 
 in rec {
 
-  v_2_1_4 = pgDerivationBaseNewer.merge ( fix : {
-    version = "2.1.4";
-    sha256 = "1z00n5654r7l38ydkn2grbwl5gg0mravjwxfdipp7j18hjiw4wyd";
+  v_2_2_1 = pgDerivationBaseNewer.merge ( fix : {
+    version = "2.2.1";
+    sha256 = "02gsi1cm63kf0r7881444lrkzdjqhhpz9a5zav3al0q24nq01r8g";
     sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"];
     builtInputs = [gdal json_c pkgconfig];
     dontDisableStatic = true;
diff --git a/pkgs/development/perl-modules/lwp-protocol-https-cert-file.patch b/pkgs/development/perl-modules/lwp-protocol-https-cert-file.patch
new file mode 100644
index 00000000000..119c8b61da3
--- /dev/null
+++ b/pkgs/development/perl-modules/lwp-protocol-https-cert-file.patch
@@ -0,0 +1,15 @@
+diff -ru -x '*~' LWP-Protocol-https-6.04-orig/lib/LWP/Protocol/https.pm LWP-Protocol-https-6.04/lib/LWP/Protocol/https.pm
+--- LWP-Protocol-https-6.04-orig/lib/LWP/Protocol/https.pm	2013-04-29 23:16:18.000000000 +0200
++++ LWP-Protocol-https-6.04/lib/LWP/Protocol/https.pm	2016-03-02 14:59:01.639844511 +0100
+@@ -24,6 +24,11 @@
+     }
+     if ($ssl_opts{SSL_verify_mode}) {
+ 	unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
++	    $ssl_opts{SSL_ca_file} = $ENV{'SSL_CERT_FILE'};
++	    $ssl_opts{SSL_ca_file} = "/etc/ssl/certs/ca-certificates.crt"
++		if !defined $ssl_opts{SSL_ca_file} && -e "/etc/ssl/certs/ca-certificates.crt";
++	}
++	unless (exists $ssl_opts{SSL_ca_file} || exists $ssl_opts{SSL_ca_path}) {
+ 	    eval {
+ 		require Mozilla::CA;
+ 	    };
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 585e9ff101a..206792ab483 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "0.13.9";
+  version = "0.13.11";
 
   src = fetchurl {
     url = "https://dl.bintray.com/sbt/native-packages/sbt/${version}/${name}.tgz";
-    sha256 = "148f2801f2993773de6f8859fe0e6520fcabe649d66bb316e13aff8b2fd7f504";
+    sha256 = "19mg2xbc2vbqg33b986zvn7pj05cx106rccdzf9zs2npdnznysm3";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 57ce29f5175..dc25633005b 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -17,6 +17,12 @@ stdenv.mkDerivation rec {
   '';
 
   crossAttrs = {
+
+    # disable tests which can't run on build machine
+    postPatch = ''
+      substituteInPlace Makefile.in --replace "tests" " ";
+    '';
+
     preConfigure = ''
       export ac_cv_func_malloc_0_nonnull=yes
       export ac_cv_func_realloc_0_nonnull=yes
diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix
index c07a76d397d..2e528a8203f 100644
--- a/pkgs/games/multimc/default.nix
+++ b/pkgs/games/multimc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, qt5Full, jdk7, zlib, file, makeWrapper, xorg, libpulseaudio }:
+{ stdenv, fetchFromGitHub, cmake, qt5Full, jdk7, zlib, file, makeWrapper, xorg, libpulseaudio, qt5 }:
 
 let
   libnbt = fetchFromGitHub {
@@ -23,6 +23,8 @@ stdenv.mkDerivation {
     rmdir $sourceRoot/depends/libnbtplusplus
     cp -r ${libnbt} $sourceRoot/depends/libnbtplusplus
     chmod 755 -R $sourceRoot/depends/libnbtplusplus
+    mkdir -pv $sourceRoot/build/
+    cp -v ${qt5.quazip.src} $sourceRoot/build/quazip-0.7.1.tar.gz
   '';
 
   patches = [ ./multimc.patch ];
@@ -51,5 +53,6 @@ stdenv.mkDerivation {
     '';
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = stdenv.lib.maintainers.cleverca22;
   };
 }
diff --git a/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch b/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
index 3065ed1a10f..78d278f186b 100644
--- a/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
+++ b/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
@@ -1,5 +1,5 @@
 diff --git a/configure b/configure_new
-index c3e7199..ccbf290 100755
+index 3d6f68c..c2b10ff 100755
 --- a/configure
 +++ b/configure_new
 @@ -11585,55 +11585,8 @@ else
diff --git a/pkgs/misc/drivers/epson-escpr/default.nix b/pkgs/misc/drivers/epson-escpr/default.nix
index 1f403947acb..faf13d4bcc3 100644
--- a/pkgs/misc/drivers/epson-escpr/default.nix
+++ b/pkgs/misc/drivers/epson-escpr/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, cups }:
 
 let
-  version = "1.6.3";
+  version = "1.6.4";
 in
   stdenv.mkDerivation {
 
     name = "epson-escpr-${version}";
   
     src = fetchurl {
-      url = "https://download3.ebz.epson.net/dsc/f/03/00/04/33/53/0177a44361d3dfeacf7f15ff4a347cef373688da/epson-inkjet-printer-escpr-1.6.3-1lsb3.2.tar.gz";
-      sha256 = "4988479ce7dd5513bfa1cce4a83f82348572d8d69d6aa3b2c6e154a58a04ad86"; 
+      url = "https://download3.ebz.epson.net/dsc/f/03/00/04/37/97/88177bc0dc7025905eae4a0da1e841408f82e33c/epson-inkjet-printer-escpr-1.6.4-1lsb3.2.tar.gz"; 
+      sha256 = "76c66461a30be82b9cc37d663147a72f488fe060ef54578120602bb87a3f7754"; 
     }; 
 
     patches = [ ./cups-filter-ppd-dirs.patch ]; 
 
     buildInputs = [ cups ];
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://github.com/artuuge/NixOS-files/;
       description = "ESC/P-R Driver (generic driver)";
       longDescription = ''
@@ -30,7 +30,9 @@ in
 	    drivers = [ pkgs.epson-escpr ];
 	  };
       '';
-      license = stdenv.lib.licenses.gpl3Plus;
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ artuuge ];
+      platforms = platforms.linux;
     };
 
   }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 4de27fd3000..254910cf842 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -478,6 +478,7 @@ with stdenv.lib;
   ''}
   ${optionalString (versionAtLeast version "3.7") ''
     MEDIA_USB_SUPPORT y
+    MEDIA_PCI_SUPPORT y
   ''}
 
   # Our initrd init uses shebang scripts, so can't be modular.
diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix
index abe96e9b9ae..a8055df92fd 100644
--- a/pkgs/os-specific/linux/musl/default.nix
+++ b/pkgs/os-specific/linux/musl/default.nix
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  preConfigure = ''
+    configureFlagsArray+=("--syslibdir=$out/lib")
+  '';
+
   configureFlags = [
     "--enable-shared"
     "--enable-static"
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index ef651f64368..3c894869972 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -51,7 +51,15 @@ rec {
         cp -d ${glibc}/lib/crt?.o $out/lib
 
         cp -rL ${glibc}/include $out
-        chmod -R u+w $out/include
+        chmod -R u+w "$out"
+
+        # glibc can contain linker scripts: find them, copy their deps,
+        # and get rid of absolute paths (nuke-refs would make them useless)
+        local lScripts=$(grep --files-with-matches --max-count=1 'GNU ld script' -R "$out/lib")
+        cp -d -t "$out/lib/" $(cat $lScripts | tr " " "\n" | grep -F '${glibc}' | sort -u)
+        for f in $lScripts; do
+          substituteInPlace "$f" --replace '${glibc}/lib/' ""
+        done
 
         # Hopefully we won't need these.
         rm -rf $out/include/mtd $out/include/rdma $out/include/sound $out/include/video
diff --git a/pkgs/tools/X11/xsettingsd/default.nix b/pkgs/tools/X11/xsettingsd/default.nix
index 254cc8a4961..c05aeff9337 100644
--- a/pkgs/tools/X11/xsettingsd/default.nix
+++ b/pkgs/tools/X11/xsettingsd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xsettingsd-${version}";
-  version = "0.0.1";
+  version = "git-2015-06-14";
 
   src = fetchFromGitHub {
     owner = "derat";
     repo = "xsettingsd";
-    rev = "2a516a91d8352b3b93a7a1ef5606dbd21fa06b7c";
-    sha256 = "0f9lc5w18x6xs9kf72jpixprp3xb7wqag23cy8zrm33n2bza9dj0";
+    rev = "b4999f5e9e99224caf97d09f25ee731774ecd7be";
+    sha256 = "18cp6a66ji483lrvf0vq855idwmcxd0s67ijpydgjlsr70c65j7s";
   };
 
   patches = [
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Provides settings to X11 applications via the XSETTINGS specification";
     homepage = https://github.com/derat/xsettingsd;
+    license = licenses.bsd2;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/connman_dmenu/default.nix b/pkgs/tools/networking/connman_dmenu/default.nix
new file mode 100644
index 00000000000..42ef7f4f4da
--- /dev/null
+++ b/pkgs/tools/networking/connman_dmenu/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, connman, dmenu }:
+stdenv.mkDerivation rec {
+  name = "connman_dmenu-${version}";
+  version = "git-29-9-2015";
+
+  src = fetchFromGitHub {
+    owner = "march-linux";
+    repo = "connman_dmenu";
+    rev = "cc89fec40b574b0d234afeb70ea3c94626ca3f5c";
+    sha256 = "061fi83pai4n19l9d7wq6wwj2d7cixwkhkh742c5ibmw1wb274yk";
+  };
+
+  buildInputs = [ connman dmenu ];
+
+  phases = "unpackPhase patchPhase installPhase fixupPhase";
+
+  # remove root requirement, see: https://github.com/march-linux/connman_dmenu/issues/3
+  patchPhase = ''
+    sed -i '89,92d' connman_dmenu
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp connman_dmenu $out/bin/
+  '';
+
+  meta = {
+    description  = "A dmenu wrapper for connmann";
+    homepage     = https://github.com/march-linux/connman_dmenu;
+    license      = stdenv.lib.licenses.free;
+    maintainers  = [ stdenv.lib.maintainers.magnetophon ];
+    platforms    = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/dnscrypt-proxy/default.nix b/pkgs/tools/networking/dnscrypt-proxy/default.nix
index ca19c335a1c..b98570a7341 100644
--- a/pkgs/tools/networking/dnscrypt-proxy/default.nix
+++ b/pkgs/tools/networking/dnscrypt-proxy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dnscrypt-proxy-${version}";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "http://download.dnscrypt.org/dnscrypt-proxy/${name}.tar.bz2";
-    sha256 = "0zfw9vi9qbsc55awncyigqfqp25v5adqk6jpg1jdfkmbqqfykk70";
+    sha256 = "16lif3qhyfjpgg54vjlwpslxk90akmbhlpnn1szxm628bmpw6nl9";
   };
 
   configureFlags = ''
diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix
new file mode 100644
index 00000000000..1a040652ff4
--- /dev/null
+++ b/pkgs/tools/networking/libreswan/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchurl, makeWrapper,
+  pkgconfig, systemd, gmp, unbound, bison, flex, pam, libevent, libcap_ng, curl, nspr,
+  bash, iproute, iptables, procps, coreutils, gnused, gawk, nssTools, which, python,
+  docs ? false, xmlto
+  }:
+
+let
+  optional = stdenv.lib.optional;
+  version = "3.16";
+  name = "libreswan-${version}";
+  binPath = stdenv.lib.makeBinPath [
+    bash iproute iptables procps coreutils gnused gawk nssTools which python
+  ];
+in
+
+assert docs -> xmlto != null;
+
+stdenv.mkDerivation {
+  inherit name;
+  inherit version;
+
+  src = fetchurl {
+    url = "https://download.libreswan.org/${name}.tar.gz";
+    sha256 = "15qv4101p1jw591l04gsfscb3farzd278mgi8yph015vmifyjxrd";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pkgconfig bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent
+                  libcap_ng curl nspr nssTools python ]
+                ++ optional docs xmlto;
+
+  prePatch = ''
+    # Correct bash path
+    sed -i -e 's|/bin/bash|/usr/bin/env bash|' mk/config.mk
+
+    # Fix systemd unit directory, and prevent the makefile from trying to reload the systemd daemon
+    sed -i -e 's|UNITDIR=.*$|UNITDIR=$\{out}/etc/systemd/system/|' -e 's|systemctl --system daemon-reload|true|' initsystems/systemd/Makefile
+
+    # Fix the ipsec program from crushing the PATH
+    sed -i -e 's|\(PATH=".*"\):.*$|\1:$PATH|' programs/ipsec/ipsec.in
+
+    # Fix python script to use the correct python
+    sed -i -e 's|#!/usr/bin/python|#!/usr/bin/env python|' -e 's/^\(\W*\)installstartcheck()/\1sscmd = "ss"\n\0/' programs/verify/verify.in
+  '';
+  
+  # Set appropriate paths for build
+  preBuild = "export INC_USRLOCAL=\${out}";
+
+  makeFlags = [ 
+    "INITSYSTEM=systemd"
+    (if docs then "all" else "base")
+  ];
+
+  installTargets = [ (if docs then "install" else "install-base") ];
+  # Hack to make install work
+  installFlags = [
+    "FINALVARDIR=\${out}/var"
+    "FINALSYSCONFDIR=\${out}/etc"
+  ];
+
+  postInstall = ''
+    for i in $out/bin/* $out/libexec/ipsec/*; do
+      wrapProgram "$i" --prefix PATH ':' "$out/bin:${binPath}"
+    done
+  '';
+
+  enableParallelBuilding = false;
+
+  meta = {
+    homepage = "https://libreswan.org";
+    description = "A free software implementation of the VPN protocol based on IPSec and the Internet Key Exchange";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.freebsd;
+    maintainers = [ stdenv.lib.maintainers.afranchuk ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 74a4cfdb5f5..9a10236a419 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1146,6 +1146,8 @@ let
 
   connmanui = callPackage ../tools/networking/connmanui { };
 
+  connman_dmenu = callPackage ../tools/networking/connman_dmenu  { };
+
   convertlit = callPackage ../tools/text/convertlit { };
 
   collectd = callPackage ../tools/system/collectd {
@@ -1262,17 +1264,12 @@ let
 
   cron = callPackage ../tools/system/cron { };
 
-  cudatoolkit5 = callPackage ../development/compilers/cudatoolkit/5.5.nix {
-    python = python26;
-  };
-
-  cudatoolkit6 = callPackage ../development/compilers/cudatoolkit/6.0.nix {
-    python = python26;
-  };
-
-  cudatoolkit65 = callPackage ../development/compilers/cudatoolkit/6.5.nix { };
-
-  cudatoolkit7 = callPackage ../development/compilers/cudatoolkit/7.0.nix { };
+  inherit (callPackages ../development/compilers/cudatoolkit { })
+    cudatoolkit5
+    cudatoolkit6
+    cudatoolkit65
+    cudatoolkit7
+    cudatoolkit75;
 
   cudatoolkit = cudatoolkit7;
 
@@ -2302,6 +2299,8 @@ let
 
   librdmacm = callPackage ../development/libraries/librdmacm { };
 
+  libreswan = callPackage ../tools/networking/libreswan { };
+
   libwebsockets = callPackage ../development/libraries/libwebsockets { };
 
   limesurvey = callPackage ../servers/limesurvey { };
@@ -2450,7 +2449,7 @@ let
     inherit (perlPackages) IOTty;
   };
 
-  motuclient = python27Packages.motuclient;
+  motuclient = callPackage ../applications/science/misc/motu-client { };
 
   mpage = callPackage ../tools/text/mpage { };
 
@@ -4012,7 +4011,6 @@ let
   clang_36 = llvmPackages_36.clang;
   clang_35 = wrapCC llvmPackages_35.clang;
   clang_34 = wrapCC llvmPackages_34.clang;
-  clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix);
 
   clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { };
 
@@ -4493,7 +4491,6 @@ let
 
   julia = callPackage ../development/compilers/julia {
     gmp = gmp6;
-    llvm = llvm_33;
     openblas = openblasCompat;
   };
 
@@ -4517,7 +4514,6 @@ let
   llvm_36 = llvmPackages_36.llvm;
   llvm_35 = llvmPackages_35.llvm;
   llvm_34 = llvmPackages_34.llvm;
-  llvm_33 = callPackage ../development/compilers/llvm/3.3/llvm.nix { };
 
   llvmPackages = recurseIntoAttrs llvmPackages_37;
 
@@ -8207,7 +8203,9 @@ let
   oniguruma = callPackage ../development/libraries/oniguruma { };
 
   openal = openalSoft;
-  openalSoft = callPackage ../development/libraries/openal-soft { };
+  openalSoft = callPackage ../development/libraries/openal-soft {
+    inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
+  };
 
   openbabel = callPackage ../development/libraries/openbabel { };
 
@@ -9196,6 +9194,8 @@ let
 
   goPackages = go15Packages;
 
+  go2nix = goPackages.go2nix.bin // { outputs = [ "bin" ]; };
+
   ### DEVELOPMENT / LISP MODULES
 
   asdf = callPackage ../development/lisp-modules/asdf {
@@ -11098,6 +11098,8 @@ let
 
   gentium = callPackage ../data/fonts/gentium {};
 
+  gentium-book-basic = callPackage ../data/fonts/gentium-book-basic {};
+
   geolite-legacy = callPackage ../data/misc/geolite-legacy { };
 
   gohufont = callPackage ../data/fonts/gohufont { };
@@ -11649,10 +11651,10 @@ let
   cutecom = callPackage ../tools/misc/cutecom { };
 
   cutegram =
-    let cp = qt5.callPackage;
-    in cp ../applications/networking/instant-messengers/telegram/cutegram rec {
-      libqtelegram-aseman-edition = cp ../applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition { };
-      telegram-qml = cp ../applications/networking/instant-messengers/telegram/telegram-qml {
+    let callpkg = qt55.callPackage;
+    in callpkg ../applications/networking/instant-messengers/telegram/cutegram rec {
+      libqtelegram-aseman-edition = callpkg ../applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition { };
+      telegram-qml = callpkg ../applications/networking/instant-messengers/telegram/telegram-qml {
         inherit libqtelegram-aseman-edition;
       };
     };
@@ -13802,7 +13804,7 @@ let
 
   vcprompt = callPackage ../applications/version-management/vcprompt { };
 
-  vdirsyncer = callPackage ../tools/misc/vdirsyncer { };
+  vdirsyncer = callPackage ../tools/misc/vdirsyncer { pythonPackages = python3Packages; };
 
   vdpauinfo = callPackage ../tools/X11/vdpauinfo { };
 
@@ -15146,23 +15148,33 @@ let
 
   kde5 =
     let
-      frameworks = import ../development/libraries/kde-frameworks-5.19 { inherit pkgs; };
-      plasma = import ../desktops/plasma-5.5 { inherit pkgs; };
-      apps = import ../applications/kde-apps-15.12 { inherit pkgs; };
-      named = self: { plasma = plasma self; frameworks = frameworks self; apps = apps self; };
+      frameworks = import ../desktops/kde-5/frameworks-5.19 { inherit pkgs; };
+      plasma = import ../desktops/kde-5/plasma-5.5 { inherit pkgs; };
+      applications = import ../desktops/kde-5/applications-15.12 { inherit pkgs; };
       merged = self:
-        named self // frameworks self // plasma self // apps self // kde5PackagesFun self;
+        { plasma = plasma self;
+          frameworks = frameworks self;
+          applications = applications self; }
+        // frameworks self
+        // plasma self
+        // applications self
+        // kde5PackagesFun self;
     in
       recurseIntoAttrs (lib.makeScope qt55.newScope merged);
 
   kde5_latest =
     let
-      frameworks = import ../development/libraries/kde-frameworks-5.19 { inherit pkgs; };
-      plasma = import ../desktops/plasma-5.5 { inherit pkgs; };
-      apps = import ../applications/kde-apps-15.12 { inherit pkgs; };
-      named = self: { plasma = plasma self; frameworks = frameworks self; apps = apps self; };
+      frameworks = import ../desktops/kde-5/frameworks-5.19 { inherit pkgs; };
+      plasma = import ../desktops/kde-5/plasma-5.5 { inherit pkgs; };
+      applications = import ../desktops/kde-5/applications-15.12 { inherit pkgs; };
       merged = self:
-        named self // frameworks self // plasma self // apps self // kde5PackagesFun self;
+        { plasma = plasma self;
+          frameworks = frameworks self;
+          applications = applications self; }
+        // frameworks self
+        // plasma self
+        // applications self
+        // kde5PackagesFun self;
     in
       recurseIntoAttrs (lib.makeScope qt55.newScope merged);
 
diff --git a/pkgs/top-level/go-packages.nix b/pkgs/top-level/go-packages.nix
index ddf18dd3b8f..3d4cb5ac1a8 100644
--- a/pkgs/top-level/go-packages.nix
+++ b/pkgs/top-level/go-packages.nix
@@ -3546,10 +3546,10 @@ let
   };
 
   vcs = buildFromGitHub {
-    rev    = "1.0.0";
+    rev    = "1.4.0";
     owner  = "Masterminds";
     repo   = "vcs";
-    sha256 = "1qav4lf4ln5gs81714876q2cy9gfaxblbvawg3hxznbwakd9zmd8";
+    sha256 = "0590ww2av4407y7zy3bcmnr8i74fv00k9zzcxcpjxivl6qszna0d";
   };
 
   viper = buildFromGitHub {
@@ -3734,4 +3734,44 @@ let
     '';
     disabled = isGo14;
   };
+
+  template = buildFromGitHub {
+    rev = "14fd436dd20c3cc65242a9f396b61bfc8a3926fc";
+    owner = "alecthomas";
+    repo = "template";
+    sha256 = "19rzvvcgvr1z2wz9xpqsmlm8syizbpxjp5zbzgakvrqlajpbjvx2";
+  };
+
+  units = buildFromGitHub {
+    rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+    owner = "alecthomas";
+    repo = "units";
+    sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+  };
+
+  go-difflib = buildFromGitHub {
+    rev = "d8ed2627bdf02c080bf22230dbb337003b7aba2d";
+    owner = "pmezard";
+    repo = "go-difflib";
+    sha256 = "0w1jp4k4zbnrxh3jvh8fgbjgqpf2hg31pbj8fb32kh26px9ldpbs";
+  };
+
+  kingpin = buildFromGitHub {
+    rev = "21551c2a6259a8145110ca80a36e25c9d7624032";
+    owner = "alecthomas";
+    repo = "kingpin";
+    sha256 = "1zhpqc4qxsw9lc1b4dwk5r42k9r702ihzrabs3mnsphvm9jx4l59";
+    propagatedBuildInputs = [ template units ];
+    goPackageAliases = [ "gopkg.in/alecthomas/kingpin.v2" ];
+  };
+
+  go2nix = buildFromGitHub rec {
+    rev = "dd513f1f1336a3cdceb9dd4be0f3c47a09929651";
+    owner = "kamilchm";
+    repo = "go2nix";
+    sha256 = "1ad7zcab5vjbw7a8ns0aspkblqqz0z96b7ak3zdx409rq7rlqdsj";
+    buildInputs = [ go-bindata.bin tools.bin vcs go-spew gls go-difflib assertions goconvey testify kingpin ];
+    preBuild = ''go generate ./...'';
+  };
+
 }; in self
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 41e46f32342..18ef6145df0 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1415,7 +1415,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "CGI" = buildPerlPackage rec {
+  CGI = buildPerlPackage rec {
     name = "CGI-4.26";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LE/LEEJO/${name}.tar.gz";
@@ -3521,7 +3521,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "DevelDeclare" = buildPerlPackage rec {
+  DevelDeclare = buildPerlPackage rec {
     name = "Devel-Declare-0.006018";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
@@ -6900,7 +6900,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "LWP" = buildPerlPackage rec {
+  LWP = buildPerlPackage rec {
     name = "libwww-perl-6.15";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
@@ -6950,6 +6950,7 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-https-6.04.tar.gz;
       sha256 = "0agnga5dg94222h6rlzqxa0dri2sh3gayncvfb7jad9nxr87gxhy";
     };
+    patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
     propagatedBuildInputs = [ LWP IOSocketSSL ];
     doCheck = false; # tries to connect to https://www.apache.org/.
     meta = {
@@ -8239,7 +8240,7 @@ let self = _self // overrides; _self = with self; {
       [ ClassMOP Moose namespaceautoclean ListMoreUtils ];
   };
 
-  "MooseXTypes" = buildPerlPackage rec {
+  MooseXTypes = buildPerlPackage rec {
     name = "MooseX-Types-0.46";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
@@ -8255,7 +8256,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "MooseXTypesCommon" = buildPerlPackage rec {
+  MooseXTypesCommon = buildPerlPackage rec {
     name = "MooseX-Types-Common-0.001013";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
@@ -10716,7 +10717,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "SubExporterForMethods" = buildPerlPackage rec {
+  SubExporterForMethods = buildPerlPackage rec {
     name = "Sub-Exporter-ForMethods-0.100052";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
@@ -11975,7 +11976,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "TestWarnings" = buildPerlPackage rec {
+  TestWarnings = buildPerlPackage rec {
     name = "Test-Warnings-0.026";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
@@ -13002,7 +13003,7 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  "URI" = buildPerlPackage rec {
+  URI = buildPerlPackage rec {
     name = "URI-1.71";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ff2fe1e840a..68deac847db 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6397,32 +6397,6 @@ in modules // {
     };
   };
 
-  motuclient = buildPythonPackage rec {
-    name = "motu-client-${version}";
-    version = "1.0.8";
-
-    namePrefix = "";
-    disabled = !isPy27;
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${name}.tar.gz";
-      sha256 = "1naqmav312agn72iad9kyxwscn2lz4v1cfcqqi1qcgvc82vnwkw2";
-    };
-
-    meta = {
-      homepage = https://github.com/quiet-oceans/motuclient-setuptools;
-      description = "CLI to query oceanographic data to Motu servers";
-      longDescription = ''
-        Access data from (motu)[http://sourceforge.net/projects/cls-motu/] servers.
-        This is a refactored fork of the original release in order to simplify integration,
-        deployment and packaging. Upstream code can be found at
-        http://sourceforge.net/projects/cls-motu/ .
-      '';
-      license = licenses.lgpl3Plus;
-      maintainers = [ maintainers.lsix ];
-    };
-  };
-
   mwlib-ext = buildPythonPackage rec {
     version = "0.13.2";
     name = "mwlib.ext-${version}";
@@ -11236,17 +11210,19 @@ in modules // {
 
 
   m2crypto = buildPythonPackage rec {
-    version = "0.21.1";
+    version = "0.23.0";
     name = "m2crypto-${version}";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${version}.tar.gz";
-      md5 = "f93d8462ff7646397a9f77a2fe602d17";
+      md5 = "89557730e245294a6cab06de8ad4fb42";
     };
 
     buildInputs = with self; [ pkgs.swig2 pkgs.openssl ];
 
-    preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
+    preConfigure = ''
+      substituteInPlace setup.py --replace "self.openssl = '/usr'" "self.openssl = '${pkgs.openssl}'"
+    '';
 
     doCheck = false; # another test that depends on the network.