about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/altcoins/bitcoin-classic.nix22
-rw-r--r--pkgs/applications/altcoins/default.nix2
-rw-r--r--pkgs/applications/altcoins/freicoin.nix32
-rw-r--r--pkgs/applications/audio/drumgizmo/default.nix4
-rw-r--r--pkgs/applications/audio/drumkv1/default.nix4
-rw-r--r--pkgs/applications/audio/musescore/default.nix1
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/display-managers/sddm/default.nix4
-rw-r--r--pkgs/applications/editors/codeblocks/default.nix17
-rw-r--r--pkgs/applications/editors/idea/default.nix4
-rw-r--r--pkgs/applications/editors/notepadqq/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/default.nix37
-rw-r--r--pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch36
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix1
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix10
-rw-r--r--pkgs/applications/misc/audio/sox/default.nix4
-rw-r--r--pkgs/applications/misc/direwolf/default.nix43
-rw-r--r--pkgs/applications/misc/exercism/default.nix4
-rw-r--r--pkgs/applications/misc/freicoin/default.nix28
-rw-r--r--pkgs/applications/misc/gpscorrelate/default.nix30
-rw-r--r--pkgs/applications/misc/iterm2/default.nix7
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix7
-rw-r--r--pkgs/applications/networking/browsers/surf/webkit2.nix6
-rw-r--r--pkgs/applications/networking/browsers/torbrowser/default.nix305
-rw-r--r--pkgs/applications/networking/dropbox/default.nix30
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix104
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix4
-rw-r--r--pkgs/applications/networking/remote/citrix-receiver/default.nix16
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/speedcrunch/default.nix2
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch11
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix30
-rw-r--r--pkgs/applications/version-management/gogs/default.nix21
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix3
-rw-r--r--pkgs/applications/version-management/yadm/default.nix4
-rw-r--r--pkgs/applications/video/kodi/default.nix25
-rw-r--r--pkgs/applications/video/obs-studio/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/segfault-patch-systray.patch40
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix9
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix6
-rwxr-xr-xpkgs/applications/window-managers/way-cooler/default.nix40
-rw-r--r--pkgs/build-support/emacs/buffer.nix2
-rw-r--r--pkgs/build-support/fetchrepoproject/default.nix51
-rw-r--r--pkgs/build-support/setup-systemd-units.nix83
-rw-r--r--pkgs/data/fonts/fontconfig-penultimate/default.nix26
-rw-r--r--pkgs/data/fonts/shrikhand/default.nix25
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/gdm/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.22/core/zenity/default.nix4
-rw-r--r--pkgs/development/compilers/ghcjs/head.nix18
-rw-r--r--pkgs/development/compilers/ghcjs/head_stage2.nix330
-rw-r--r--pkgs/development/compilers/go/1.7.nix4
-rw-r--r--pkgs/development/compilers/go/1.8.nix4
-rw-r--r--pkgs/development/compilers/go/ssl-cert-file-1.7.patch (renamed from pkgs/development/compilers/go/cacert-1.7.patch)6
-rw-r--r--pkgs/development/compilers/go/ssl-cert-file-1.8.patch (renamed from pkgs/development/compilers/go/cacert-1.8.patch)6
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++abi.nix17
-rw-r--r--pkgs/development/compilers/llvm/3.9/clang/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix16
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/default.nix21
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/pthread_mach_thread_np.patch41
-rwxr-xr-xpkgs/development/compilers/manticore/builder.sh24
-rw-r--r--pkgs/development/compilers/manticore/default.nix41
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/smlnj/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix2
-rw-r--r--pkgs/development/interpreters/groovy/default.nix4
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix6
-rw-r--r--pkgs/development/libraries/cairo/default.nix11
-rw-r--r--pkgs/development/libraries/capnproto/clang4.patch22
-rw-r--r--pkgs/development/libraries/capnproto/default.nix5
-rw-r--r--pkgs/development/libraries/fontconfig/2.10.nix16
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix4
-rw-r--r--pkgs/development/libraries/fontconfig/test-pcf-family-names-freetype-2.7.patch18
-rw-r--r--pkgs/development/libraries/freetype/default.nix94
-rw-r--r--pkgs/development/libraries/freetype/enable-subpixel-rendering.patch13
-rw-r--r--pkgs/development/libraries/freetype/enable-table-validation.patch22
-rw-r--r--pkgs/development/libraries/jasper/default.nix8
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix7
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix2
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix16
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/nix-ssl-cert-file.patch14
-rw-r--r--pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch13
-rw-r--r--pkgs/development/libraries/pcre2/default.nix23
-rw-r--r--pkgs/development/libraries/qt-5/5.5/default.nix130
-rwxr-xr-xpkgs/development/libraries/qt-5/5.5/fetch.sh3
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch321
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/compose-search-path.patch16
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/decrypt-ssl-traffic.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/default.nix293
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-dbus.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-libXcursor.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-openssl.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-resolv.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/libressl.patch36
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch15
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch21
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/series10
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/tzdir.patch40
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/xdg-config-dirs.patch42
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtdeclarative/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtdoc.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtenginio.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtgraphicaleffects.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtimageformats.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtlocation.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtquick1/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtquickcontrols.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtscript/0001-glib-2.32.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtscript/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtsensors.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch28
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtsvg.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qttools/cmake-paths.patch72
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qttools/default.nix11
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qttools/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qttranslations.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch53
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch31
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix34
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtx11extras.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.5/srcs.nix261
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix122
-rw-r--r--pkgs/development/libraries/qt-5/5.7/fetch.sh3
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch385
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch16
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/default.nix313
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gtkstyle.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch15
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/series9
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch40
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch41
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtdeclarative/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtdoc.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtimageformats.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtlocation.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtscript/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtsensors.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch28
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtsvg.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qttools/cmake-paths.patch86
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qttools/default.nix11
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qttools/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qttranslations.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwayland.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix85
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebengine/qtwebengine-paxmark-mksnapshot.patch46
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebkit/0001-dlopen-webkit-nsplugin.patch53
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebkit/0002-dlopen-webkit-gtk.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebkit/0003-dlopen-webkit-udev.patch31
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix35
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtx11extras.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.7/srcs.nix317
-rw-r--r--pkgs/development/libraries/qt-5/5.8/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths-darwin.patch (renamed from pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch)106
-rw-r--r--pkgs/development/libraries/qt-5/5.8/qtbase/default.nix113
-rw-r--r--pkgs/development/libraries/qt-5/5.8/qtbase/series1
-rw-r--r--pkgs/development/libraries/skalibs/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/angstrom/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/fmt/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix21
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_ast.nix24
-rw-r--r--pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix21
-rw-r--r--pkgs/development/ocaml-modules/mysql/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/stdio/default.nix22
-rw-r--r--pkgs/development/perl-modules/perl-opengl.patch4
-rw-r--r--pkgs/development/python-modules/btrees-py35.patch79
-rw-r--r--pkgs/development/python-modules/btrees/default.nix20
-rw-r--r--pkgs/development/python-modules/dbus/default.nix5
-rw-r--r--pkgs/development/python-modules/django/1_10.nix35
-rw-r--r--pkgs/development/python-modules/hieroglyph/default.nix26
-rw-r--r--pkgs/development/python-modules/koji/default.nix5
-rw-r--r--pkgs/development/python-modules/libsexy/default.nix5
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix5
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix5
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix5
-rw-r--r--pkgs/development/python-modules/pygtksourceview/default.nix5
-rw-r--r--pkgs/development/python-modules/pyqt/4.x.nix5
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix5
-rw-r--r--pkgs/development/python-modules/pyside/default.nix5
-rw-r--r--pkgs/development/python-modules/pyxml/default.nix5
-rw-r--r--pkgs/development/python-modules/sip/default.nix5
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix4
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix3
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/autogen/default.nix6
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix4
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix6
-rw-r--r--pkgs/development/tools/vogl/default.nix47
-rw-r--r--pkgs/development/web/nodejs/v4.nix4
-rw-r--r--pkgs/misc/drivers/hplip/default.nix3
-rw-r--r--pkgs/misc/emulators/zsnes/default.nix2
-rw-r--r--pkgs/os-specific/darwin/command-line-tools/default.nix45
-rw-r--r--pkgs/os-specific/darwin/osx-sdk/default.nix25
-rw-r--r--pkgs/os-specific/linux/915resolution/default.nix18
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix6
-rw-r--r--pkgs/os-specific/linux/msr-tools/default.nix26
-rw-r--r--pkgs/os-specific/linux/s6-linux-utils/default.nix5
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix4
-rw-r--r--pkgs/servers/jackett/default.nix30
-rw-r--r--pkgs/servers/radarr/default.nix31
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix4
-rw-r--r--pkgs/shells/bash/4.4.nix7
-rw-r--r--pkgs/shells/bash/bash-4.4-patches.nix7
-rw-r--r--pkgs/tools/archivers/dar/default.nix12
-rw-r--r--pkgs/tools/backup/duplicity/default.nix48
-rw-r--r--pkgs/tools/compression/advancecomp/default.nix49
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix9
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix7
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix23
-rw-r--r--pkgs/tools/misc/execline/default.nix5
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix11
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--pkgs/tools/networking/pcapc/default.nix15
-rw-r--r--pkgs/tools/networking/s6-dns/default.nix5
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix5
-rw-r--r--pkgs/tools/package-management/cde/default.nix37
-rw-r--r--pkgs/tools/package-management/nix/default.nix9
-rw-r--r--pkgs/tools/security/signing-party/default.nix238
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix103
-rw-r--r--pkgs/tools/security/vulnix/default.nix42
-rw-r--r--pkgs/tools/security/vulnix/requirements.nix131
-rw-r--r--pkgs/tools/system/s6-rc/default.nix5
-rw-r--r--pkgs/tools/system/s6/default.nix10
-rw-r--r--pkgs/tools/typesetting/sile/default.nix18
-rw-r--r--pkgs/tools/typesetting/tex/texlive/combine.nix1
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix145
-rw-r--r--pkgs/top-level/haskell-packages.nix6
-rw-r--r--pkgs/top-level/ocaml-packages.nix8
-rw-r--r--pkgs/top-level/perl-packages.nix4
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix69
282 files changed, 2556 insertions, 5249 deletions
diff --git a/pkgs/applications/altcoins/bitcoin-classic.nix b/pkgs/applications/altcoins/bitcoin-classic.nix
index 0c8753085029..50a011e00576 100644
--- a/pkgs/applications/altcoins/bitcoin-classic.nix
+++ b/pkgs/applications/altcoins/bitcoin-classic.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
+, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
+
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
-  version = "0.11.2.cl1.b1";
+  version = "1.2.3";
 
-  src = fetchurl {
-    url = "https://github.com/bitcoinclassic/bitcoinclassic/archive/v${version}.tar.gz";
-    sha256 = "1szsnx5aijk3hx7qkqzbqsr0basg8ydwp20mh3bhnf4ljryy2049";
+  src = fetchFromGitHub {
+    owner = "bitcoinclassic";
+    repo = "bitcoinclassic";
+    rev = "v${version}";
+    sha256 = "0y99c8zv42ps3pxp46p3fqj9sir580v7s5qyi3cxva12mq2z0cql";
   };
 
-  buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib
-                  miniupnpc utillinux protobuf ]
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ openssl db48 boost zlib
+                  miniupnpc utillinux protobuf libevent ]
                   ++ optionals withGui [ qt4 qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
@@ -35,7 +39,7 @@ stdenv.mkDerivation rec {
       continue to release updates that are in line with Satoshi’s whitepaper &
       vision, and are agreed upon by the community.
     '';
-    homepage = "https://bitcoinclassic.com/";
+    homepage = https://bitcoinclassic.com/;
     maintainers = with maintainers; [ jefdaj ];
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 1d9b897188d7..d304019953ae 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -16,6 +16,7 @@ rec {
   dogecoin  = callPackage ./dogecoin.nix { withGui = true; };
   dogecoind = callPackage ./dogecoin.nix { withGui = false; };
 
+  freicoin = callPackage ./freicoin.nix { boost = pkgs.boost155; };
   go-ethereum = callPackage ./go-ethereum.nix { };
 
   litecoin  = callPackage ./litecoin.nix { withGui = true; };
@@ -33,5 +34,4 @@ rec {
   primecoind = callPackage ./primecoin.nix { withGui = false; };
 
   stellar-core = callPackage ./stellar-core.nix { };
-
 }
diff --git a/pkgs/applications/altcoins/freicoin.nix b/pkgs/applications/altcoins/freicoin.nix
new file mode 100644
index 000000000000..f7cd04f1be4e
--- /dev/null
+++ b/pkgs/applications/altcoins/freicoin.nix
@@ -0,0 +1,32 @@
+{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, qmake4Hook, unzip }:
+
+stdenv.mkDerivation rec {
+  version = "0.8.6-2";
+  name = "freicoin-${version}";
+
+  src = fetchFromGitHub {
+    owner = "freicoin";
+    repo = "freicoin";
+    rev = "v${version}";
+    sha256 = "1m5pcnfhwhcj7q00p2sy3h73rkdm3w6grmljgiq53gshcj08cq1z";
+  };
+
+  # I think that openssl and zlib are required, but come through other
+  # packages
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp freicoin-qt $out/bin
+    '';
+
+  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = [ db boost gmp mpfr miniupnpc qt4 ];
+
+  meta = with stdenv.lib; {
+    description = "Peer-to-peer currency with demurrage fee";
+    homepage = http://freicoi.in/;
+    license = licenses.mit;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix
index eaf02bd2689e..a52301c34d7d 100644
--- a/pkgs/applications/audio/drumgizmo/default.nix
+++ b/pkgs/applications/audio/drumgizmo/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.11";
+  version = "0.9.12";
   name = "drumgizmo-${version}";
 
   src = fetchurl {
     url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz";
-    sha256 = "04hf3nhccwr98n2081rrvfccz50nly6k3gbk9zxccp1522qz5xvf";
+    sha256 = "0kqrss9v3vpznmh4jgi3783wmprr645s3i485jlvdscpysjfkh6z";
   };
 
   configureFlags = [ "--enable-lv2" ];
diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix
index 0a2e293d90be..064feeb02a39 100644
--- a/pkgs/applications/audio/drumkv1/default.nix
+++ b/pkgs/applications/audio/drumkv1/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumkv1-${version}";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
-    sha256 = "1n2kd468kn71yp2asmamprvblmdlvh0zd8lsh3598dwi4b7aa3ga";
+    sha256 = "0l6kjb1q9vslwy56836a0c65mf8z8ycam5vzz3k4qvd8g74bs1zq";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index c719080c7427..463bd64495d5 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -56,5 +56,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = [ maintainers.vandenoever ];
     repositories.git = https://github.com/musescore/MuseScore;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 6b4d8e33b503..8821da4362bb 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -8,7 +8,7 @@ let
   # Please update the stable branch!
   # Latest version number can be found at:
   # http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
-  version = "1.0.49.125.g72ee7853-111";
+  version = "1.0.52.717.g2f08534a-47";
 
   deps = [
     alsaLib
@@ -53,7 +53,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "0l008x06d257vcw6gq3q90hvv93cq6mxpj11by1np6bzzg61qv8x";
+      sha256 = "1xqd4pjb69zmbac5fq3pckgr4khlkzfkx8b029qzjc2hi52zfnj7";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix
index 019d3e97a6f7..f675febafb56 100644
--- a/pkgs/applications/display-managers/sddm/default.nix
+++ b/pkgs/applications/display-managers/sddm/default.nix
@@ -29,10 +29,9 @@ let
 
     buildInputs = [
       libxcb libpthreadstubs libXdmcp libXau pam systemd
-      qtbase qtdeclarative
     ];
 
-    propagatedUserEnvPkgs = builtins.map lib.getBin [
+    propagatedBuildInputs = [
       qtbase qtdeclarative
     ];
 
@@ -98,6 +97,7 @@ stdenv.mkDerivation {
       addToSearchPath RUNTIME_XDG_CONFIG_DIRS "$pkg/etc/xdg"
     done
 
+    mkdir -p "$out/bin"
     makeQtWrapper "$unwrapped/bin/sddm" "$out/bin/sddm"
 
     mkdir -p "$out/share/sddm"
diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix
index 9cab87e9ed24..8ee08f576556 100644
--- a/pkgs/applications/editors/codeblocks/default.nix
+++ b/pkgs/applications/editors/codeblocks/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk2
+{ stdenv, fetchurl, autoreconfHook, libtool, pkgconfig, file, zip, wxGTK, gtk2
 , contribPlugins ? false, hunspell, gamin, boost
 }:
 
+with stdenv.lib;
+
 with { inherit (stdenv.lib) optionalString optional optionals; };
 
 stdenv.mkDerivation rec {
   name = "${pname}-${stdenv.lib.optionalString contribPlugins "full-"}${version}";
-  version = "13.12";
+  version = "16.01";
   pname = "codeblocks";
 
   src = fetchurl {
-    url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}-1.tar.gz";
-    sha256 = "044njhps4cm1ijfdyr5f9wjyd0vblhrz9b4603ma52wcdq25093p";
+    url = "mirror://sourceforge/codeblocks/Sources/${version}/codeblocks_${version}.tar.gz";
+    sha256 = "00sskm91r20ywydwqwx6v7z3nwn9lyh5297c5wp3razldlh9vyrh";
   };
 
-  buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk2 ]
+  nativeBuildInputs = [ autoreconfHook pkgconfig libtool file zip ];
+  buildInputs = [ wxGTK gtk2 ]
     ++ optionals contribPlugins [ hunspell gamin boost ];
   enableParallelBuilding = true;
   patches = [ ./writable-projects.patch ];
@@ -25,9 +28,9 @@ stdenv.mkDerivation rec {
 
   # Fix boost 1.59 compat
   # Try removing in the next version
-  CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED";
+  #CPPFLAGS = "-DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED";
 
-  meta = with stdenv.lib; {
+  meta = {
     maintainers = [ maintainers.linquize ];
     platforms = platforms.all;
     description = "The open source, cross platform, free C, C++ and Fortran IDE";
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 6ea5590106b4..6c956dde3951 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -208,12 +208,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2016.3.4";
+    version = "2017.1";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "1ichjrdmnhyqv9cr73d8kif9l53k3x36i8js8nf9cmkbhdsfckn3";
+      sha256 = "1858jhmyyb7nhx08yxbn5bfgx9m32r8yqwjxjw17rf8gnfvs8225";
     };
     wmClass = "jetbrains-idea";
   };
diff --git a/pkgs/applications/editors/notepadqq/default.nix b/pkgs/applications/editors/notepadqq/default.nix
index 0de33d6d1949..b553e09ed5e2 100644
--- a/pkgs/applications/editors/notepadqq/default.nix
+++ b/pkgs/applications/editors/notepadqq/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, which, qtbase }:
+{ stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit }:
 
 let
   version = "0.53.0";
@@ -12,11 +12,11 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    pkgconfig which
+    pkgconfig which qttools
   ];
 
   buildInputs = [
-    qtbase.qtsvg qtbase.qtwebkit qtbase.qttools
+    qtbase qtsvg qtwebkit
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index a92f8633c3a8..3031fa1cb0c1 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,24 +2,24 @@
   makeWrapper, libXScrnSaver }:
 
 let
-  version = "1.10.0";
-  rev = "49129d126e2c3c5592cfc8a509d872067b69d262";
+  version = "1.10.2";
+  rev = "8076a19fdcab7e1fc1707952d652f0bb6c6db331";
   channel = "stable";
 
   # The revision can be obtained with the following command (see https://github.com/NixOS/nixpkgs/issues/22465):
   # curl -w "%{url_effective}\n" -I -L -s -S https://vscode-update.azurewebsites.net/latest/linux-x64/stable -o /dev/null
 
-  sha256 = if stdenv.system == "i686-linux"    then "14ip00ysnn6daw7ws3vgnhib18pi7r1z1szfr7s996awbq12ir3i"
-      else if stdenv.system == "x86_64-linux"  then "1krrshsx2pjkr4pc1d6zad664f5khdbhwaq8lpx1aagxxd921mx6"
-      else if stdenv.system == "x86_64-darwin" then "1y574b4wpkk06a36clajx57ydj7a0scn2gms4070cqaf0afzy19f"
+  sha256 = if stdenv.system == "i686-linux"    then "1rhwrpv17c8j06qja7i58cggzka8jm9v9h27jy22z30yxjz0p241"
+      else if stdenv.system == "x86_64-linux"  then "1c1w7wc39a5vdap8j143ym976p9l9iwns1y28mcgjwrihdlb5wb8"
+      else if stdenv.system == "x86_64-darwin" then "1zznsn84k79lqirzv950q7caq7c88yh2gglwjc11y8k69awmlpva"
       else throw "Unsupported system: ${stdenv.system}";
 
   urlBase = "https://az764295.vo.msecnd.net/${channel}/${rev}/";
 
   urlStr = if stdenv.system == "i686-linux" then
-        urlBase + "code-${channel}-code_${version}-1488384152_i386.tar.gz"
+        urlBase + "code-${channel}-code_${version}-1488982317_i386.tar.gz"
       else if stdenv.system == "x86_64-linux" then
-        urlBase + "code-${channel}-code_${version}-1488387854_amd64.tar.gz"
+        urlBase + "code-${channel}-code_${version}-1488981323_amd64.tar.gz"
       else if stdenv.system == "x86_64-darwin" then
         urlBase + "VSCode-darwin-${channel}.zip"
       else throw "Unsupported system: ${stdenv.system}";
@@ -47,17 +47,22 @@ in
       then [ unzip makeWrapper libXScrnSaver ]
       else [ makeWrapper libXScrnSaver ];
 
-    installPhase = ''
-      mkdir -p $out/lib/vscode $out/bin
-      cp -r ./* $out/lib/vscode
-      ln -s $out/lib/vscode/code $out/bin
+    installPhase =
+      if stdenv.system == "x86_64-darwin" then ''
+        mkdir -p $out/lib/vscode $out/bin
+        cp -r ./* $out/lib/vscode
+        ln -s $out/lib/vscode/Contents/Resources/app/bin/code $out/bin
+      '' else ''
+        mkdir -p $out/lib/vscode $out/bin
+        cp -r ./* $out/lib/vscode
+        ln -s $out/lib/vscode/code $out/bin
 
-      mkdir -p $out/share/applications
-      cp $desktopItem/share/applications/* $out/share/applications
+        mkdir -p $out/share/applications
+        cp $desktopItem/share/applications/* $out/share/applications
 
-      mkdir -p $out/share/pixmaps
-      cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
-    '';
+        mkdir -p $out/share/pixmaps
+        cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
+      '';
 
     postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") ''
       patchelf \
diff --git a/pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch b/pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch
new file mode 100644
index 000000000000..dd375143277a
--- /dev/null
+++ b/pkgs/applications/graphics/graphicsmagick/cmyka-bounds.patch
@@ -0,0 +1,36 @@
+# HG changeset patch
+# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
+# Date 1487905610 21600
+# Node ID 6156b4c2992d855ece6079653b3b93c3229fc4b8
+# Parent  0392c4305a4369984ec8069055acc470c0a73647
+Fix out of bounds access when reading CMYKA tiff which claims wrong samples/pixel.
+
+diff -r 0392c4305a43 -r 6156b4c2992d coders/tiff.c
+--- a/coders/tiff.c	Sun Jan 29 10:04:57 2017 -0600
++++ b/coders/tiff.c	Thu Feb 23 21:06:50 2017 -0600
+@@ -1230,8 +1230,8 @@
+                   case 0:
+                     if (samples_per_pixel == 1)
+                       *quantum_type=GrayQuantum;
+-                      else
+-                        *quantum_type=RedQuantum;
++                    else
++                      *quantum_type=RedQuantum;
+                     break;
+                   case 1:
+                     *quantum_type=GreenQuantum;
+@@ -1411,12 +1411,12 @@
+               }
+             else
+               {
+-                if (image->matte)
++                if (image->matte && samples_per_pixel >= 5)
+                   {
+                     *quantum_type=CMYKAQuantum;
+                     *quantum_samples=5;
+                   }
+-                else
++                else if (samples_per_pixel >= 4)
+                   {
+                     *quantum_type=CMYKQuantum;
+                     *quantum_samples=4;
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index f655979c2ccc..0858dfba8b40 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation {
       url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-7/debian/patches/CVE-2016-9830.patch";
       sha256 = "0qh15sd7nx7vf9sld4453iml951bwsx2fx84hxc7plhds2k3gjpa";
     })
+    ./cmyka-bounds.patch
   ];
 
   configureFlags = [
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
index 118630e96088..b7672a39d0df 100644
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ b/pkgs/applications/graphics/rapcad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline
+{ stdenv, fetchFromGitHub, fetchurl, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline
 , qtbase, qmakeHook, mesa_glu
 }:
 
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "0a0sqf6h227zalh0jrz6jpm8iwji7q3i31plqk76i4qm9vsgrhir";
   };
 
+  patches = [
+    (fetchurl {
+      url = "https://github.com/GilesBathgate/RapCAD/commit/278a8d6c7b8fe08f867002528bbab4a6319a7bb6.patch";
+      sha256 = "1vvkyf0wg79zdzs5zlggfrr1lrp1x75dglzl0mspnycwldsdwznj";
+      name = "disable-QVector-qHash.patch";
+    })
+  ];
+
   nativeBuildInputs = [ qmakeHook ];
   buildInputs = [ qtbase cgal boost gmp mpfr flex bison dxflib readline mesa_glu ];
 
diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix
index b4f01bc642bf..2585b5545482 100644
--- a/pkgs/applications/misc/audio/sox/default.nix
+++ b/pkgs/applications/misc/audio/sox/default.nix
@@ -9,6 +9,7 @@
 , enableLibsndfile ? true, libsndfile ? null
 # amrnb and amrwb are unfree, disabled by default
 , enableAMR ? false, amrnb ? null, amrwb ? null
+, enableLibpulseaudio ? true, libpulseaudio ? null
 }:
 
 with stdenv.lib;
@@ -30,7 +31,8 @@ stdenv.mkDerivation rec {
     optional enableFLAC flac ++
     optional enablePNG libpng ++
     optional enableLibsndfile libsndfile ++
-    optionals enableAMR [ amrnb amrwb ];
+    optionals enableAMR [ amrnb amrwb ] ++
+    optional enableLibpulseaudio libpulseaudio;
 
   meta = {
     description = "Sample Rate Converter for audio";
diff --git a/pkgs/applications/misc/direwolf/default.nix b/pkgs/applications/misc/direwolf/default.nix
index 0341ffc64af8..d4c8b1ada6c3 100644
--- a/pkgs/applications/misc/direwolf/default.nix
+++ b/pkgs/applications/misc/direwolf/default.nix
@@ -1,38 +1,43 @@
-{ stdenv, fetchFromGitHub, unzip, alsaLib }:
-let
-  version = "1.2";
-in
+{ stdenv, fetchFromGitHub
+, espeak, alsaLib, perl
+, python }:
+
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "direwolf-${version}";
-  inherit version;
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "wb2osz";
     repo = "direwolf";
-    rev = "8b81a32";
-    sha256 = "0r4fgdxghh292bzhqshr7zl5cg2lfsvlgmy4d5vqcli7x6qa1gcs";
+    rev = version;
+    sha256 = "1x6vvl3fy70ic5pqvqsyr0bkqwim8m9jaqnm5ls8z8i66rwq23fg";
   };
 
   buildInputs = [
-    unzip alsaLib
-  ];
+    espeak perl python
+  ] ++ (optional stdenv.isLinux alsaLib);
 
   patchPhase = ''
-    substituteInPlace Makefile.linux \
-      --replace "/usr/local" "$out" \
-      --replace "/usr/share" "$out/share"
-  '';
+        substituteInPlace Makefile.* \
+          --replace /usr/share $out/share
+
+        substituteInPlace dwespeak.sh \
+          --replace espeak ${espeak}/bin/espeak
+        '';
 
-  preInstall = ''
-    mkdir -p $out/bin
-  '';
+  installPhase = ''
+    mkdir -p $out/bin 
+    make INSTALLDIR=$out install
+    '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
     # On the page: This page will be disappearing on October 8, 2015.
-    homepage = https://home.comcast.net/~wb2osz/site/;
+    homepage = https://github.com/wb2osz/direwolf/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.the-kenny ];
   };
 }
diff --git a/pkgs/applications/misc/exercism/default.nix b/pkgs/applications/misc/exercism/default.nix
index 962d8f8b31f3..d0b98863d203 100644
--- a/pkgs/applications/misc/exercism/default.nix
+++ b/pkgs/applications/misc/exercism/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name    = "exercism-${version}";
-  version = "2.3.0";
+  version = "2.4.0";
 
   goPackagePath = "github.com/exercism/cli";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner  = "exercism";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "1zhvvmsh5kw739kylk0bqj1wa6vjyahz43dlxdpv42h8gfiiksf5";
+    sha256 = "1hl13sr4ymqg9sjhkxdmhf8cfw69cic3bysw34xfv2j6bjjxfwaa";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix
deleted file mode 100644
index b4e71d4bbc75..000000000000
--- a/pkgs/applications/misc/freicoin/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ fetchurl, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, qmake4Hook, unzip }:
-
-stdenv.mkDerivation rec {
-  version = "0.8.3-1";
-  name = "freicoin-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/freicoin/freicoin/archive/v${version}.zip";
-    sha256 = "0v3mh8a96nnb86mkyaylyjj7qfdrl7i9gvybh7f8w2hrl9paszfh";
-  };
-
-  # I think that openssl and zlib are required, but come through other
-  # packages
-  buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip qmake4Hook ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp freicoin-qt $out/bin
-  '';
-
-  meta = {
-    description = "Peer-to-peer currency with demurrage fee";
-    homepage = "http://freicoi.in/";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix
index 5026fea0e358..e691c79d85c0 100644
--- a/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/pkgs/applications/misc/gpscorrelate/default.nix
@@ -1,17 +1,22 @@
-{ fetchurl, stdenv, pkgconfig, exiv2, libxml2, gtk2
+{ fetchFromGitHub, stdenv, pkgconfig, exiv2, libxml2, gtk2
 , libxslt, docbook_xsl, docbook_xml_dtd_42 }:
 
 stdenv.mkDerivation rec {
-  name = "gpscorrelate-1.6.0";
-
-  src = fetchurl {
-    url = "http://freefoote.dview.net/linux/${name}.tar.gz";
-    sha256 = "1j0b244xkvvf0i4iivp4dw9k4xgyasx4sapd91mnwki35fy49sp0";
+  name = "gpscorrelate-${version}";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "freefoote";
+    repo = "gpscorrelate";
+    rev = version;
+    sha256 = "1z0fc75rx7dl6nnydksa578qv116j2c2xs1czfiijzxjghx8njdj";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    pkgconfig exiv2 libxml2 gtk2
-    libxslt docbook_xsl docbook_xml_dtd_42
+    exiv2 libxml2 gtk2
+    libxslt docbook_xsl 
+    docbook_xml_dtd_42
   ];
 
   patchPhase = ''
@@ -19,7 +24,7 @@ stdenv.mkDerivation rec {
         -es",^[[:blank:]]*prefix[[:blank:]]*=.*$,prefix = $out,g"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GPS photo correlation tool, to add EXIF geotags";
 
     longDescription = ''
@@ -38,9 +43,8 @@ stdenv.mkDerivation rec {
       one takes the GPS data in a different format.
     '';
 
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    homepage = http://freefoote.dview.net/linux_gpscorr.html;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    homepage = https://github.com/freefoote/gpscorrelate;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/iterm2/default.nix b/pkgs/applications/misc/iterm2/default.nix
index 028e5d6b725a..fa2ac38d383b 100644
--- a/pkgs/applications/misc/iterm2/default.nix
+++ b/pkgs/applications/misc/iterm2/default.nix
@@ -2,16 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "iterm2-${version}";
-  version = "3.0.4";
+  version = "3.0.14";
 
   src = fetchFromGitHub {
     owner = "gnachman";
     repo = "iTerm2";
     rev = "v${version}";
-    sha256 = "0ffg9l2jvv503h13nd5rjkn5xrahswcqqwmm052qzd6d0lmqjm93";
+    sha256 = "03m0ja11w9910z96yi8fzq3436y8xl14q031rdb2w3sapjd54qrj";
   };
 
   patches = [ ./disable_updates.patch ];
+  postPatch = ''
+    sed -i -e 's/CODE_SIGN_IDENTITY = "Developer ID Application"/CODE_SIGN_IDENTITY = ""/g' ./iTerm2.xcodeproj/project.pbxproj
+  '';
   makeFlagsArray = ["Deployment"];
   installPhase = ''
     mkdir -p "$out/Applications"
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index c5bd9afd2cf6..a5defaf5c29b 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "keepassx-community-${version}";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = "${version}";
-    sha256 = "0ncc157xki1mzxfa41bgwjfsz5jq9sq750ka578lq61smyzh5lq6";
+    sha256 = "1zamk3dc44fn61b880i3l1r0np2sx2hs05cvcf2x4748r3xicacf";
   };
 
   cmakeFlags = optional (withKeePassHTTP) [ "-DWITH_XC_HTTP=ON" ];
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 2f894514c519..8bc4a22bc923 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, octoprint, pythonPackages }:
+{ stdenv, fetchFromGitHub, fetchpatch, octoprint, pythonPackages }:
 
 let
   buildPlugin = args: pythonPackages.buildPythonApplication (args // {
@@ -23,6 +23,11 @@ let
 
       patches = [
         ./m33-fio-one-library.patch
+        # Fix incompatibility with new OctoPrint
+        (fetchpatch {
+          url = "https://github.com/foosel/M33-Fio/commit/bdf2422dee3fb8e53b33f087f734956c3b209d72.patch";
+          sha256 = "0jm415sx6d3m0z4gfhbnxlasg08zf3f3mslaj4amn9wbvsik9s5d";
+        })
       ];
 
       postPatch = ''
diff --git a/pkgs/applications/networking/browsers/surf/webkit2.nix b/pkgs/applications/networking/browsers/surf/webkit2.nix
index 4a7b3d44e797..929bf7dbcb2f 100644
--- a/pkgs/applications/networking/browsers/surf/webkit2.nix
+++ b/pkgs/applications/networking/browsers/surf/webkit2.nix
@@ -6,9 +6,9 @@
 
 let
   # http://git.suckless.org/surf/log/?h=surf-webkit2
-  rev = "37e43501d80710533f3ec0bd61ee84916c8524a4";
-  sha256 = "1q388rzm4irpaam4z8xycbyh5dgkjlar5jn1iw7zfls1pbpzr5br";
-  date = "2017-03-06";
+  rev = "7e02344a615a61246ccce1c7f770e88fbd57756e";
+  sha256 = "11f93fbjhl7nfgwkcc45lcm3x1wk5h87ap8fbw9w855021i57pp6";
+  date = "2017-03-22";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/networking/browsers/torbrowser/default.nix b/pkgs/applications/networking/browsers/torbrowser/default.nix
new file mode 100644
index 000000000000..3b5173aa91d3
--- /dev/null
+++ b/pkgs/applications/networking/browsers/torbrowser/default.nix
@@ -0,0 +1,305 @@
+{ stdenv
+, fetchurl
+, makeDesktopItem
+
+# Common run-time dependencies
+, zlib
+
+# libxul run-time dependencies
+, alsaLib
+, atk
+, cairo
+, dbus
+, dbus_glib
+, fontconfig
+, freetype
+, gdk_pixbuf
+, glib
+, gtk2
+, libX11
+, libXext
+, libXrender
+, libXt
+, pango
+
+# Pulseaudio support
+, pulseaudioSupport ? mediaSupport
+, libpulseaudio
+
+# Media support (implies pulseaudio support)
+, mediaSupport ? false
+, gstreamer
+, gst-plugins-base
+, gst-plugins-good
+, gst-ffmpeg
+, gmp
+, ffmpeg
+}:
+
+with stdenv.lib;
+
+let
+  libPath = makeLibraryPath ([
+    alsaLib
+    atk
+    cairo
+    dbus
+    dbus_glib
+    fontconfig
+    freetype
+    gdk_pixbuf
+    glib
+    gtk2
+    libX11
+    libXext
+    libXrender
+    libXt
+    pango
+    stdenv.cc.cc
+    zlib
+  ]
+  ++ optionals pulseaudioSupport [ libpulseaudio ]
+  ++ optionals mediaSupport [
+    gstreamer
+    gst-plugins-base
+    gmp
+    ffmpeg
+  ]);
+
+  gstPluginsPath = concatMapStringsSep ":" (x:
+    "${x}/lib/gstreamer-0.10") [
+      gstreamer
+      gst-plugins-base
+      gst-plugins-good
+      gst-ffmpeg
+    ];
+
+  # Upstream source
+  version = "6.5.1";
+
+  lang = "en-US";
+
+  srcs = {
+    "x86_64-linux" = fetchurl {
+      url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
+      sha256 = "1p2bgavvyzahqpjg9vp14c0s50rmha3v1hs1c8zvz6fj8fgrhn0i";
+    };
+
+    "i686-linux" = fetchurl {
+      url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
+      sha256 = "1zfghr01bhpn39wqaw7hyx7yap7xyla4m3mrgz2vi9a5qsyxmbcr";
+    };
+  };
+in
+
+stdenv.mkDerivation rec {
+  name = "tor-browser-${version}";
+  inherit version;
+
+  src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
+
+  preferLocalBuild = true;
+
+  desktopItem = makeDesktopItem {
+    name = "torbrowser";
+    exec = "tor-browser";
+    icon = "torbrowser";
+    desktopName = "Tor Browser";
+    genericName = "Web Browser";
+    comment = meta.description;
+    categories = "Network;WebBrowser;Security;";
+  };
+
+  buildCommand = ''
+    # For convenience ...
+    TBB_IN_STORE=$out/share/tor-browser
+    interp=$(< $NIX_CC/nix-support/dynamic-linker)
+
+    # Unpack & enter
+    mkdir -p "$TBB_IN_STORE"
+    tar xf "${src}" -C "$TBB_IN_STORE" --strip-components=2
+    pushd "$TBB_IN_STORE"
+
+    # Set ELF interpreter
+    for exe in firefox TorBrowser/Tor/tor ; do
+      patchelf --set-interpreter "$interp" "$exe"
+    done
+
+    # The final libPath.  Note, we could split this into firefoxLibPath
+    # and torLibPath for accuracy, but this is more convenient ...
+    libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor
+
+    # Prepare for autoconfig.
+    #
+    # See https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment
+    cat >defaults/pref/autoconfig.js <<EOF
+    //
+    pref("general.config.filename", "mozilla.cfg");
+    pref("general.config.obscure_value", 0);
+    EOF
+
+    # Hard-coded Firefox preferences.
+    cat >mozilla.cfg <<EOF
+    // First line must be a comment
+
+    // Always update via Nix
+    lockPref("app.update.auto", false);
+    lockPref("app.update.enabled", false);
+    lockPref("extensions.update.autoUpdateDefault", false);
+    lockPref("extensions.update.enabled", false);
+
+    // User should never change these.  Locking prevents these
+    // values from being written to prefs.js, avoiding Store
+    // path capture.
+    lockPref("extensions.torlauncher.torrc-defaults_path", "$TBB_IN_STORE/TorBrowser/Data/Tor/torrc-defaults");
+    lockPref("extensions.torlauncher.tor_path", "$TBB_IN_STORE/TorBrowser/Tor/tor");
+
+    // Reset pref that captures store paths.
+    clearPref("extensions.xpiState");
+
+    // Stop obnoxious first-run redirection.
+    lockPref("noscript.firstRunRedirection", false);
+    EOF
+
+    # Hard-code path to TBB fonts; see also FONTCONFIG_FILE in
+    # the wrapper below.
+    FONTCONFIG_FILE=$TBB_IN_STORE/TorBrowser/Data/fontconfig/fonts.conf
+    sed -i "$FONTCONFIG_FILE" \
+        -e "s,<dir>fonts</dir>,<dir>$TBB_IN_STORE/fonts</dir>,"
+
+    # Move default extension overrides into distribution dir, to avoid
+    # having to synchronize between local state and store.
+    mv TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js defaults/pref/torbrowser.js
+
+    # Hard-code paths to geoip data files.  TBB resolves the geoip files
+    # relative to torrc-defaults_path but if we do not hard-code them
+    # here, these paths end up being written to the torrc in the user's
+    # state dir.
+    cat >>TorBrowser/Data/Tor/torrc-defaults <<EOF
+    GeoIPFile $TBB_IN_STORE/TorBrowser/Data/Tor/geoip
+    GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
+    EOF
+
+    # Generate wrapper
+    mkdir -p $out/bin
+    cat > "$out/bin/tor-browser" << EOF
+    #! ${stdenv.shell}
+    set -o errexit -o nounset
+
+    # Enter local state directory.
+    REAL_HOME=\$HOME
+    TBB_HOME=\''${TBB_HOME:-''${XDG_DATA_HOME:-\$REAL_HOME/.local/share}/tor-browser}
+    HOME=\$TBB_HOME
+
+    mkdir -p "\$HOME"
+    cd "\$HOME"
+
+    # Initialize empty TBB local state directory hierarchy.  We
+    # intentionally mirror the layout that TBB would see if executed from
+    # the unpacked bundle dir.
+    mkdir -p "\$HOME/TorBrowser" "\$HOME/TorBrowser/Data"
+
+    # Initialize the Tor data directory.
+    mkdir -p "\$HOME/TorBrowser/Data/Tor"
+
+    # Initialize the browser profile state.  Note that the only data
+    # copied from the Store payload is the initial bookmark file, which is
+    # never updated once created.  All other files under user's profile
+    # dir are generated by TBB.
+    mkdir -p "\$HOME/TorBrowser/Data/Browser/profile.default"
+    cp -u --no-preserve=mode,owner "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/bookmarks.html" \
+      "\$HOME/TorBrowser/Data/Browser/profile.default/bookmarks.html"
+
+    # Clear out some files that tend to capture store references but are
+    # easily generated by firefox at startup.
+    rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{compatibility.ini,extensions.ini,extensions.json}
+
+    # Ensure that we're always using the up-to-date extensions.
+    ln -snf "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/extensions" \
+      "\$HOME/TorBrowser/Data/Browser/profile.default/extensions"
+
+    ${optionalString pulseaudioSupport ''
+      # Figure out some envvars for pulseaudio
+      : "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}"
+      : "\''${XDG_CONFIG_HOME:=\$REAL_HOME/.config}"
+      : "\''${PULSE_SERVER:=\$XDG_RUNTIME_DIR/pulse/native}"
+      : "\''${PULSE_COOKIE:=\$XDG_CONFIG_HOME/pulse/cookie}"
+    ''}
+
+    # Font cache files capture store paths; clear them out on the off
+    # chance that TBB would continue using old font files.
+    rm -rf "\$HOME/.cache/fontconfig"
+
+    # Lift-off
+    #
+    # XAUTHORITY and DISPLAY are required for TBB to work at all.
+    #
+    # DBUS_SESSION_BUS_ADDRESS is inherited to avoid auto-launch; to
+    # prevent that, set it to an empty/invalid value prior to running
+    # tor-browser.
+    #
+    # PULSE_SERVER is necessary for audio playback.
+    #
+    # Setting FONTCONFIG_FILE is required to make fontconfig read the TBB
+    # fonts.conf; upstream uses FONTCONFIG_PATH, but FC_DEBUG=1024
+    # indicates the system fonts.conf being used instead.
+    exec env -i \
+      HOME="\$HOME" \
+      XAUTHORITY="\$XAUTHORITY" \
+      DISPLAY="\$DISPLAY" \
+      DBUS_SESSION_BUS_ADDRESS="\$DBUS_SESSION_BUS_ADDRESS" \
+      \
+      PULSE_SERVER="\''${PULSE_SERVER:-}" \
+      PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
+      \
+      GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \
+      GST_REGISTRY="/dev/null" \
+      GST_REGISTRY_UPDATE="no" \
+      \
+      FONTCONFIG_FILE="$FONTCONFIG_FILE" \
+      \
+      LD_LIBRARY_PATH="$libPath" \
+      \
+      "$TBB_IN_STORE/firefox" \
+        --class "Tor Browser" \
+        -no-remote \
+        -profile "\$HOME/TorBrowser/Data/Browser/profile.default" \
+        "\''${@}"
+    EOF
+    chmod +x $out/bin/tor-browser
+
+    # Easier access to docs
+    mkdir -p $out/share/doc
+    ln -s $TBB_IN_STORE/TorBrowser/Docs $out/share/doc/tor-browser
+
+    # Install .desktop item
+    mkdir -p $out/share/applications
+    cp $desktopItem/share/applications"/"* $out/share/applications
+    sed -i $out/share/applications/torbrowser.desktop \
+        -e "s,Exec=.*,Exec=$out/bin/tor-browser,"
+
+    # Install icons
+    mkdir -p $out/share/pixmaps
+    cp browser/icons/mozicon128.png $out/share/pixmaps/torbrowser.png
+
+    # Check installed apps
+    echo "Checking bundled Tor ..."
+    LD_LIBRARY_PATH=$libPath $TBB_IN_STORE/TorBrowser/Tor/tor --version >/dev/null
+
+    echo "Checking tor-browser wrapper ..."
+    DISPLAY="" XAUTHORITY="" DBUS_SESSION_BUS_ADDRESS="" TBB_HOME=$(mktemp -d) \
+      $out/bin/tor-browser --version >/dev/null
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tor Browser Bundle";
+    homepage = https://www.torproject.org/;
+    platforms = attrNames srcs;
+    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ];
+    hydraPlatforms = [];
+    # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
+    # the compound is "libre" in a strict sense (some components place certain
+    # restrictions on redistribution), it's free enough for our purposes.
+    license = licenses.free;
+  };
+}
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 3721f7ed4af6..028ca2e73977 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -3,7 +3,6 @@
 , libdrm, libffi, libICE, libSM
 , libX11, libXcomposite, libXext, libXmu, libXrender, libxcb
 , libxml2, libxslt, ncurses, zlib
-, qtbase, qtdeclarative, qtwebkit
 }:
 
 # this package contains the daemon version of dropbox
@@ -23,11 +22,11 @@
 let
   # NOTE: When updating, please also update in current stable,
   # as older versions stop working
-  version = "21.4.25";
+  version = "22.4.24";
   sha256 =
     {
-      "x86_64-linux" = "1pgab1ah6rl30rm4dj0biq5714pfzd5jjd2bp0nmhdqn1hm5vmhv";
-      "i686-linux"   = "05kn8qman8ghknb0chrlmcxrxg7w6l79frkaqj6blgnhanh13h4n";
+      "x86_64-linux" = "1353mwk8hjqfc9a87zrp12klsc4anrxr7ccai4cffnq0yw2pnbfp";
+      "i686-linux"   = "07gpdxq61qkj3c4aywh61zwj34w7j24gcv5y2xf2qgcwn8bykks2";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
@@ -44,8 +43,6 @@ let
       dbus_libs fontconfig freetype gcc.cc glib libdrm libffi libICE libSM
       libX11 libXcomposite libXext libXmu libXrender libxcb libxml2 libxslt
       ncurses zlib
-
-      qtbase qtdeclarative qtwebkit
     ];
 
   desktopItem = makeDesktopItem {
@@ -73,6 +70,8 @@ in stdenv.mkDerivation {
   dontStrip = true; # already done
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/${appdir}"
     cp -r --no-preserve=mode "dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
 
@@ -81,19 +80,6 @@ in stdenv.mkDerivation {
     rm "$out/${appdir}/libGL.so.1"
     rm "$out/${appdir}/libX11-xcb.so.1"
 
-    rm "$out/${appdir}/libQt5Core.so.5"
-    rm "$out/${appdir}/libQt5DBus.so.5"
-    rm "$out/${appdir}/libQt5Gui.so.5"
-    rm "$out/${appdir}/libQt5Network.so.5"
-    rm "$out/${appdir}/libQt5OpenGL.so.5"
-    rm "$out/${appdir}/libQt5PrintSupport.so.5"
-    rm "$out/${appdir}/libQt5Qml.so.5"
-    rm "$out/${appdir}/libQt5Quick.so.5"
-    rm "$out/${appdir}/libQt5Sql.so.5"
-    rm "$out/${appdir}/libQt5WebKit.so.5"
-    rm "$out/${appdir}/libQt5WebKitWidgets.so.5"
-    rm "$out/${appdir}/libQt5XcbQpa.so.5"
-
     mkdir -p "$out/share/applications"
     cp "${desktopItem}/share/applications/"* $out/share/applications
 
@@ -106,9 +92,13 @@ in stdenv.mkDerivation {
       --prefix LD_LIBRARY_PATH : "$RPATH"
 
     chmod 755 $out/${appdir}/dropbox
+
+    runHook postInstall
   '';
 
   fixupPhase = ''
+    runHook preFixup
+
     INTERP=$(cat $NIX_CC/nix-support/dynamic-linker)
     RPATH="${ldpath}:$out/${appdir}"
     getType='s/ *Type: *\([A-Z]*\) (.*/\1/'
@@ -148,6 +138,8 @@ in stdenv.mkDerivation {
     done
 
     paxmark m $out/${appdir}/dropbox
+
+    runHook postFixup
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 95e0c502749b..ffc22429d1e7 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, nettle }:
 
-let version = "3.25.0"; in
+let version = "3.25.1"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1b1lb1zvm887xy3q9i5ziqvwk4ww2pd81a1msbwjrxzy5lq5ykhh";
+    sha256 = "1h9g26i16wvc3yjavd39lxifr8d21q9mvfidnwjp9ksrc1qvwww8";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
index f0c99841c1b0..d05ff845ebb0 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ profpatsch AndersonTorres ];
     platforms = platforms.linux;
+    broken = true;
   };
 }
 #TODO: appindicator, for system tray plugin (by @profpatsch)
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
deleted file mode 100644
index 067b1c7884a7..000000000000
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ alsaLib
-, fetchurl
-, gcc
-, glib
-, gst-plugins-base
-, gstreamer
-, icu
-, libpulseaudio
-, libuuid
-, libxml2
-, libxslt
-, makeQtWrapper
-, qt56
-, sqlite
-, stdenv
-, xlibs
-, xorg
-, zlib
-}:
-
-stdenv.mkDerivation rec {
-    name = "zoom-us";
-    meta = {
-      homepage = http://zoom.us;
-      description = "zoom.us instant messenger";
-      license = stdenv.lib.licenses.unfree;
-      platforms = stdenv.lib.platforms.linux;
-    };
-
-    version = "2.0.81497.0116";
-    src = fetchurl {
-      url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "1lq59l5vxirjgcsrl6r4nqgvjr519gkn69alffv1f1fwq5vzif7j";
-    };
-
-    phases = [ "unpackPhase" "installPhase" ];
-    nativeBuildInputs = [ makeQtWrapper ];
-    buildInputs = [
-      alsaLib
-      gcc.cc
-      glib
-      gst-plugins-base
-      gstreamer
-      icu
-      libpulseaudio
-      libuuid
-      libxml2
-      libxslt
-      qt56.qtbase
-      qt56.qtdeclarative
-      qt56.qtlocation
-      qt56.qtscript
-      qt56.qtwebchannel
-      qt56.qtwebengine
-      sqlite
-      xlibs.xcbutilkeysyms
-      xorg.libX11
-      xorg.libxcb
-      xorg.libXcomposite
-      xorg.libXext
-      xorg.libXfixes
-      xorg.libXrender
-      xorg.xcbutilimage
-      zlib
-    ];
-
-    libPath = stdenv.lib.makeLibraryPath buildInputs;
-
-    installPhase = ''
-      mkdir -p $out/share
-      cp -r \
-         application-x-zoom.png \
-         audio \
-         imageformats \
-         config-dump.sh \
-         dingdong1.pcm \
-         dingdong.pcm \
-         doc \
-         Droplet.pcm \
-         Droplet.wav \
-         platforminputcontexts \
-         platforms \
-         platformthemes \
-         leave.pcm \
-         ring.pcm \
-         ring.wav \
-         version.txt \
-         xcbglintegrations \
-         zcacert.pem \
-         zoom \
-         Zoom.png \
-         ZXMPPROOT.cer \
-         $out/share
-
-      patchelf \
-        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-        --set-rpath ${libPath} \
-        $out/share/zoom
-      paxmark m $out/share/zoom
-      wrapQtProgram "$out/share/zoom"
-      mkdir -p $out/bin
-      ln -s $out/share/zoom $out/bin/zoom-us
-    '';
- }
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index d46539a88b7d..7ab6a4438f3e 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.1";
+  version = "1.0.2";
   name = "irssi-${version}";
 
   src = fetchurl {
     url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
-    sha256 = "1nqrm376bipvh4x483vygydjzs05n4fmfzip1gfakq1vfqqfhshr";
+    sha256 = "1fas6dqz6g8m2400spvkhfxihj3w06qb917h4vhcb716g9wpjkwf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix
index cf7afc37b8bb..c656ff24df84 100644
--- a/pkgs/applications/networking/remote/citrix-receiver/default.nix
+++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix
@@ -22,14 +22,15 @@
 , alsaLib
 }:
 
-stdenv.mkDerivation rec {
+let versionRec = { major = "13"; minor = "4"; patch = "0"; };
+in stdenv.mkDerivation rec {
   name = "citrix-receiver-${version}";
-  version = "13.4.0";
+  version = with versionRec; "${major}.${minor}.${patch}";
   homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html;
 
   prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86";
 
-  src = requireFile rec {
+  src = with versionRec; requireFile rec {
     name = "${prefixWithBitness}-${version}.10109380.tar.gz";
     sha256 =
       if stdenv.is64bit
@@ -41,12 +42,14 @@ stdenv.mkDerivation rec {
 
       ${homepage}
 
-      (if you do not find version ${version} there, try https://www.citrix.com/downloads/citrix-receiver/)
+      (if you do not find version ${version} there, try at
+      https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-latest-${major}-${minor}.html
+      or at https://www.citrix.com/downloads/citrix-receiver/ under "Earlier Versions of Receiver for Linux")
 
       Once you have downloaded the file, please use the following command and re-run the
       installation:
 
-      nix-prefetch-url file://$PWD/${name}
+      nix-prefetch-url file://\$PWD/${name}
     '';
   };
 
@@ -135,7 +138,8 @@ stdenv.mkDerivation rec {
     echo "Wrapping wfica..."
     mkdir "$out/bin"
 
-    makeWrapper "$ICAInstDir/wfica -icaroot $ICAInstDir" "$out/bin/wfica" \
+    makeWrapper "$ICAInstDir/wfica" "$out/bin/wfica" \
+      --add-flags "-icaroot $ICAInstDir" \
       --set ICAROOT "$ICAInstDir" \
       --set GTK_PATH "${gtk2.out}/lib/gtk-2.0:${gnome3.gnome_themes_standard}/lib/gtk-2.0" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index aee4831034d8..916f0dc360f3 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "geogebra-${version}";
-  version = "5-0-338-0";
+  version = "5-0-346-0";
 
   preferLocalBuild = true;
 
   src = fetchurl {
     url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
-    sha256 = "1namwib3912zjizgl9swan0fwgmq9kvfq5k5y8lz818vh4lv88kx";
+    sha256 = "13yiksdk5qwa7c5zp5l0h3czqq31qlf04ncgrh8mn7z70ng1f3l4";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/speedcrunch/default.nix b/pkgs/applications/science/math/speedcrunch/default.nix
index 334423660a03..33de9cd0d975 100644
--- a/pkgs/applications/science/math/speedcrunch/default.nix
+++ b/pkgs/applications/science/math/speedcrunch/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     '';
     maintainers = with maintainers; [ gebner ];
     platforms = platforms.all;
+    broken = builtins.compareVersions qtbase.version "5.8.0" >= 0;
   };
-
 }
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 98567c340bc4..e323b42d7ae6 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -89,5 +89,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3Plus;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [ pxc ];
+    broken = true; # relies improperly on private Qt 5.5 headers
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index af5fc8a8be46..e1e01c1ed287 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -11,7 +11,7 @@
 }:
 
 let
-  version = "2.12.0";
+  version = "2.12.2";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "09r0lcjj5v2apj39f0ziqzjq2bi1jpnhszc9q4n0ab86g5j7c88q";
+    sha256 = "0jlccxx7l4c76h830y8lhrxr4kqksrxqlnmj3xb8sqbfa0irw6nj";
   };
 
   hardeningDisable = [ "format" ];
@@ -30,7 +30,6 @@ stdenv.mkDerivation {
     ./symlinks-in-bin.patch
     ./git-sh-i18n.patch
     ./ssh-path.patch
-    ./ssl-cert-file.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch b/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
deleted file mode 100644
index bafd65e8c93e..000000000000
--- a/pkgs/applications/version-management/git-and-tools/git/ssl-cert-file.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ru git-2.7.4-orig/http.c git-2.7.4/http.c
---- git-2.7.4-orig/http.c	2016-03-17 21:47:59.000000000 +0100
-+++ git-2.7.4/http.c	2016-04-12 11:38:33.187070848 +0200
-@@ -544,6 +544,7 @@
- #if LIBCURL_VERSION_NUM >= 0x070908
- 	set_from_env(&ssl_capath, "GIT_SSL_CAPATH");
- #endif
-+	set_from_env(&ssl_cainfo, "SSL_CERT_FILE");
- 	set_from_env(&ssl_cainfo, "GIT_SSL_CAINFO");
- 
- 	set_from_env(&user_agent, "GIT_HTTP_USER_AGENT");
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 28d89fb32d04..d17af6f5188b 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -1,19 +1,21 @@
-{stdenv, lib, libXcomposite, libgnome_keyring, makeWrapper, udev, curl, alsaLib
-  ,libXfixes, atk, gtk2, libXrender, pango, gnome2, cairo, freetype, fontconfig
-  ,libX11, libXi, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
-  ,nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus
+{ stdenv, lib, libXcomposite, libgnome_keyring, makeWrapper, udev, curl, alsaLib
+, libXfixes, atk, gtk2, libXrender, pango, gnome2, cairo, freetype, fontconfig
+, libX11, libXi, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
+, nss, nspr, cups, fetchurl, expat, gdk_pixbuf, libXdamage, libXrandr, dbus
 }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "gitkraken-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "https://release.gitkraken.com/linux/v${version}.tar.gz";
-    sha256 = "0a3ed917e6e937af4dd180144fbb4ad8b99b35b5d8c1f0684a55de38189a812d";
+    sha256 = "12nyw2dh9ylrms264dbw0xzyif0znmba32zyfq7kdp0iay0wvgqd";
   };
 
-  libPath = stdenv.lib.makeLibraryPath [
+  libPath = makeLibraryPath [
     stdenv.cc.cc.lib
     curl
     udev
@@ -47,24 +49,26 @@ stdenv.mkDerivation rec {
     libgnome_keyring
   ];
 
-  phases = [ "unpackPhase" "installPhase" ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = [ makeWrapper ];
+  dontBuild = true;
 
   installPhase = ''
     mkdir -p "$out/opt/gitkraken"
     cp -r ./* "$out/opt/gitkraken"
-    fixupPhase
+  '';
+
+  postFixup = ''
     patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
              --set-rpath "$libPath:$out/opt/gitkraken" "$out/opt/gitkraken/gitkraken"
     wrapProgram $out/opt/gitkraken/gitkraken \
-      --prefix LD_PRELOAD : "${stdenv.lib.makeLibraryPath [ curl ]}/libcurl.so.4" \
-      --prefix LD_PRELOAD : "${stdenv.lib.makeLibraryPath [ libgnome_keyring ]}/libgnome-keyring.so.0"
+      --prefix LD_PRELOAD : "${makeLibraryPath [ curl ]}/libcurl.so.4" \
+      --prefix LD_PRELOAD : "${makeLibraryPath [ libgnome_keyring ]}/libgnome-keyring.so.0"
     mkdir "$out/bin"
     ln -s "$out/opt/gitkraken/gitkraken" "$out/bin/gitkraken"
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     homepage = https://www.gitkraken.com/;
     description = "The downright luxurious and most popular Git client for Windows, Mac & Linux";
     license = licenses.unfree;
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index b9a1f2e7a843..4ab97cc06d2a 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -3,25 +3,26 @@
 , sqliteSupport ? true
 }:
 
+with stdenv.lib;
+
 buildGoPackage rec {
   name = "gogs-${version}";
-  version = "0.9.113";
+  version = "0.10.18";
 
   src = fetchFromGitHub {
     owner = "gogits";
     repo = "gogs";
     rev = "v${version}";
-    sha256 = "1zk83c9jiazfw3221yi2sidp7917q3dxb2xb7wrjg4an18gj46j7";
+    sha256 = "1f1dlickjpdilf4j295i9v2h4ig4pf5d2mnpbr59wh14bby4bh0y";
   };
 
   patchPhase = ''
-    substituteInPlace models/repo.go \
-      --replace '#!/usr/bin/env' '#!${coreutils}/bin/env'
-  '';
+    patchShebangs .
+    '';
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  buildFlags = stdenv.lib.optionalString sqliteSupport "-tags sqlite";
+  buildFlags = optionalString sqliteSupport "-tags sqlite";
 
   outputs = [ "bin" "out" "data" ];
 
@@ -30,7 +31,7 @@ buildGoPackage rec {
     cp -R $src/{public,templates} $data
 
     wrapProgram $bin/bin/gogs \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ bash git gzip openssh ]} \
+      --prefix PATH : ${makeBinPath [ bash git gzip openssh ]} \
       --run 'export GOGS_WORK_DIR=''${GOGS_WORK_DIR:-$PWD}' \
       --run 'mkdir -p "$GOGS_WORK_DIR" && cd "$GOGS_WORK_DIR"' \
       --run "ln -fs $data/{public,templates} ."
@@ -42,7 +43,7 @@ buildGoPackage rec {
   meta = {
     description = "A painless self-hosted Git service";
     homepage = "https://gogs.io";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ schneefux ];
+    license = licenses.mit;
+    maintainers = [ maintainers.schneefux ];
   };
 }
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 034eb5344234..1c97f7252f56 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -7,8 +7,9 @@ let
   version = "3.9.2";
   name = "mercurial-${version}";
   inherit (python2Packages) docutils hg-git dulwich python;
-in python2Packages.mkPythonDerivation {
+in python2Packages.buildPythonApplication {
   inherit name;
+  format = "other";
 
   src = fetchurl {
     url = "https://mercurial-scm.org/release/${name}.tar.gz";
diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix
index f87d81bd8fb8..6587b25ef94a 100644
--- a/pkgs/applications/version-management/yadm/default.nix
+++ b/pkgs/applications/version-management/yadm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub }:
 
-let version = "1.05"; in
+let version = "1.07"; in
 stdenv.mkDerivation {
   name = "yadm-${version}";
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     owner  = "TheLocehiliosan";
     repo   = "yadm";
     rev    = "${version}";
-    sha256 = "11bqgz28qzgb3iz8xvda9z0mh5r1a9m032pqm772ypiixsfz8hdd";
+    sha256 = "0kkxrvw17pmrx1dq0dq53jb9pm545firakrxc48znfw54n2036fw";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index d7625b8ebacc..9c421e0c8280 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -44,12 +44,12 @@ let
     sha256 = "14jicb26s20nr3qmfpazszpc892yjwjn81zbsb8szy3a5xs19y81";
   };
 in stdenv.mkDerivation rec {
-    name = "kodi-" + version;
-    version = "17.0";
+    name = "kodi-${version}";
+    version = "17.1";
 
     src = fetchurl {
       url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
-      sha256 = "0ib59x733yf8ivsw82qlsq43jn5214n668nrn5df2flpjcjgmzsb";
+      sha256 = "1vmvrq0qdjnphw34yils2b5jnm05cmsg777hc4lwqz5mrc1kjgrh";
     };
 
     buildInputs = [
@@ -97,9 +97,18 @@ in stdenv.mkDerivation rec {
     '';
 
     preConfigure = ''
+      patchShebangs .
       ./bootstrap
+      # tests here fail
+      sed -i '/TestSystemInfo.cpp/d' xbmc/utils/test/{Makefile,CMakeLists.txt}
+      # tests here trigger a segfault in kodi.bin
+      sed -i '/TestWebServer.cpp/d'  xbmc/network/test/{Makefile,CMakeLists.txt}
     '';
 
+    enableParallelBuild = true;
+
+    doCheck = true;
+
     configureFlags = [ "--enable-libcec" ]
     ++ lib.optional (!sambaSupport) "--disable-samba"
     ++ lib.optional vdpauSupport "--enable-vdpau"
@@ -110,19 +119,17 @@ in stdenv.mkDerivation rec {
     postInstall = ''
       for p in $(ls $out/bin/) ; do
         wrapProgram $out/bin/$p \
-          --prefix PATH ":" "${python2}/bin" \
-          --prefix PATH ":" "${glxinfo}/bin" \
-          --prefix PATH ":" "${xdpyinfo}/bin" \
+          --prefix PATH ":" "${lib.makeBinPath
+              [ python2 glxinfo xdpyinfo ]}" \
           --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
-              [ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ]
-            }"
+              [ curl systemd libmad libvdpau libcec libcec_platform rtmpdump libass SDL2 ]}"
       done
     '';
 
     meta = with stdenv.lib; {
       homepage = http://kodi.tv/;
       description = "Media center";
-      license = stdenv.lib.licenses.gpl2;
+      license = licenses.gpl2;
       platforms = platforms.linux;
       maintainers = with maintainers; [ domenkozar titanous edwtjo ];
     };
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index a6238d9e808a..539314867ab9 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -27,12 +27,10 @@ in stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
-    rev = "${version}";
-    sha256 = "0mvjmkq5zlcppjqy18933w7r7rz1mpr2jpf8ipd0famdlgyacix6";
+    rev = "624aa2a5";
+    sha256 = "1bs82rqyq7wjjg99mh23ap8z5bmrhjfnza5iyjx808fzqc0bgzaj";
   };
 
-  patches = [ ./segfault-patch-systray.patch ];
-
   nativeBuildInputs = [ cmake
                       ];
 
diff --git a/pkgs/applications/video/obs-studio/segfault-patch-systray.patch b/pkgs/applications/video/obs-studio/segfault-patch-systray.patch
deleted file mode 100644
index c66b07bb57ad..000000000000
--- a/pkgs/applications/video/obs-studio/segfault-patch-systray.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From c31e0f682431508ccd2d3c0f74e6e16fc71445d8 Mon Sep 17 00:00:00 2001
-From: Cray Elliott <MP2E@archlinux.us>
-Date: Fri, 10 Mar 2017 03:48:36 -0800
-Subject: [PATCH] Fix segfault in Linux when no system tray exists
-
-previously, switching workspaces while obs-studio is running resulted in a
-segfault if no system tray was available
----
- UI/window-basic-main.cpp | 16 +++++++++-------
- 1 file changed, 9 insertions(+), 7 deletions(-)
-
-diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
-index 8590dd75..024854d6 100644
---- a/UI/window-basic-main.cpp
-+++ b/UI/window-basic-main.cpp
-@@ -2916,13 +2916,15 @@ void OBSBasic::closeEvent(QCloseEvent *event)
-
- void OBSBasic::changeEvent(QEvent *event)
- {
--	if (event->type() == QEvent::WindowStateChange &&
--	    isMinimized() &&
--	    trayIcon->isVisible() &&
--	    sysTrayMinimizeToTray()) {
--
--		ToggleShowHide();
--	}
-+  if (trayIcon) {
-+	  if (event->type() == QEvent::WindowStateChange &&
-+	      isMinimized() &&
-+	      trayIcon->isVisible() &&
-+	      sysTrayMinimizeToTray()) {
-+
-+	  	ToggleShowHide();
-+	  }
-+  }
- }
-
- void OBSBasic::on_actionShow_Recordings_triggered()
---
-2.12.0
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index ca44742b0461..a1d8cb0f01ea 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -1,11 +1,8 @@
 {stdenv, fetchurl, fetchFromGitHub, callPackage, makeWrapper, doxygen
-, ffmpeg, python3Packages, qt55}:
+, ffmpeg, python3Packages, libopenshot, qtbase, qtmultimedia }:
 
 with stdenv.lib;
 
-let
-  libopenshot = callPackage ./libopenshot.nix {};
-in
 stdenv.mkDerivation rec {
   name = "openshot-qt-${version}";
   version = "2.1.0";
@@ -20,8 +17,8 @@ stdenv.mkDerivation rec {
   buildInputs = [doxygen python3Packages.python makeWrapper ffmpeg];
 
   propagatedBuildInputs = [
-    qt55.qtbase
-    qt55.qtmultimedia
+    qtbase
+    qtmultimedia
     libopenshot
   ];
 
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index b0891a3d69f3..de4a0cf1dcdd 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -1,5 +1,5 @@
-{stdenv, fetchurl, fetchFromGitHub, callPackage, cmake, doxygen
-, imagemagick, ffmpeg, qt55, swig, python3, ruby, unittest-cpp
+{ stdenv, fetchurl, fetchFromGitHub, callPackage, cmake, doxygen
+, imagemagick, ffmpeg, qtbase, qtmultimedia, swig, python3, ruby, unittest-cpp
 , cppzmq, czmqpp
 }:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cmake doxygen
-    imagemagick ffmpeg qt55.qtbase qt55.qtmultimedia swig python3 ruby
+    imagemagick ffmpeg qtbase qtmultimedia swig python3 ruby
     unittest-cpp cppzmq czmqpp
   ];
 
diff --git a/pkgs/applications/window-managers/way-cooler/default.nix b/pkgs/applications/window-managers/way-cooler/default.nix
new file mode 100755
index 000000000000..d9d84e834304
--- /dev/null
+++ b/pkgs/applications/window-managers/way-cooler/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig
+, wayland, xwayland, wlc, dbus_libs, dbus_glib, cairo, libxkbcommon }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "way-cooler-${version}";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "way-cooler";
+    repo = "way-cooler";
+    rev = "v${version}";
+    sha256 = "10s01x54kwjm2c85v57i6g3pvj5w3wpkjblj036mmd865fla1brb";
+  };
+
+  depsSha256 = "1k5xbw2zhm5z650mxdbxixr90im53wlpjdvq2pbnx2snqm84idlc";
+
+  buildInputs = [ wlc dbus_libs dbus_glib cairo libxkbcommon ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Customizable Wayland compositor (window manager)";
+    longDescription = ''
+      Way Cooler is a customizable tiling window manager written in Rust
+      for Wayland and configurable using Lua. It is heavily inspired by
+      the tiling and extensibility of both i3 and awesome. While Lua is
+      used for the configuration, like awesome, extensions for Way Cooler
+      are implemented as totally separate client programs using D-Bus.
+      This means that you can use virtually any language to extend the
+      window manager, with much better guarantees about interoperability
+      between extensions.
+    '';
+    homepage = http://way-cooler.org/;
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.miltador ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/build-support/emacs/buffer.nix b/pkgs/build-support/emacs/buffer.nix
index 1cbac0709a66..6c5e0570fd0d 100644
--- a/pkgs/build-support/emacs/buffer.nix
+++ b/pkgs/build-support/emacs/buffer.nix
@@ -39,6 +39,8 @@
       (make-local-variable 'process-environment)
       (put 'process-environment 'permanent-local t)
       (inherit-local 'process-environment)
+      ; setenv modifies in place, so copy the environment first
+      (setq process-environment (copy-tree process-environment))
       (setenv "PATH" (concat "${lib.makeSearchPath "bin" pkgs}:" (getenv "PATH")))
       (inherit-local-permanent exec-path (append '(${builtins.concatStringsSep " " (map (p: "\"${p}/bin\"") pkgs)}) exec-path))
 
diff --git a/pkgs/build-support/fetchrepoproject/default.nix b/pkgs/build-support/fetchrepoproject/default.nix
new file mode 100644
index 000000000000..78a46d4ac9bd
--- /dev/null
+++ b/pkgs/build-support/fetchrepoproject/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, git, gitRepo, gnupg ? null, cacert }:
+
+{ name, manifest, rev ? "HEAD", sha256 ? "", repoRepoURL ? "", repoRepoRev ? "", referenceDir ? ""
+, localManifests ? []
+}:
+
+assert repoRepoRev != "" -> repoRepoURL != "";
+
+with stdenv.lib;
+
+let
+  extraRepoInitFlags = [
+    (optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
+    (optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
+    (optionalString (referenceDir != "") "--reference=${referenceDir}")
+  ];
+in
+
+stdenv.mkDerivation {
+  buildCommand = ''
+    mkdir ./.repo
+    mkdir ./.repo/local_manifests
+    for local_manifest in ${concatMapStringsSep " " toString localManifests}
+    do
+      cp $local_manifest ./.repo/local_manifests/$(stripHash $local_manifest; echo $strippedName)
+    done
+
+    export HOME=.repo
+    repo init --manifest-url=${manifest} --manifest-branch=${rev} --depth=1 --no-clone-bundle \
+        ${concatStringsSep " " extraRepoInitFlags}
+
+    repo sync --jobs=$NIX_BUILD_CORES --current-branch
+    rm -rf $out/.repo
+  '';
+
+  GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+  impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars ++ [
+    "GIT_PROXY_COMMAND" "SOCKS_SERVER"
+  ];
+
+  buildInputs = [git gitRepo cacert] ++ optional (gnupg != null) [gnupg] ;
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = sha256;
+
+  preferLocalBuild = true;
+  enableParallelBuilding = true;
+  inherit name cacert manifest rev repoRepoURL repoRepoRev referenceDir;
+}
diff --git a/pkgs/build-support/setup-systemd-units.nix b/pkgs/build-support/setup-systemd-units.nix
new file mode 100644
index 000000000000..4fa2f42c39dc
--- /dev/null
+++ b/pkgs/build-support/setup-systemd-units.nix
@@ -0,0 +1,83 @@
+# | Build a script to install and start a set of systemd units on any
+# systemd-based system.
+#
+# Creates a symlink at /etc/systemd-static/${namespace} for slightly
+# improved atomicity.
+{ writeScriptBin
+, bash
+, coreutils
+, systemd
+, runCommand
+, lib
+}:
+  { units     # : AttrSet String (Either Path { path : Path, wanted-by : [ String ] })
+              # ^ A set whose names are unit names and values are
+              # either paths to the corresponding unit files or a set
+              # containing the path and the list of units this unit
+              # should be wanted-by (none by default).
+              #
+              # The names should include the unit suffix
+              # (e.g. ".service")
+  , namespace # : String
+              # The namespace for the unit files, to allow for
+              # multiple independent unit sets managed by
+              # `setupSystemdUnits`.
+  }:
+    let static = runCommand "systemd-static" {}
+          ''
+            mkdir -p $out
+            ${lib.concatStringsSep "\n" (lib.mapAttrsToList (nm: file:
+                "ln -sv ${file.path or file} $out/${nm}"
+             ) units)}
+          '';
+        add-unit-snippet = name: file:
+          ''
+            oldUnit=$(readlink -f "$unitDir/${name}" || echo "$unitDir/${name}")
+            if [ -f "$oldUnit" -a "$oldUnit" != "${file.path or file}" ]; then
+              unitsToStop+=("${name}")
+            fi
+            ln -sf "/etc/systemd-static/${namespace}/${name}" \
+              "$unitDir/.${name}.tmp"
+            mv -T "$unitDir/.${name}.tmp" "$unitDir/${name}"
+            ${lib.concatStringsSep "\n" (map (unit:
+                ''
+                  mkdir -p "$unitDir/${unit}.wants"
+                  ln -sf "../${name}" \
+                    "$unitDir/${unit}.wants/.${name}.tmp"
+                  mv -T "$unitDir/${unit}.wants/.${name}.tmp" \
+                    "$unitDir/${unit}.wants/${name}"
+                ''
+              ) file.wanted-by or [])}
+            unitsToStart+=("${name}")
+          '';
+    in
+      writeScriptBin "setup-systemd-units"
+        ''
+          #!${bash}/bin/bash -e
+          export PATH=${coreutils}/bin:${systemd}/bin
+
+          unitDir=/etc/systemd/system
+          if [ ! -w "$unitDir" ]; then
+            unitDir=/etc/systemd-mutable/system
+            mkdir -p "$unitDir"
+          fi
+          declare -a unitsToStop unitsToStart
+
+          oldStatic=$(readlink -f /etc/systemd-static/${namespace} || true)
+          if [ "$oldStatic" != "${static}" ]; then
+            ${lib.concatStringsSep "\n"
+                (lib.mapAttrsToList add-unit-snippet units)}
+            if [ ''${#unitsToStop[@]} -ne 0 ]; then
+              echo "Stopping unit(s) ''${unitsToStop[@]}" >&2
+              systemctl stop "''${unitsToStop[@]}"
+            fi
+            mkdir -p /etc/systemd-static
+            ln -sfT ${static} /etc/systemd-static/.${namespace}.tmp
+            mv -T /etc/systemd-static/.${namespace}.tmp /etc/systemd-static/${namespace}
+            systemctl daemon-reload
+            echo "Starting unit(s) ''${unitsToStart[@]}" >&2
+            systemctl start "''${unitsToStart[@]}"
+          else
+            echo "Units unchanged, doing nothing" >&2
+          fi
+        ''
diff --git a/pkgs/data/fonts/fontconfig-penultimate/default.nix b/pkgs/data/fonts/fontconfig-penultimate/default.nix
new file mode 100644
index 000000000000..f9d60d6600dc
--- /dev/null
+++ b/pkgs/data/fonts/fontconfig-penultimate/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+let version = "0.2.1"; in
+stdenv.mkDerivation {
+  name = "fontconfig-penultimate-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ttuegel";
+    repo = "fontconfig-penultimate";
+    rev = version;
+    sha256 = "14arpalmpn7ig2myxslk4jdg6lm0cnmwsxy7zl0j7yr417k1kprf";
+  };
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    cp *.conf $out/etc/fonts/conf.d
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ttuegel/fontconfig-penultimate;
+    description = "Sensible defaults for Fontconfig";
+    license = licenses.asl20;
+    maintainers = [ maintainers.ttuegel ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/shrikhand/default.nix b/pkgs/data/fonts/shrikhand/default.nix
new file mode 100644
index 000000000000..942a284e2c0d
--- /dev/null
+++ b/pkgs/data/fonts/shrikhand/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "2016-03-03";
+  name = "shrikhand-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jonpinhorn";
+    repo = "shrikhand";
+    rev = "c11c9b0720fba977fad7cb4f339ebacdba1d1394";
+    sha256 = "1d21bvj4w8i0zrmkdrgbn0rpzac89iazfids1x273gsrsvvi45kk";
+  };
+
+  installPhase = ''
+    install -D -m644 build/Shrikhand-Regular.ttf $out/share/fonts/truetype/Shrikhand-Regular.ttf
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://jonpinhorn.github.io/shrikhand/;
+    description = "A vibrant and playful typeface for both Latin and Gujarati writing systems";
+    maintainers = with maintainers; [ sternenseemann ];
+    platforms = platforms.all;
+    license = licenses.ofl;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix
index 7ba3c3734f84..0d8e46aeeced 100644
--- a/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/gdm/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   # Disable Access Control because our X does not support FamilyServerInterpreted yet
-  patches = [ #./xserver_path.patch # gdm now uses wayland
+  patches = [ ./xserver_path.patch
               ./sessions_dir.patch
               ./gdm-x-session_extra_args.patch
               ./gdm-session-worker_xserver-path.patch
diff --git a/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix b/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix
index 8f525945a6af..80f2dde534ec 100644
--- a/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix
+++ b/pkgs/desktops/gnome-3/3.22/core/zenity/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, itstool }:
+, gnome_doc_utils, intltool, libX11, which, itstool, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
 
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which wrapGAppsHook ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/development/compilers/ghcjs/head.nix b/pkgs/development/compilers/ghcjs/head.nix
index 1c347655ebed..e045dc67a507 100644
--- a/pkgs/development/compilers/ghcjs/head.nix
+++ b/pkgs/development/compilers/ghcjs/head.nix
@@ -1,22 +1,26 @@
 { fetchgit, fetchFromGitHub, bootPkgs }:
 
 bootPkgs.callPackage ./base.nix {
-  version = "0.2.020161101";
+  version = "0.2.020170323";
 
   # deprecated on HEAD, directly included in the distribution
   ghcjs-prim = null;
   inherit bootPkgs;
 
   ghcjsSrc = fetchFromGitHub {
-    owner = "ghcjs";
+    # TODO: switch back to the regular ghcjs repo
+    # when https://github.com/ghcjs/ghcjs/pull/573 is merged.
+    owner = "basvandijk";
     repo = "ghcjs";
-    rev = "2dc14802e78d7d9dfa35395d5dbfc9c708fb83e6";
-    sha256 = "0cvmapbrwg0h1pbz648isc2l84z694ylnfm8ncd1g4as28lmj0pz";
+    rev = "e6cdc71964a1c2e4184416a493e9d384c408914c";
+    sha256 = "00fk9qwyx4vpvr0h9jbqxwlrvl6w63l5sq8r357prsp6xyv5zniz";
   };
   ghcjsBootSrc = fetchgit {
-    url = git://github.com/ghcjs/ghcjs-boot.git;
-    rev = "b000a4f4619b850bf3f9a45c9058f7a51e7709c8";
-    sha256 = "164v0xf33r6mnympp6s70v8j6g7ccyg7z95gjp43bq150ppvisbq";
+    # TODO: switch back to git://github.com/ghcjs/ghcjs-boot.git
+    # when https://github.com/ghcjs/ghcjs-boot/pull/41 is merged.
+    url = git://github.com/basvandijk/ghcjs-boot.git;
+    rev = "19a3b157ecb807c2224daffda5baecc92b76af35";
+    sha256 = "16sgr8vfr1nx5ljnk8gckgjk70zpa67ix4dbr9aizkwyz41ilfrb";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/compilers/ghcjs/head_stage2.nix b/pkgs/development/compilers/ghcjs/head_stage2.nix
index 765a384bf634..d4247f51b3e3 100644
--- a/pkgs/development/compilers/ghcjs/head_stage2.nix
+++ b/pkgs/development/compilers/ghcjs/head_stage2.nix
@@ -2,107 +2,117 @@
 
 {
   async = callPackage
-    ({ mkDerivation, base, HUnit, stdenv, stm, test-framework
-      , test-framework-hunit
-      }:
-      mkDerivation {
-        pname = "async";
-        version = "2.1.0";
-        src = "${ghcjsBoot}/boot/async";
-        doCheck = false;
-        libraryHaskellDepends = [ base stm ];
-        testHaskellDepends = [
-          base HUnit test-framework test-framework-hunit
-        ];
-        jailbreak = true;
-        homepage = "https://github.com/simonmar/async";
-        description = "Run IO operations asynchronously and wait for their results";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+    ({ mkDerivation, base, HUnit, stm, test-framework
+     , test-framework-hunit, stdenv
+     }:
+     mkDerivation {
+       pname = "async";
+       version = "2.1.1";
+       src = "${ghcjsBoot}/boot/async";
+       doCheck = false;
+       libraryHaskellDepends = [ base stm ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/simonmar/async";
+       description = "Run IO operations asynchronously and wait for their results";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   aeson = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
-      , dlist, fail, ghc-prim, hashable, HUnit, mtl, QuickCheck, scientific
-      , stdenv, syb, tagged, template-haskell, test-framework
-      , test-framework-hunit, test-framework-quickcheck2, text, time
-      , transformers, unordered-containers, vector
-      }:
-      mkDerivation {
-        pname = "aeson";
-        version = "0.11.2.0";
-        src = "${ghcjsBoot}/boot/aeson";
-        doCheck = false;
-        libraryHaskellDepends = [
-          attoparsec base bytestring containers deepseq dlist fail ghc-prim
-          hashable mtl scientific syb tagged template-haskell text time transformers
-          unordered-containers vector
-        ];
-        testHaskellDepends = [
-          attoparsec base bytestring containers ghc-prim HUnit QuickCheck
-          template-haskell test-framework test-framework-hunit
-          test-framework-quickcheck2 text time unordered-containers vector
-        ];
-        jailbreak = true;
-        homepage = "https://github.com/bos/aeson";
-        description = "Fast JSON parsing and encoding";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
+     , base16-bytestring, bytestring, containers, deepseq, directory
+     , dlist, fetchgit, filepath, generic-deriving, ghc-prim, hashable
+     , hashable-time, HUnit, integer-logarithms, QuickCheck
+     , quickcheck-instances, scientific, stdenv, tagged
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, time-locale-compat
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.1.1.0";
+       src = "${ghcjsBoot}/boot/aeson";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers deepseq dlist
+         ghc-prim hashable scientific tagged template-haskell text time
+         time-locale-compat unordered-containers uuid-types vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat base-orphans base16-bytestring
+         bytestring containers directory dlist filepath generic-deriving
+         ghc-prim hashable hashable-time HUnit integer-logarithms QuickCheck
+         quickcheck-instances scientific tagged template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time time-locale-compat unordered-containers uuid-types vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   attoparsec = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, deepseq
-      , QuickCheck, quickcheck-unicode, scientific, stdenv
-      , test-framework, test-framework-quickcheck2, text, transformers
-      , vector
-      }:
-      mkDerivation {
-        pname = "attoparsec";
-        version = "0.13.0.2";
-        src = "${ghcjsBoot}/boot/attoparsec";
-        doCheck = false;
-        libraryHaskellDepends = [
-          array base bytestring containers deepseq scientific text
-          transformers
-        ];
-        testHaskellDepends = [
-          array base bytestring containers deepseq QuickCheck
-          quickcheck-unicode scientific test-framework
-          test-framework-quickcheck2 text transformers vector
-        ];
-        jailbreak = true;
-        homepage = "https://github.com/bos/attoparsec";
-        description = "Fast combinator parsing for bytestrings and text";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+    ({ mkDerivation, array, base, bytestring, case-insensitive
+     , containers, criterion, deepseq, directory, filepath, ghc-prim
+     , http-types, parsec, QuickCheck, quickcheck-unicode, scientific
+     , tasty, tasty-quickcheck, text, transformers, unordered-containers
+     , vector, stdenv
+     }:
+     mkDerivation {
+       pname = "attoparsec";
+       version = "0.13.1.0";
+       src = "${ghcjsBoot}/boot/attoparsec";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq scientific text
+         transformers
+       ];
+       testHaskellDepends = [
+         array base bytestring deepseq QuickCheck quickcheck-unicode
+         scientific tasty tasty-quickcheck text transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring case-insensitive containers criterion deepseq
+         directory filepath ghc-prim http-types parsec scientific text
+         transformers unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bos/attoparsec";
+       description = "Fast combinator parsing for bytestrings and text";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   case-insensitive = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, hashable, HUnit, stdenv
-      , test-framework, test-framework-hunit, text
-      }:
-      mkDerivation {
-        pname = "case-insensitive";
-        version = "1.2.0.6";
-        src = "${ghcjsBoot}/boot/case-insensitive";
-        doCheck = false;
-        libraryHaskellDepends = [ base bytestring deepseq hashable text ];
-        testHaskellDepends = [
-          base bytestring HUnit test-framework test-framework-hunit text
-        ];
-        jailbreak = true;
-        homepage = "https://github.com/basvandijk/case-insensitive";
-        description = "Case insensitive string comparison";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+    ({ mkDerivation, base, bytestring, criterion, deepseq, hashable
+     , HUnit, test-framework, test-framework-hunit, text, stdenv
+     }:
+     mkDerivation {
+       pname = "case-insensitive";
+       version = "1.2.0.8";
+       src = "${ghcjsBoot}/boot/case-insensitive";
+       doCheck = false;
+       libraryHaskellDepends = [ base bytestring deepseq hashable text ];
+       testHaskellDepends = [
+         base bytestring HUnit test-framework test-framework-hunit text
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/case-insensitive";
+       description = "Case insensitive string comparison";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   dlist = callPackage
     ({ mkDerivation, base, Cabal, deepseq, QuickCheck, stdenv }:
-      mkDerivation {
-        pname = "dlist";
-        version = "0.7.1.2";
-        src = "${ghcjsBoot}/boot/dlist";
-        doCheck = false;
-        libraryHaskellDepends = [ base deepseq ];
-        testHaskellDepends = [ base Cabal QuickCheck ];
-        jailbreak = true;
-        homepage = "https://github.com/spl/dlist";
-        description = "Difference lists";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+     mkDerivation {
+       pname = "dlist";
+       version = "0.8.0.2";
+       src = "${ghcjsBoot}/boot/dlist";
+       doCheck = false;
+       libraryHaskellDepends = [ base deepseq ];
+       testHaskellDepends = [ base Cabal QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/spl/dlist";
+       description = "Difference lists";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   extensible-exceptions = callPackage
     ({ mkDerivation, base, stdenv }:
       mkDerivation {
@@ -175,29 +185,29 @@
         license = stdenv.lib.licenses.bsd3;
       }) {};
   scientific = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, deepseq, ghc-prim
-      , hashable, integer-gmp, QuickCheck, smallcheck, stdenv, tasty
-      , tasty-ant-xml, tasty-hunit, tasty-quickcheck, tasty-smallcheck
-      , text, vector
-      }:
-      mkDerivation {
-        pname = "scientific";
-        version = "0.3.4.7";
-        src = "${ghcjsBoot}/boot/scientific";
-        doCheck = false;
-        libraryHaskellDepends = [
-          base binary bytestring containers deepseq ghc-prim hashable
-          integer-gmp text vector
-        ];
-        testHaskellDepends = [
-          base bytestring QuickCheck smallcheck tasty tasty-ant-xml
-          tasty-hunit tasty-quickcheck tasty-smallcheck text
-        ];
-        jailbreak = true;
-        homepage = "https://github.com/basvandijk/scientific";
-        description = "Numbers represented using scientific notation";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+    ({ mkDerivation, base, binary, bytestring, containers, criterion
+     , deepseq, ghc-prim, hashable, integer-gmp, integer-logarithms
+     , QuickCheck, smallcheck, tasty, tasty-ant-xml, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, text, vector, stdenv
+     }:
+     mkDerivation {
+       pname = "scientific";
+       version = "0.3.4.10";
+       src = "${ghcjsBoot}/boot/scientific";
+       libraryHaskellDepends = [
+         base binary bytestring containers deepseq ghc-prim hashable
+         integer-gmp integer-logarithms text vector
+       ];
+       testHaskellDepends = [
+         base binary bytestring QuickCheck smallcheck tasty tasty-ant-xml
+         tasty-hunit tasty-quickcheck tasty-smallcheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       jailbreak = true;
+       homepage = "https://github.com/basvandijk/scientific";
+       description = "Numbers represented using scientific notation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   stm = callPackage
     ({ mkDerivation, array, base, stdenv }:
       mkDerivation {
@@ -224,6 +234,23 @@
         description = "Scrap Your Boilerplate";
         license = stdenv.lib.licenses.bsd3;
       }) {};
+  tagged = callPackage
+    ({ mkDerivation, base, deepseq, template-haskell, transformers
+     , transformers-compat, stdenv
+     }:
+     mkDerivation {
+       pname = "tagged";
+       version = "0.8.5";
+       src = "${ghcjsBoot}/boot/tagged";
+       doCheck = false;
+       libraryHaskellDepends = [
+         base deepseq template-haskell transformers transformers-compat
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/ekmett/tagged";
+       description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   text = callPackage
     ({ mkDerivation, array, base, binary, bytestring, deepseq, directory
       , ghc-prim, HUnit, integer-gmp, QuickCheck, quickcheck-unicode
@@ -249,25 +276,52 @@
         license = stdenv.lib.licenses.bsd3;
       }) {};
   unordered-containers = callPackage
-    ({ mkDerivation, base, ChasingBottoms, containers, deepseq, hashable
-      , HUnit, QuickCheck, stdenv, test-framework, test-framework-hunit
-      , test-framework-quickcheck2
-      }:
-      mkDerivation {
-        pname = "unordered-containers";
-        version = "0.2.7.0";
-        src = "${ghcjsBoot}/boot/unordered-containers";
-        doCheck = false;
-        libraryHaskellDepends = [ base deepseq hashable ];
-        testHaskellDepends = [
-          base ChasingBottoms containers hashable HUnit QuickCheck
-          test-framework test-framework-hunit test-framework-quickcheck2
-        ];
-        jailbreak = true;
-        homepage = "https://github.com/tibbe/unordered-containers";
-        description = "Efficient hashing-based container types";
-        license = stdenv.lib.licenses.bsd3;
-      }) {};
+    ({ mkDerivation, base, bytestring, ChasingBottoms, containers
+     , criterion, deepseq, deepseq-generics, hashable, hashmap, HUnit
+     , mtl, QuickCheck, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, stdenv
+     }:
+     mkDerivation {
+       pname = "unordered-containers";
+       version = "0.2.7.2";
+       src = "${ghcjsBoot}/boot/unordered-containers";
+       libraryHaskellDepends = [ base deepseq hashable ];
+       testHaskellDepends = [
+         base ChasingBottoms containers hashable HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq deepseq-generics
+         hashable hashmap mtl random
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tibbe/unordered-containers";
+       description = "Efficient hashing-based container types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+  uuid-types = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, criterion
+     , deepseq, hashable, HUnit, QuickCheck, random, stdenv, tasty
+     , tasty-hunit, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "uuid-types";
+       version = "1.0.3";
+       src = "${ghcjsBoot}/boot/uuid/uuid-types";
+       libraryHaskellDepends = [
+         base binary bytestring deepseq hashable random text
+       ];
+       testHaskellDepends = [
+         base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq random
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/aslatter/uuid";
+       description = "Type definitions for Universally Unique Identifiers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
   vector = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, primitive, QuickCheck
       , random, stdenv, template-haskell, test-framework
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index 7fa35e1fcacb..6c1b868beba3 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
 
   patches =
     [ ./remove-tools-1.7.patch
-      ./cacert-1.7.patch
+      ./ssl-cert-file-1.7.patch
       ./creds-test.patch
 
       # This test checks for the wrong thing with recent tzdata. It's been fixed in master but the patch
@@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
       })
     ];
 
-  SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
   GOARCH = if stdenv.isDarwin then "amd64"
diff --git a/pkgs/development/compilers/go/1.8.nix b/pkgs/development/compilers/go/1.8.nix
index 6d9ee3de5501..32e95c3c0491 100644
--- a/pkgs/development/compilers/go/1.8.nix
+++ b/pkgs/development/compilers/go/1.8.nix
@@ -107,7 +107,7 @@ stdenv.mkDerivation rec {
 
   patches =
     [ ./remove-tools-1.8.patch
-      ./cacert-1.8.patch
+      ./ssl-cert-file-1.8.patch
       ./creds-test.patch
       ./remove-test-pie-1.8.patch
 
@@ -119,7 +119,7 @@ stdenv.mkDerivation rec {
       })
     ];
 
-  SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+  NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
   GOOS = if stdenv.isDarwin then "darwin" else "linux";
   GOARCH = if stdenv.isDarwin then "amd64"
diff --git a/pkgs/development/compilers/go/cacert-1.7.patch b/pkgs/development/compilers/go/ssl-cert-file-1.7.patch
index 57f09c975d9c..e35ad9e4b759 100644
--- a/pkgs/development/compilers/go/cacert-1.7.patch
+++ b/pkgs/development/compilers/go/ssl-cert-file-1.7.patch
@@ -13,7 +13,7 @@ index a4b33c7..9700b75 100644
  
  func loadSystemRoots() (*CertPool, error) {
  	roots := NewCertPool()
-+	if file := os.Getenv("SSL_CERT_FILE"); file != "" {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
 +		if err == nil {
 +			roots.AppendCertsFromPEM(data)
@@ -36,7 +36,7 @@ index 59b303d..d4a34ac 100644
 +		roots = NewCertPool()
 +	)
 +
-+	if file := os.Getenv("SSL_CERT_FILE"); file != "" {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
 +		if err == nil {
 +			roots.AppendCertsFromPEM(data)
@@ -65,7 +65,7 @@ index 7bcb3d6..3986e1a 100644
  
  func loadSystemRoots() (*CertPool, error) {
  	roots := NewCertPool()
-+	if file := os.Getenv("SSL_CERT_FILE"); file != "" {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
 +		if err == nil {
 +			roots.AppendCertsFromPEM(data)
diff --git a/pkgs/development/compilers/go/cacert-1.8.patch b/pkgs/development/compilers/go/ssl-cert-file-1.8.patch
index bf44e123711f..052655eed52c 100644
--- a/pkgs/development/compilers/go/cacert-1.8.patch
+++ b/pkgs/development/compilers/go/ssl-cert-file-1.8.patch
@@ -13,7 +13,7 @@ index a4b33c7..9700b75 100644
  
  func loadSystemRoots() (*CertPool, error) {
  	roots := NewCertPool()
-+	if file := os.Getenv("SSL_CERT_FILE"); file != "" {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
 +		if err == nil {
 +			roots.AppendCertsFromPEM(data)
@@ -43,7 +43,7 @@ index 66cdb5e..bb28036 100644
  		numVerified int // number of execs of 'security verify-cert', for debug stats
  	)
 
-+	if file := os.Getenv("SSL_CERT_FILE"); file != "" {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
 +		if err == nil {
 +			roots.AppendCertsFromPEM(data)
@@ -67,7 +67,7 @@ index 7bcb3d6..3986e1a 100644
  
  func loadSystemRoots() (*CertPool, error) {
  	roots := NewCertPool()
-+	if file := os.Getenv("SSL_CERT_FILE"); file != "" {
++	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
 +		if err == nil {
 +			roots.AppendCertsFromPEM(data)
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 33921ef02cd7..508ac254f0ac 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "1.1";
+  version = "1.1.1";
   name = "kotlin-${version}";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "179m5y56fi50qvxsm075h0547swib7n2pfdn8a4axk9wpwldni5a";
+    sha256 = "1c96l1bkll0l8c82cfzmph0z38f96r3x68zmggq4s8hhdqgwk8mc";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/3.7/libc++abi.nix b/pkgs/development/compilers/llvm/3.7/libc++abi.nix
index 6a62a6256b4f..d2be57b1a5fa 100644
--- a/pkgs/development/compilers/llvm/3.7/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/3.7/libc++abi.nix
@@ -1,6 +1,12 @@
-{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
+{ stdenv, cmake, fetch, fetchpatch, libcxx, libunwind, llvm, version }:
 
-stdenv.mkDerivation {
+let
+  # Newer LLVMs (3.8 onwards) have changed how some basic C++ stuff works, which breaks builds of this older version
+  llvm38-and-above = fetchpatch {
+    url    = "https://trac.macports.org/raw-attachment/ticket/50304/0005-string-Fix-exception-declaration.patch";
+    sha256 = "1lm38n7s0l5dbl7kp4i49pvzxz1mcvlr2vgsnj47agnwhhm63jvr";
+  };
+in stdenv.mkDerivation {
   name = "libc++abi-${version}";
 
   src = fetch "libcxxabi" "0ambfcmr2nh88hx000xb7yjm9lsqjjz49w5mlf6dlxzmj3nslzx4";
@@ -16,6 +22,13 @@ stdenv.mkDerivation {
     export TRIPLE=x86_64-apple-darwin
   '';
 
+  # I can't use patches directly because this is actually a patch for libc++'s source, which we manually extract
+  # into the libc++abi build environment above.
+  prePatch = ''(
+    cd ../libcxx-*
+    patch -p1 < ${llvm38-and-above}
+  )'';
+
   installPhase = if stdenv.isDarwin
     then ''
       for file in lib/*.dylib; do
diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix
index b3616a0e86b6..910682271103 100644
--- a/pkgs/development/compilers/llvm/3.9/clang/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix
@@ -29,12 +29,23 @@ let
       sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
     '';
 
+    outputs = [ "out" "python" ];
+
     # Clang expects to find LLVMgold in its own prefix
     # Clang expects to find sanitizer libraries in its own prefix
     postInstall = ''
       ln -sv ${llvm}/lib/LLVMgold.so $out/lib
       ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
       ln -sv $out/bin/clang $out/bin/cpp
+
+      mkdir -p $python/bin $python/share/clang/
+      mv $out/bin/{git-clang-format,scan-view} $python/bin
+      if [ -e $out/bin/set-xcode-analyzer ]; then
+        mv $out/bin/set-xcode-analyzer $python/bin
+      fi
+      mv $out/share/clang/*.py $python/share/clang
+
+      rm $out/bin/c-index-test
     '';
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 62f1514e2315..2c47ec5127f9 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -40,8 +40,7 @@ in stdenv.mkDerivation rec {
   outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
 
   buildInputs = [ perl groff cmake libxml2 python libffi ]
-    ++ stdenv.lib.optionals stdenv.isDarwin
-         [ libcxxabi darwin.cctools darwin.apple_sdk.libs.xpc ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
 
   propagatedBuildInputs = [ ncurses zlib ];
 
@@ -53,11 +52,15 @@ in stdenv.mkDerivation rec {
       sha256 = "11sq86spw41v72f676igksapdlsgh7fiqp5qkkmgfj0ndqcn9skf";
     }}
   ''
-  # hacky fix: New LLVM releases require a newer OS X SDK than
-  # 10.9. This is a temporary measure until nixpkgs darwin support is
-  # updated.
+  # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
+  # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
+  # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
+  # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
+  # a flag and turn the flag off during the stdenv build. I realize that this LLVM isn't used in the stdenv but I want to
+  # keep it consistent with 4.0. We really shouldn't be copying and pasting all this code around...
   + stdenv.lib.optionalString stdenv.isDarwin ''
-        sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
+    substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \
+      --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
   ''
   # Patch llvm-config to return correct library path based on --link-{shared,static}.
   + stdenv.lib.optionalString (enableSharedLibraries) ''
@@ -85,7 +88,6 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
-    "-DCMAKE_LIBTOOL=${darwin.cctools}/bin/libtool"
   ];
 
   postBuild = ''
diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix
index ba8302919e1e..a43826d7a310 100644
--- a/pkgs/development/compilers/llvm/4/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/4/libc++/default.nix
@@ -10,22 +10,27 @@ stdenv.mkDerivation rec {
     export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
   '';
 
+  # https://github.com/llvm-mirror/libcxx/commit/bcc92d75df0274b9593ebd097fcae60494e3bffc
+  patches = [ ./pthread_mach_thread_np.patch ];
+
+  prePatch = ''
+    substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
+  '';
+
   preConfigure = ''
     # Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
   '';
 
-  patchPhase = ''
-    substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
-  '';
+  nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   cmakeFlags = [
-      "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
-      "-DLIBCXX_LIBCPPABI_VERSION=2"
-      "-DLIBCXX_CXX_ABI=libcxxabi"
-    ];
+    "-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
+    "-DLIBCXX_LIBCPPABI_VERSION=2"
+    "-DLIBCXX_CXX_ABI=libcxxabi"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/llvm/4/libc++/pthread_mach_thread_np.patch b/pkgs/development/compilers/llvm/4/libc++/pthread_mach_thread_np.patch
new file mode 100644
index 000000000000..8c71f1b815db
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/libc++/pthread_mach_thread_np.patch
@@ -0,0 +1,41 @@
+From bcc92d75df0274b9593ebd097fcae60494e3bffc Mon Sep 17 00:00:00 2001
+From: Asiri Rathnayake <asiri.rathnayake@arm.com>
+Date: Thu, 26 Jan 2017 10:40:17 +0000
+Subject: [PATCH] Fix chromium build (libcxx)
+
+Remove the reference to pthread_mach_thread_np() in libcxx headers.
+
+git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@293167 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ include/__threading_support | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/include/__threading_support b/include/__threading_support
+index 13ab769..dfe7fe1 100644
+--- a/include/__threading_support
++++ b/include/__threading_support
+@@ -149,11 +149,6 @@ int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
+                           void (*init_routine)(void));
+ 
+ // Thread id
+-#if defined(__APPLE__) && !defined(__arm__)
+-_LIBCPP_THREAD_ABI_VISIBILITY
+-mach_port_t __libcpp_thread_get_port();
+-#endif
+-
+ _LIBCPP_THREAD_ABI_VISIBILITY
+ bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2);
+ 
+@@ -297,12 +292,6 @@ int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
+ }
+ 
+ // Thread id
+-#if defined(__APPLE__) && !defined(__arm__)
+-mach_port_t __libcpp_thread_get_port() {
+-    return pthread_mach_thread_np(pthread_self());
+-}
+-#endif
+-
+ // Returns non-zero if the thread ids are equal, otherwise 0
+ bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2)
+ {
diff --git a/pkgs/development/compilers/manticore/builder.sh b/pkgs/development/compilers/manticore/builder.sh
deleted file mode 100755
index ad72f50a1b31..000000000000
--- a/pkgs/development/compilers/manticore/builder.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!@shell@
-
-source $stdenv/setup
-echo "Building Manticore research compiler."
-set -xe
-
-PATH=$smlnj/bin:$PATH
-
-mkdir -p $out/bin
-
-# Manticore seems to use the MLB files from the build tree,
-# so for now we copy the whole build tree into the store:
-cd $out/
-tar xf $src
-mv manticore* repo_checkout
-cd repo_checkout/
-# TODO: At the very least, this could probably be cut down to a subset
-# of the repo.
-
-${autoconf}/bin/autoheader -Iconfig
-${autoconf}/bin/autoconf -Iconfig
-./configure --prefix=$out
-make build -j
-make install
diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix
index 7e8312549da9..795830e0e707 100644
--- a/pkgs/development/compilers/manticore/default.nix
+++ b/pkgs/development/compilers/manticore/default.nix
@@ -1,14 +1,41 @@
-{ stdenv, fetchurl, coreutils, autoconf, automake, smlnj }:
+{ stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }:
 
-stdenv.mkDerivation rec {
+let
+    rev = "592a5714595b4448b646a7d49df04c285668c2f8";
+in stdenv.mkDerivation rec {
   name = "manticore-${version}";
   version = "2014.08.18";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = https://github.com/rrnewton/manticore_temp_mirror/archive/snapshot-20140818.tar.gz; 
-    sha256 = "1x52xpj5gbcpqjqm6aw6ssn901f353zypj3d5scm8i3ad777y29d";
+ 
+  src = fetchFromGitHub {
+    owner = "rrnewton";
+    repo = "manticore_temp_mirror";
+    sha256 = "1snwlm9a31wfgvzb80y7r7yvc6n0k0bi675lqwzll95as7cdswwi";
+    inherit rev;
   };
-  inherit stdenv coreutils autoconf automake smlnj;
+
+  enableParallelBuilding = false;
+ 
+  nativeBuildInputs = [ autoreconfHook ];
+  
+  buildInputs = [ coreutils smlnj ];
+
+  autoreconfFlags = "-Iconfig -vfi";
+
+  unpackPhase = ''
+    mkdir -p $out
+    cd $out
+    unpackFile $src
+    mv manticore_temp_mirror-${rev}-src repo_checkout
+    cd repo_checkout
+    chmod u+w . -R
+  ''; 
+  
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace configure.ac --replace 'MANTICORE_ROOT=`pwd`' 'MANTICORE_ROOT=$out/repo_checkout'
+  '';
+
+  preInstall = "mkdir -p $out/bin";
 
   meta = {
     description = "A parallel, pure variant of Standard ML";
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index f78eafa68afa..a386abec95bd 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation ( rec {
   name = "ponyc-${version}";
-  version = "0.11.3";
+  version = "0.11.4";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "ponyc";
     rev = version;
-    sha256 = "08wh8rh17bf043glvn7778bwpxyzpm95kgfll645hf2m65n5ncsh";
+    sha256 = "0csssmc9dcm2ib9k5qhglnjyrqsmci9b5q0b5cxwvl5z1llib9hg";
   };
 
   buildInputs = [ llvm makeWrapper which ];
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index 7f8580f058b6..75daad36f762 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -38,7 +38,7 @@ in stdenv.mkDerivation {
   '' + stdenv.lib.optionalString stdenv.isDarwin (with darwin; ''
     sed -i '/^[[:space:]]*\*x86-darwin\*)$/,/^[[:space:]]*\*) ;;/ c\
 \  \*x86-darwin\*)\
-\    INCLFILE=${osx_sdk}/Developer/SDKs/${osx_sdk.name}/usr/include/unistd.h\
+\    INCLFILE=${apple_sdk.sdk}/include/unistd.h\
 \    ;;\
 \  \*) ;;
 ' base/runtime/config/gen-posix-names.sh
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index bea914354de0..4ed6d8a957fb 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -181,8 +181,6 @@ self: super:
       ] drv.libraryHaskellDepends;
   });
 
-  semigroups = addBuildDepends super.semigroups [ self.hashable self.unordered-containers self.text self.tagged ];
-
   transformers-compat = overrideCabal super.transformers-compat (drv: {
     configureFlags = [];
   });
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index b4a9282e1851..1928d51d3e58 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "groovy-${version}";
-  version = "2.4.8";
+  version = "2.4.10";
 
   src = fetchurl {
     url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip";
-    sha256 = "1zcdkarz9mbx9k5sl69nbphjjcy0xd15zjicjnhp2wq32zm6b2k6";
+    sha256 = "1a8pqcrm014h4x54gqqyxp7r1vkwhphqwrfa7gnqr6nzdqxzyk8w";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index f32cb9db02a8..f8c98c727f49 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, cmake, pkgconfig
 , libjack2, libsndfile, fftw, curl, gcc
-, libXt, qt55, readline
+, libXt, qtbase, qttools, qtwebkit, readline
 , useSCEL ? false, emacs
 }:
 
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
     -DSC_EL=${if useSCEL then "ON" else "OFF"}
   '';
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig qttools ];
 
   buildInputs = [
-    gcc libjack2 libsndfile fftw curl libXt qt55.qtwebkit qt55.qttools readline ]
+    gcc libjack2 libsndfile fftw curl libXt qtbase qtwebkit readline ]
       ++ optional useSCEL emacs;
 
   meta = {
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 7df72bc05605..e1b87fafd8e8 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -19,13 +19,6 @@ stdenv.mkDerivation rec {
     sha1 = "c6f7b99986f93c9df78653c3e6a3b5043f65145e";
   };
 
-  infinality = fetchFromGitHub {
-    owner = "bohoomil";
-    repo = "fontconfig-ultimate";
-    rev = "730f5e77580677e86522c1f2119aa78803741759";
-    sha256 = "1hbrdpm6xcczs2c2iid7by8h7dsd0jcf7an88s150njyqnjzxjg7";
-  };
-
   patches = [
     # from https://bugs.freedesktop.org/show_bug.cgi?id=98165
     (fetchpatch {
@@ -35,10 +28,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  prePatch = ''
-    patches="$patches $(echo $infinality/*_cairo-iu/*.patch)"
-  '';
-
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev"; # very small
 
diff --git a/pkgs/development/libraries/capnproto/clang4.patch b/pkgs/development/libraries/capnproto/clang4.patch
new file mode 100644
index 000000000000..e83abe9f433a
--- /dev/null
+++ b/pkgs/development/libraries/capnproto/clang4.patch
@@ -0,0 +1,22 @@
+From 0f1fd1938b19dccdb5dbfe9cb5177c4342a2a5b5 Mon Sep 17 00:00:00 2001
+From: Eric Fiselier <eric@efcs.ca>
+Date: Thu, 29 Dec 2016 14:23:40 -0700
+Subject: [PATCH] Fix conversion build error when building with Clang 4.0
+
+---
+ c++/src/capnp/layout.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/c++/src/capnp/layout.h b/c++/src/capnp/layout.h
+index 850925a..b955f08 100644
+--- a/src/capnp/layout.h
++++ b/src/capnp/layout.h
+@@ -126,7 +126,7 @@template <> struct ElementSizeForType<Void> { static constexpr ElementSize value
+ template <> struct ElementSizeForType<bool> { static constexpr ElementSize value = ElementSize::BIT; };
+ 
+ // Lists and blobs are pointers, not structs.
+-template <typename T, bool b> struct ElementSizeForType<List<T, b>> {
++template <typename T, Kind K> struct ElementSizeForType<List<T, K>> {
+   static constexpr ElementSize value = ElementSize::POINTER;
+ };
+ template <> struct ElementSizeForType<Text> {
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
index 839d48e488f0..0a5df88efdb9 100644
--- a/pkgs/development/libraries/capnproto/default.nix
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1yvaadhgakskqq5wpv53hd6fc3pp17mrdldw4i5cvgck4iwprcfd";
   };
 
+  patches = [
+    # Remove once they release a version above 0.5.3. See https://github.com/sandstorm-io/capnproto/issues/433
+    ./clang4.patch
+  ];
+
   meta = with stdenv.lib; {
     homepage    = "http://kentonv.github.io/capnproto";
     description = "Cap'n Proto cerealization protocol";
diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix
index 2705339adbfb..222dfc27256c 100644
--- a/pkgs/development/libraries/fontconfig/2.10.nix
+++ b/pkgs/development/libraries/fontconfig/2.10.nix
@@ -8,13 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
   };
 
-  infinality_patch =
-    let subvers = "1";
-      in fetchurl {
-        url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
-        sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
-      }
-    ;
+  patches = [
+    # FreeType 2.7 prefixes PCF font family names with the foundry name.
+    # The output of fc-list and fc-query change which breaks the tests.
+    ./test-pcf-family-names-freetype-2.7.patch
+  ];
 
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
@@ -44,10 +42,6 @@ stdenv.mkDerivation rec {
   # Don't try to write to /var/cache/fontconfig at install time.
   installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
 
-  postInstall = ''
-    cd "$out/etc/fonts" && tar xvf ${infinality_patch}
-  '';
-
   passthru = {
     # Empty for backward compatibility, there was no versioning before 2.11
     configVersion = "";
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 14983b744df9..c44373625e0f 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -33,6 +33,10 @@ stdenv.mkDerivation rec {
       url = "https://cgit.freedesktop.org/fontconfig/patch/?id=1ab5258f7c";
       sha256 = "0x2a4qx51j3gqcp1kp4lisdzmhrkw1zw0r851d82ksgjlc0vkbaz";
     })
+
+    # FreeType 2.7 prefixes PCF font family names with the foundry name.
+    # The output of fc-list and fc-query change which breaks the tests.
+    ./test-pcf-family-names-freetype-2.7.patch
   ];
   # additionally required for the glibc-2.25 patch; avoid requiring gperf
   postPatch = ''
diff --git a/pkgs/development/libraries/fontconfig/test-pcf-family-names-freetype-2.7.patch b/pkgs/development/libraries/fontconfig/test-pcf-family-names-freetype-2.7.patch
new file mode 100644
index 000000000000..24aa6e5aaa1e
--- /dev/null
+++ b/pkgs/development/libraries/fontconfig/test-pcf-family-names-freetype-2.7.patch
@@ -0,0 +1,18 @@
+diff -Nuar fontconfig-2.10.2-orig/test/out.expected fontconfig-2.10.2/test/out.expected
+--- fontconfig-2.10.2-orig/test/out.expected	2017-03-06 06:45:50.876053093 -0600
++++ fontconfig-2.10.2/test/out.expected	2017-03-06 06:48:18.012514337 -0600
+@@ -1,8 +1,8 @@
+-Fixed:pixelsize=16
+-Fixed:pixelsize=6
++Misc Fixed:pixelsize=6
++Sony Fixed:pixelsize=16
+ =
+-Fixed:pixelsize=16
+-Fixed:pixelsize=6
++Misc Fixed:pixelsize=6
++Sony Fixed:pixelsize=16
+ =
+-Fixed:pixelsize=16
+-Fixed:pixelsize=6
++Misc Fixed:pixelsize=6
++Sony Fixed:pixelsize=16
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index adf48df2494e..f966965fa5fa 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,64 +1,53 @@
-{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, which, zlib, bzip2, libpng, gnumake
-, glib /* passthru only */
-
-  # FreeType supports sub-pixel rendering.  This is patented by
-  # Microsoft, so it is disabled by default.  This option allows it to
-  # be enabled.  See http://www.freetype.org/patents.html.
-, useEncumberedCode ? true
-, useInfinality ? true
+{
+  stdenv, lib, fetchurl, copyPathsToStore,
+  pkgconfig, which,
+  zlib, bzip2, libpng, gnumake, glib,
+
+  # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering).
+  # LCD filtering is also known as ClearType and covered by several Microsoft patents.
+  # This option allows it to be disabled. See http://www.freetype.org/patents.html.
+  useEncumberedCode ? true,
 }:
 
-assert useInfinality -> useEncumberedCode;
+with { inherit (stdenv.lib) optional optionals optionalString; };
 
-let
-  version = "2.6.5";
+let version = "2.7.1"; name = "freetype-" + version; in
 
-  infinality = fetchFromGitHub {
-    owner = "archfan";
-    repo = "infinality_bundle";
-    rev = "5c0949a477bf43d2ac4e57b4fc39bcc3331002ee";
-    sha256 = "17389aqm6rlxl4b5mv1fx4b22x2v2n60hfhixfxqxpd8ialsdi6l";
-  };
+stdenv.mkDerivation {
+  inherit name;
 
-in
-with { inherit (stdenv.lib) optional optionals optionalString; };
-stdenv.mkDerivation rec {
-  name = "freetype-${version}";
+  meta = with stdenv.lib; {
+    description = "A font rendering engine";
+    longDescription = ''
+      FreeType is a portable and efficient library for rendering fonts. It
+      supports TrueType, Type 1, CFF fonts, and WOFF, PCF, FNT, BDF and PFR
+      fonts. It has a bytecode interpreter and has an automatic hinter called
+      autofit which can be used instead of hinting instructions included in
+      fonts.
+    '';
+    homepage = https://www.freetype.org/;
+    license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ttuegel ];
+  };
 
   src = fetchurl {
     url = "mirror://savannah/freetype/${name}.tar.bz2";
-    sha256 = "1w5c87s4rpx9af5b3mk5cjd1yny3c4dq5p9iv3ixb3vr00a6w2p2";
+    sha256 = "121gm15ayfg3rglby8ifh8384mcjb9dhmx9j40zl7yszw72b4frs";
   };
 
-  patches = [
-    # Patch for validation of OpenType and GX/AAT tables.
-    (fetchurl {
-      name = "freetype-2.2.1-enable-valid.patch";
-      url = "http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/plain/freetype-2.2.1-enable-valid.patch?id=9a81147af83b1166a5f301e379f85927cc610990";
-      sha256 = "0zkgqhws2s0j8ywksclf391iijhidb1a406zszd7xbdjn28kmj2l";
-    })
-  ] ++ optionals (!useInfinality && useEncumberedCode) [
-    # Patch to enable subpixel rendering.
-    # See https://www.freetype.org/freetype2/docs/reference/ft2-lcd_filtering.html.
-    (fetchurl {
-      name = "freetype-2.3.0-enable-spr.patch";
-      url = http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/plain/freetype-2.3.0-enable-spr.patch?id=9a81147af83b1166a5f301e379f85927cc610990;
-      sha256 = "13ni9n5q3nla38wjmxd4f8cy29gp62kjx2l6y6nqhdyiqp8fz8nd";
-    })
-  ];
-
-  prePatch = optionalString useInfinality ''
-    patches="$patches $(ls ${infinality}/*_freetype2-iu/*-infinality-*.patch)"
-  '';
-
-  outputs = [ "out" "dev" ];
-
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
   # dependence on harfbuzz is looser than the reverse dependence
   nativeBuildInputs = [ pkgconfig which ]
     # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
     ++ optional (!stdenv.isLinux) gnumake;
 
+  patches =
+    [ ./enable-table-validation.patch ]
+    ++ optional useEncumberedCode ./enable-subpixel-rendering.patch;
+
+  outputs = [ "out" "dev" ];
+
   configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
 
   # The asm for armel is written with the 'asm' keyword.
@@ -76,19 +65,4 @@ stdenv.mkDerivation rec {
     # know why it's on the PATH.
     configureFlags = "--disable-static CC_BUILD=gcc";
   };
-
-  meta = with stdenv.lib; {
-    description = "A font rendering engine";
-    longDescription = ''
-      FreeType is a portable and efficient library for rendering fonts. It
-      supports TrueType, Type 1, CFF fonts, and WOFF, PCF, FNT, BDF and PFR
-      fonts. It has a bytecode interpreter and has an automatic hinter called
-      autofit which can be used instead of hinting instructions included in
-      fonts.
-    '';
-    homepage = https://www.freetype.org/;
-    license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
-    #ToDo: encumbered = useEncumberedCode;
-    platforms = platforms.all;
-  };
 }
diff --git a/pkgs/development/libraries/freetype/enable-subpixel-rendering.patch b/pkgs/development/libraries/freetype/enable-subpixel-rendering.patch
new file mode 100644
index 000000000000..4f908343e8c1
--- /dev/null
+++ b/pkgs/development/libraries/freetype/enable-subpixel-rendering.patch
@@ -0,0 +1,13 @@
+Index: freetype-2.7.1/include/freetype/config/ftoption.h
+===================================================================
+--- freetype-2.7.1.orig/include/freetype/config/ftoption.h
++++ freetype-2.7.1/include/freetype/config/ftoption.h
+@@ -122,7 +122,7 @@ FT_BEGIN_HEADER
+   /* This is done to allow FreeType clients to run unmodified, forcing     */
+   /* them to display normal gray-level anti-aliased glyphs.                */
+   /*                                                                       */
+-/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
++#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+ 
+ 
+   /*************************************************************************/
diff --git a/pkgs/development/libraries/freetype/enable-table-validation.patch b/pkgs/development/libraries/freetype/enable-table-validation.patch
new file mode 100644
index 000000000000..37419f14f40f
--- /dev/null
+++ b/pkgs/development/libraries/freetype/enable-table-validation.patch
@@ -0,0 +1,22 @@
+Index: freetype-2.7.1/modules.cfg
+===================================================================
+--- freetype-2.7.1.orig/modules.cfg
++++ freetype-2.7.1/modules.cfg
+@@ -120,7 +120,7 @@ AUX_MODULES += cache
+ # TrueType GX/AAT table validation.  Needs ftgxval.c below.
+ #
+ # No FT_CONFIG_OPTION_PIC support.
+-# AUX_MODULES += gxvalid
++AUX_MODULES += gxvalid
+ 
+ # Support for streams compressed with gzip (files with suffix .gz).
+ #
+@@ -143,7 +143,7 @@ AUX_MODULES += bzip2
+ # OpenType table validation.  Needs ftotval.c below.
+ #
+ # No FT_CONFIG_OPTION_PIC support.
+-# AUX_MODULES += otvalid
++AUX_MODULES += otvalid
+ 
+ # Auxiliary PostScript driver component to share common code.
+ #
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 36b2c469eaf4..34e7e4a761f4 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, fetchpatch, libjpeg, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "jasper-2.0.10";
+  name = "jasper-2.0.12";
 
   src = fetchurl {
     # You can find this code on Github at https://github.com/mdadams/jasper
     # however note at https://www.ece.uvic.ca/~frodo/jasper/#download
     # not all tagged releases are for distribution.
     url = "http://www.ece.uvic.ca/~mdadams/jasper/software/${name}.tar.gz";
-    sha256 = "1s022mfxyw8jw60fgyj60lbm9h6bc4nk2751b0in8qsjwcl59n2l";
+    sha256 = "1njdbxv7d4anzrd476wjww2qsi96dd8vfnp4hri0srrqxpszl92v";
   };
 
   # newer reconf to recognize a multiout flag
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
     moveToOutput bin "$bin"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://www.ece.uvic.ca/~frodo/jasper/;
     description = "JPEG2000 Library";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index 84638bc01ea6..8c8c181409d4 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jemalloc-${version}";
-  version = "4.3.1";
+  version = "4.5.0";
 
   src = fetchurl {
     url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "12r71i8nm3vwz21fc16rwbb0pwcg5s05n1qg3rwl2s85v0x1ifzp";
+    sha256 = "9409d85664b4f135b77518b0b118c549009dc10f6cba14557d170476611f6780";
   };
 
   # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
   # option should remove the prefix and give us a working jemalloc.
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
 
+  doCheck = true;
+
+
   meta = with stdenv.lib; {
     homepage = http://jemalloc.net;
     description = "General purpose malloc(3) implementation";
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index 8901fef21fd0..69bd6702ef56 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for bin in $out/bin/*; do
       wrapProgram "$bin" \
-        --prefix "PATH" : "$out/bin:${hivex}/bin" \
+        --prefix "PATH" : "$out/bin:${hivex}/bin:${qemu}/bin" \
         --prefix "PERL5LIB" : "$PERL5LIB:$out/lib/perl5/site_perl"
     done
   '';
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 1987bbd323ee..eac07ddbfb19 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -5,7 +5,9 @@
 , libelf, libvdpau, python2
 , grsecEnabled ? false
 , enableRadv ? false
-, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
+# Texture floats are patented, see docs/patents.txt, so we don't enable them for full Mesa.
+# It's overridden for mesa_drivers.
+, enableTextureFloats ? false
 , galliumDrivers ? null
 , driDrivers ? null
 , vulkanDrivers ? null
@@ -63,7 +65,7 @@ let
 in
 
 let
-  version = "17.0.1";
+  version = "17.0.2";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
@@ -78,7 +80,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "96fd70ef5f31d276a17e424e7e1bb79447ccbbe822b56844213ef932e7ad1b0c";
+    sha256 = "f8f191f909e01e65de38d5bdea5fb057f21649a3aed20948be02348e77a689d4";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index aee0b3d7116c..5fb9cc36e962 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig
 
 # Optional Dependencies
-, openssl ? null, libev ? null, zlib ? null, libcares ? null
+, openssl ? null, libev ? null, zlib ? null, c-ares ? null
 , enableHpack ? false, jansson ? null
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
@@ -17,18 +17,18 @@ with { inherit (stdenv.lib) optional; };
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.19.0";
+  version = "1.20.0";
 
   # Don't use fetchFromGitHub since this needs a bootstrap curl
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "477466eee27158d37b4478d9335dd091497cae4d7f2375fc6657beab67db9e7a";
+    sha256 = "fb29d0500b194f11680203aed21aafab241063ec1397cc51ab5cc0957341141b";
   };
 
   outputs = [ "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl libev zlib libcares ]
+  buildInputs = [ openssl libev zlib c-ares ]
     ++ optional enableHpack jansson
     ++ optional enableAsioLib boost
     ++ optional enableGetAssets libxml2
@@ -36,8 +36,14 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  configureFlags = [ "--with-spdylay=no" "--disable-examples" "--disable-python-bindings" ]
+    ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
+
+  #doCheck = true;  # requires CUnit ; currently failing at test_util_localtime_date in util_test.cc
+
+
   meta = with stdenv.lib; {
-    homepage = http://nghttp2.org/;
+    homepage = https://nghttp2.org/;
     description = "A C implementation of HTTP/2";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 2591a43f1d47..a9f8c32dde9b 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -19,7 +19,9 @@ let
 
     patches =
       (args.patches or [])
-      ++ optional (versionOlder version "1.1.0") ./use-etc-ssl-certs.patch
+      ++ [ ./nix-ssl-cert-file.patch ]
+      ++ optional (versionOlder version "1.1.0")
+          (if stdenv.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch)
       ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch
       ++ optional
            (versionOlder version "1.0.2" && (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")))
diff --git a/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch
new file mode 100644
index 000000000000..b615f1482b7c
--- /dev/null
+++ b/pkgs/development/libraries/openssl/nix-ssl-cert-file.patch
@@ -0,0 +1,14 @@
+diff -ru -x '*~' openssl-1.0.2j-orig/crypto/x509/by_file.c openssl-1.0.2j/crypto/x509/by_file.c
+--- openssl-1.0.2j-orig/crypto/x509/by_file.c	2016-09-26 11:49:07.000000000 +0200
++++ openssl-1.0.2j/crypto/x509/by_file.c	2016-10-13 16:54:31.400288302 +0200
+@@ -97,7 +97,9 @@
+     switch (cmd) {
+     case X509_L_FILE_LOAD:
+         if (argl == X509_FILETYPE_DEFAULT) {
+-            file = (char *)getenv(X509_get_default_cert_file_env());
++            file = (char *)getenv("NIX_SSL_CERT_FILE");
++            if (!file)
++                file = (char *)getenv(X509_get_default_cert_file_env());
+             if (file)
+                 ok = (X509_load_cert_crl_file(ctx, file,
+                                               X509_FILETYPE_PEM) != 0);
diff --git a/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch b/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch
new file mode 100644
index 000000000000..3d9ee7e6a822
--- /dev/null
+++ b/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch
@@ -0,0 +1,13 @@
+diff -ru -x '*~' openssl-1.0.1r-orig/crypto/cryptlib.h openssl-1.0.1r/crypto/cryptlib.h
+--- openssl-1.0.1r-orig/crypto/cryptlib.h	2016-01-28 14:38:30.000000000 +0100
++++ openssl-1.0.1r/crypto/cryptlib.h	2016-02-03 12:54:29.193165176 +0100
+@@ -81,8 +81,8 @@
+ 
+ # ifndef OPENSSL_SYS_VMS
+ #  define X509_CERT_AREA          OPENSSLDIR
+ #  define X509_CERT_DIR           OPENSSLDIR "/certs"
+-#  define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
++#  define X509_CERT_FILE          "/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt"
+ #  define X509_PRIVATE_DIR        OPENSSLDIR "/private"
+ # else
+ #  define X509_CERT_AREA          "SSLROOT:[000000]"
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index d226a51d0f8e..8df18530472a 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "pcre2-${version}";
-  version = "10.22";
+  version = "10.23";
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "05pl338962d7syd1rbkg96916mq7d3amz1n2fjnm0v5cyhcldd5j";
+    sha256 = "0vn5g0mkkp99mmzpissa06hpyj6pk9s4mlwbjqrjvw3ihy8rpiyz";
   };
 
   configureFlags = [
@@ -14,6 +14,23 @@ stdenv.mkDerivation rec {
     "--enable-jit"
   ];
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2017-7186-part1.patch";
+      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_ucd.c?view=patch&r1=316&r2=670&sortby=date";
+      sha256 = "10yzglvbn7h06hg7zffr5zh378i5jihvx7d5gggkynws79vgwvfr";
+      stripLen = 2;
+      addPrefixes = true;
+    })
+    (fetchpatch {
+      name = "CVE-2017-7186-part2.patch";
+      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_internal.h?view=patch&r1=600&r2=670&sortby=date";
+      sha256 = "1bggk7vd5hg0bjg96lj4h1lacmr6grq68dm6iz1n7vg3zf7virjn";
+      stripLen = 2;
+      addPrefixes = true;
+    })
+  ];
+
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
 
   postFixup = ''
diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix
deleted file mode 100644
index b7e8fb33387e..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/default.nix
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-
-# Minor Updates
-
-1. Edit ./fetchsrcs.sh to point to the updated URL.
-2. Run ./fetchsrcs.sh.
-3. Build and enjoy.
-
-# Major Updates
-
-1. Make a copy of this directory. (We like to keep the old version around
-   for a short time after major updates.)
-2. Delete the tmp/ subdirectory of the copy.
-3. Follow the minor update instructions above.
-4. Package any new Qt modules, if necessary.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, mesa, perl,
-  libgnomeui, GConf, gnome_vfs,
-  gstreamer, gst-plugins-base,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  mirror = "http://download.qt.io";
-  srcs = import ./srcs.nix { inherit mirror; inherit fetchurl; };
-
-  qtSubmodule = args:
-    let
-      inherit (args) name;
-      inherit (srcs."${args.name}") version src;
-      inherit (stdenv) mkDerivation;
-    in mkDerivation (args // {
-      name = "${name}-${version}";
-      inherit src;
-
-      propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
-      nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.qmakeHook ];
-
-      NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
-
-      outputs = args.outputs or [ "out" "dev" ];
-      setOutputFlags = args.setOutputFlags or false;
-
-      setupHook = ../qtsubmodule-setup-hook.sh;
-
-      enableParallelBuilding = args.enableParallelBuilding or true;
-
-      meta = self.qtbase.meta // (args.meta or {});
-    });
-
-  addPackages = self: with self;
-    let
-      callPackage = self.newScope { inherit qtSubmodule srcs; };
-    in {
-
-      qtbase = callPackage ./qtbase {
-        inherit bison cups harfbuzz mesa;
-        # GNOME dependencies are not used unless gtkStyle == true
-        inherit libgnomeui GConf gnome_vfs;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      /* qt3d = not packaged */
-      /* qtactiveqt = not packaged */
-      /* qtandroidextras = not packaged */
-      /* qtcanvas3d = not packaged */
-      qtconnectivity = callPackage ./qtconnectivity.nix {};
-      qtdeclarative = callPackage ./qtdeclarative {};
-      qtdoc = callPackage ./qtdoc.nix {};
-      qtenginio = callPackage ./qtenginio.nix {};
-      qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ./qtimageformats.nix {};
-      qtlocation = callPackage ./qtlocation.nix {};
-      /* qtmacextras = not packaged */
-      qtmultimedia = callPackage ./qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtquick1 = callPackage ./qtquick1 {};
-      qtquickcontrols = callPackage ./qtquickcontrols.nix {};
-      qtquickcontrols2 = null;
-      qtscript = callPackage ./qtscript {};
-      qtsensors = callPackage ./qtsensors.nix {};
-      qtserialport = callPackage ./qtserialport {};
-      qtsvg = callPackage ./qtsvg.nix {};
-      qttools = callPackage ./qttools {};
-      qttranslations = callPackage ./qttranslations.nix {};
-      /* qtwayland = not packaged */
-      /* qtwebchannel = not packaged */
-      /* qtwebengine = not packaged */
-      qtwebkit = callPackage ./qtwebkit {};
-      qtwebkit-examples = callPackage ./qtwebkit-examples.nix {};
-      qtwebsockets = callPackage ./qtwebsockets.nix {};
-      /* qtwinextras = not packaged */
-      qtx11extras = callPackage ./qtx11extras.nix {};
-      qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-${qtbase.version}" [
-        qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects qtimageformats
-        qtlocation qtmultimedia qtquick1 qtquickcontrols qtscript qtsensors qtserialport
-        qtsvg qttools qttranslations qtwebkit qtwebkit-examples qtwebsockets qtx11extras
-        qtxmlpatterns
-      ];
-
-      makeQtWrapper =
-        makeSetupHook
-        { deps = [ makeWrapper ]; }
-        ../make-qt-wrapper.sh;
-
-      qmakeHook =
-        makeSetupHook
-        { deps = [ self.qtbase.dev ]; }
-        ../qmake-hook.sh;
-
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.5/fetch.sh b/pkgs/development/libraries/qt-5/5.5/fetch.sh
deleted file mode 100755
index 512d985f346a..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/fetch.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/ \
-            http://download.qt.io/community_releases/5.5/5.5.1/ \
-            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch
deleted file mode 100644
index 63c4ab7256a6..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch
+++ /dev/null
@@ -1,321 +0,0 @@
-Index: qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
-@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    endif()
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
-@@ -74,45 +53,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-     )
- 
--!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
--    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
--    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
--    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
--        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
--        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
--        )
--    endif()
--!!ENDIF
- endmacro()
- !!ENDIF
- 
- if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- 
- !!IF !no_module_headers
--!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
--    )
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
-+    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
-+
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_DEBUG_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!ENDIF // CMAKE_RELEASE_TYPE
- 
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE
-     _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_RELEASE_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -329,7 +259,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"@NIX_OUT@/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/qtbase/dbus/Qt5DBusConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/compose-search-path.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/compose-search-path.patch
deleted file mode 100644
index 08d12087f080..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/compose-search-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -68,10 +68,7 @@ void TableGenerator::initPossibleLocatio
-     // the QTCOMPOSE environment variable
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-+    m_possibleLocations.append(QStringLiteral("${libX11}/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
- }
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/decrypt-ssl-traffic.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/decrypt-ssl-traffic.patch
deleted file mode 100644
index 2cb3f7dfa700..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/decrypt-ssl-traffic.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/ssl/qsslsocket_openssl.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/ssl/qsslsocket_openssl.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/ssl/qsslsocket_openssl.cpp
-@@ -48,7 +48,7 @@
- ****************************************************************************/
- 
- //#define QSSLSOCKET_DEBUG
--//#define QT_DECRYPT_SSL_TRAFFIC
-+#define QT_DECRYPT_SSL_TRAFFIC
- 
- #include "qssl_p.h"
- #include "qsslsocket_openssl_p.h"
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
deleted file mode 100644
index 141acfc3e574..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
+++ /dev/null
@@ -1,293 +0,0 @@
-{ stdenv, lib, fetchpatch, copyPathsToStore
-, srcs
-
-, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
-, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
-, fontconfig, freetype, harfbuzz
-, openssl, dbus, glib, udev, libxml2, libxslt, pcre16
-, zlib, libjpeg, libpng, libtiff, sqlite, icu
-
-, coreutils, bison, flex, gdb, gperf, lndir
-, patchelf, perl, pkgconfig, python2
-
-# optional dependencies
-, cups ? null
-, mysql ? null, postgresql ? null
-
-# options
-, mesaSupported, mesa
-, buildExamples ? false
-, buildTests ? false
-, developerBuild ? false
-, libgnomeui, GConf, gnome_vfs, gtk2
-, decryptSslTraffic ? false
-}:
-
-let
-  inherit (srcs.qt5) version;
-  system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
-
-  # Search path for Gtk plugin
-  gtkLibPath = lib.makeLibraryPath [ gtk2 gnome_vfs libgnomeui GConf ];
-
-  dontInvalidateBacking = fetchpatch {
-    url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=0f68f8920573cdce1729a285a92ac8582df32841;hp=24c50f8dcf7fa61ac3c3d4d6295c259a104a2b8c";
-    name = "qtbug-48321-dont-invalidate-backing-store.patch";
-    sha256 = "1wynm2hhbhpvzvsz4vpzzkl0ss5skac6934bva8brcpi5xq68h1q";
-  };
-in
-
-stdenv.mkDerivation {
-
-  name = "qtbase-${version}";
-  inherit version;
-
-  srcs = with srcs; [ qt5.src qtbase.src ];
-
-  sourceRoot = "qt-everywhere-opensource-src-${version}";
-
-  outputs = [ "out" "dev" "gtk" ];
-
-  postUnpack = ''
-    mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
-  '';
-
-  patches =
-    copyPathsToStore (lib.readPathsFromFile ./. ./series)
-    ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
-
-  postPatch =
-    ''
-      cd qtbase
-      patch -p1 <${dontInvalidateBacking}
-      cd ..
-
-      substituteInPlace configure --replace /bin/pwd pwd
-      substituteInPlace qtbase/configure --replace /bin/pwd pwd
-      substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-      sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
-
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5Config.cmake.in"
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5CoreMacros.cmake"
-      sed -i 's/NO_DEFAULT_PATH//' "qtbase/src/gui/Qt5GuiConfigExtras.cmake.in"
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in"
-
-      substituteInPlace qtbase/src/network/kernel/qdnslookup_unix.cpp \
-        --replace "@glibc@" "${stdenv.cc.libc.out}"
-      substituteInPlace qtbase/src/network/kernel/qhostinfo_unix.cpp \
-        --replace "@glibc@" "${stdenv.cc.libc.out}"
-
-      substituteInPlace qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp \
-        --replace "@libXcursor@" "${libXcursor.out}"
-
-      substituteInPlace qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp \
-        --replace "@openssl@" "${openssl.out}"
-
-      substituteInPlace qtbase/src/dbus/qdbus_symbols.cpp \
-        --replace "@dbus_libs@" "${dbus.lib}"
-
-      substituteInPlace \
-        qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
-        --replace "@libX11@" "${libX11.out}"
-    ''
-    + lib.optionalString mesaSupported ''
-      substituteInPlace \
-        qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \
-        --replace "@mesa_lib@" "${mesa.out}"
-      substituteInPlace qtbase/mkspecs/common/linux.conf \
-        --replace "@mesa_lib@" "${mesa.out}" \
-        --replace "@mesa_inc@" "${mesa.dev}"
-    '';
-
-
-  setOutputFlags = false;
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH"
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-
-    configureFlags+="\
-        -plugindir $out/lib/qt5/plugins \
-        -importdir $out/lib/qt5/imports \
-        -qmldir $out/lib/qt5/qml \
-        -docdir $out/share/doc/qt5"
-  '';
-
-  prefixKey = "-prefix ";
-
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
-  # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags = ''
-    -verbose
-    -confirm-license
-    -opensource
-
-    -release
-    -shared
-    -c++11
-    ${lib.optionalString developerBuild "-developer-build"}
-    -largefile
-    -accessibility
-    -rpath
-    -optimized-qmake
-    -strip
-    -no-reduce-relocations
-    -system-proxies
-    -pkg-config
-
-    -gui
-    -widgets
-    -opengl desktop
-    -qml-debug
-    -nis
-    -iconv
-    -icu
-    -pch
-    -glib
-    -xcb
-    -qpa xcb
-    -${lib.optionalString (cups == null) "no-"}cups
-    -gtkstyle
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
-
-    ${lib.optionalString (!system-x86_64) "-no-sse2"}
-    -no-sse3
-    -no-ssse3
-    -no-sse4.1
-    -no-sse4.2
-    -no-avx
-    -no-avx2
-    -no-mips_dsp
-    -no-mips_dspr2
-
-    -system-zlib
-    -system-libpng
-    -system-libjpeg
-    -system-harfbuzz
-    -system-xcb
-    -system-xkbcommon
-    -system-pcre
-    -openssl-linked
-    -dbus-linked
-
-    -system-sqlite
-    -${if mysql != null then "plugin" else "no"}-sql-mysql
-    -${if postgresql != null then "plugin" else "no"}-sql-psql
-
-    -make libs
-    -make tools
-    -${lib.optionalString (buildExamples == false) "no"}make examples
-    -${lib.optionalString (buildTests == false) "no"}make tests
-  '';
-
-  # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
-  # if dependency paths contain the string "pq", which can occur in the hash.
-  # To prevent these failures, we need to override PostgreSQL detection.
-  PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
-
-  propagatedBuildInputs = [
-    dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib
-
-    # Image formats
-    libjpeg libpng libtiff
-
-    # Text rendering
-    fontconfig freetype harfbuzz icu
-
-    # X11 libs
-    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
-    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
-  ]
-  ++ lib.optional mesaSupported mesa;
-
-  buildInputs =
-    [ bison flex gperf ]
-    ++ lib.optional developerBuild gdb
-    ++ lib.optional (cups != null) cups
-    ++ lib.optional (mysql != null) mysql.lib
-    ++ lib.optional (postgresql != null) postgresql
-    # FIXME: move to the main list on rebuild.
-    ++ [gnome_vfs.out libgnomeui.out gtk2 GConf];
-
-  nativeBuildInputs = [ lndir patchelf perl pkgconfig python2 ];
-
-  # freetype-2.5.4 changed signedness of some struct fields
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
-
-  postInstall = ''
-    find "$out" -name "*.cmake" | while read file; do
-        substituteInPlace "$file" \
-            --subst-var-by NIX_OUT "$out" \
-            --subst-var-by NIX_DEV "$dev"
-    done
-  '';
-
-  preFixup = ''
-    # We cannot simply set these paths in configureFlags because libQtCore retains
-    # references to the paths it was built with.
-    moveToOutput "bin" "$dev"
-    moveToOutput "include" "$dev"
-    moveToOutput "mkspecs" "$dev"
-
-    # The destination directory must exist or moveToOutput will do nothing
-    mkdir -p "$dev/share"
-    moveToOutput "share/doc" "$dev"
-
-    # Move the QGtkStyle plugin to the gtk output
-    mkdir -p "$gtk/lib/qt5/plugins/platformthemes"
-    mv "$out/lib/qt5/plugins/platformthemes/libqgtk2.so" "$gtk/lib/qt5/plugins/platformthemes"
-    rm "$out/lib/cmake/Qt5Gui/Qt5Gui_QGtk2ThemePlugin.cmake"
-
-    # Set RPATH for QGtkStyle plugin
-    qgtk2="$gtk/lib/qt5/plugins/platformthemes/libqgtk2.so"
-    qgtk2_RPATH="$(patchelf --print-rpath "$qgtk2")"
-    qgtk2_RPATH="$qgtk2_RPATH''${qgtk2_RPATH:+:}${gtkLibPath}"
-    patchelf "$qgtk2" \
-        --add-needed libgtk-x11-2.0.so \
-        --add-needed libgnomeui-2.so \
-        --add-needed libgnomevfs-2.so \
-        --add-needed libgconf-2.so \
-        --set-rpath "$qgtk2_RPATH"
-  '';
-
-  postFixup =
-    ''
-      # Don't retain build-time dependencies like gdb.
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
-
-      # Move libtool archives and qmake projects
-      if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
-          pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \
-              while read -r file; do
-                  mkdir -p "''${!outputDev}/$(dirname "$file")"
-                  mv "''${!outputLib}/$file" "''${!outputDev}/$file"
-              done
-          popd
-      fi
-    ''
-
-    # fixup .pc file (where to find 'moc' etc.)
-    + lib.optionalString (!stdenv.isDarwin) ''
-      sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
-          -e "/^host_bins=/ c host_bins=$dev/bin"
-    '';
-
-  inherit lndir;
-  setupHook = ../../qtbase-setup-hook.sh;
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = http://www.qt.io;
-    description = "A cross-platform application framework for C++";
-    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel ];
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-dbus.patch
deleted file mode 100644
index 401cfd5c295e..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-dbus.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/dbus/qdbus_symbols.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/dbus/qdbus_symbols.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/dbus/qdbus_symbols.cpp
-@@ -89,7 +89,7 @@ bool qdbus_loadLibDBus()
- #ifdef Q_OS_WIN
-         QLatin1String("dbus-1"),
- #endif
--        QLatin1String("libdbus-1")
-+        QLatin1String("@dbus_libs@/lib/libdbus-1")
-     };
- 
-     lib->unload();
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch
deleted file mode 100644
index 59f510ac54da..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -563,7 +563,12 @@ void (*QGLXContext::getProcAddress(const
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL"));
-+                }
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-libXcursor.patch
deleted file mode 100644
index e66ce1676d30..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-libXcursor.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c
- #ifdef XCB_USE_XLIB
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor"));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-openssl.patch
deleted file mode 100644
index 1cc6fac583b7..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-openssl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -640,8 +640,8 @@ static QPair<QLibrary*, QLibrary*> loadO
- #endif
- #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so
-     // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
--    libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
--    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-+    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
-+    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-     if (libcrypto->load() && libssl->load()) {
-         // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
-         return pair;
-@@ -658,8 +658,8 @@ static QPair<QLibrary*, QLibrary*> loadO
-     //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
-     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
--    libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
--    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
-+    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1);
-+    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1);
-     if (libcrypto->load() && libssl->load()) {
-         // libssl.so.0 and libcrypto.so.0 found
-         return pair;
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-resolv.patch
deleted file mode 100644
index 20e56bf3149e..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-resolv.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qdnslookup_unix.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/kernel/qdnslookup_unix.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qdnslookup_unix.cpp
-@@ -79,7 +79,7 @@ static void resolveLibrary()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/resolv"));
-         if (!lib.load())
-             return;
-     }
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/kernel/qhostinfo_unix.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
-@@ -95,7 +95,7 @@ static void resolveLibrary()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
-         if (!lib.load())
-             return;
-     }
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/libressl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/libressl.patch
deleted file mode 100644
index e483ad14e05e..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/libressl.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001
-From: hasufell <hasufell@gentoo.org>
-Date: Sat, 10 Oct 2015 01:15:01 +0200
-Subject: [PATCH] Fix compilation with libressl
-
-By additionally checking for defined(SSL_CTRL_SET_CURVES), which
-is defined in openssl, but not in libressl.
----
- src/network/ssl/qsslcontext_openssl.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/qtbase/src/network/ssl/qsslcontext_openssl.cpp b/qtbase/src/network/ssl/qsslcontext_openssl.cpp
-index b88ab54..cfc4f6d 100644
---- a/qtbase/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/qtbase/src/network/ssl/qsslcontext_openssl.cpp
-@@ -338,7 +338,7 @@ init_context:
- 
-     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-     if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         // Set the curves to be used
-         if (q_SSLeay() >= 0x10002000L) {
-             // SSL_CTX_ctrl wants a non-const pointer as last argument,
-@@ -352,7 +352,7 @@ init_context:
-                 return sslContext;
-             }
-         } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         {
-             // specific curves requested, but not possible to set -> error
-             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
--- 
-2.6.0
-
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch
deleted file mode 100644
index 56ee0a411d4d..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/mkspecs-libgl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/common/linux.conf
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/mkspecs/common/linux.conf
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/common/linux.conf
-@@ -12,8 +12,8 @@ QMAKE_INCDIR            =
- QMAKE_LIBDIR            =
- QMAKE_INCDIR_X11        =
- QMAKE_LIBDIR_X11        =
--QMAKE_INCDIR_OPENGL     =
--QMAKE_LIBDIR_OPENGL     =
-+QMAKE_INCDIR_OPENGL     = @mesa_inc@/include
-+QMAKE_LIBDIR_OPENGL     = @mesa_lib@/lib
- QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
- QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
- QMAKE_INCDIR_EGL        =
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch
deleted file mode 100644
index b4561db6e77d..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp
-@@ -2498,6 +2498,16 @@ QStringList QCoreApplication::libraryPat
-                 }
-             }
-         }
-+        qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes
-+
-+        // Add library paths derived from NIX_PROFILES.
-+        const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+        const QString plugindir = QString::fromLatin1("/lib/qt5/plugins");
-+        Q_FOREACH (const QByteArray &profile, profiles) {
-+            if (!profile.isEmpty()) {
-+                app_libpaths->append(QFile::decodeName(profile) + plugindir);
-+            }
-+        }
-     }
-     return *(coreappdata()->app_libpaths);
- }
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/series b/pkgs/development/libraries/qt-5/5.5/qtbase/series
deleted file mode 100644
index 1dfd8ac2683c..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/series
+++ /dev/null
@@ -1,10 +0,0 @@
-dlopen-resolv.patch
-tzdir.patch
-dlopen-libXcursor.patch
-dlopen-openssl.patch
-dlopen-dbus.patch
-xdg-config-dirs.patch
-nix-profiles-library-paths.patch
-compose-search-path.patch
-libressl.patch
-cmake-paths.patch
\ No newline at end of file
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/tzdir.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/tzdir.patch
deleted file mode 100644
index 92adeda82735..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/tzdir.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -62,7 +62,10 @@ typedef QHash<QByteArray, QTzTimeZone> Q
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    QString path = qgetenv("TZDIR");
-+    path += "/zone.tab";
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -560,12 +563,18 @@ void QTzTimeZonePrivate::init(const QByt
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first
-+        QString zoneinfoDir = qgetenv("TZDIR");
-+        zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId);
-+        tzif.setFileName(zoneinfoDir);
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/xdg-config-dirs.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/xdg-config-dirs.patch
deleted file mode 100644
index 24dc3bde148d..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/xdg-config-dirs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/io/qsettings.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/io/qsettings.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/io/qsettings.cpp
-@@ -1131,6 +1131,24 @@ QConfFileSettingsPrivate::QConfFileSetti
-     if (!application.isEmpty())
-         confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false));
-     confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false));
-+
-+#if !defined(Q_OS_WIN)
-+    // Add directories specified in $XDG_CONFIG_DIRS
-+    const QString pathEnv = QString::fromLocal8Bit(getenv("XDG_CONFIG_DIRS"));
-+    if (!pathEnv.isEmpty()) {
-+        const QStringList pathEntries = pathEnv.split(QLatin1Char(':'), QString::SkipEmptyParts);
-+        if (!pathEntries.isEmpty()) {
-+            int j = 4; // This is the number of confFiles set above -- we need to start adding $XDG_CONFIG_DIRS after those.
-+            for (int k = 0; k < pathEntries.size() && j < NumConfFiles - 1; ++k) {
-+                const QString& path = pathEntries.at(k);
-+                if (!application.isEmpty())
-+                    confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + appFile, false));
-+                confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + orgFile, false));
-+            }
-+        }
-+    }
-+#endif
-+
- #else
-     QString confName = getPath(format, QSettings::UserScope) + org;
-     if (!application.isEmpty())
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/io/qsettings_p.h
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/io/qsettings_p.h
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/io/qsettings_p.h
-@@ -240,7 +240,7 @@ public:
-         F_Organization = 0x1,
-         F_User = 0x0,
-         F_System = 0x2,
--        NumConfFiles = 4
-+        NumConfFiles = 40 // HACK: increase NumConfFiles from 4 to 40 in order to accommodate more paths in $XDG_CONFIG_DIRS -- ellis
- #else
-         SandboxConfFile = 0,
-         NumConfFiles = 1
diff --git a/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix
deleted file mode 100644
index 95cd6fea79b4..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtconnectivity";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix
deleted file mode 100644
index 9b6a6c46176c..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, python2, qtbase, qtsvg, qtxmlpatterns }:
-
-qtSubmodule {
-  name = "qtdeclarative";
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  qtInputs = [ qtbase qtsvg qtxmlpatterns ];
-  nativeBuildInputs = [ python2 ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch
deleted file mode 100644
index 06b244b974ff..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp
-===================================================================
---- qtdeclarative-opensource-src-5.5.1.orig/src/qml/qml/qqmlimport.cpp
-+++ qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp
-@@ -1549,6 +1549,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add library paths derived from NIX_PROFILES.
-+    const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+    const QString qmldir = QString::fromLatin1("/lib/qt5/qml");
-+    Q_FOREACH (const QByteArray &profile, profiles) {
-+        if (!profile.isEmpty()) {
-+            addImportPath(QFile::decodeName(profile) + qmldir);
-+        }
-+    }
-+
-     // env import paths
-     QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
-     if (!envImportPath.isEmpty()) {
diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/series b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/series
deleted file mode 100644
index 7dbe197c56e0..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/series
+++ /dev/null
@@ -1 +0,0 @@
-nix-profiles-import-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.5/qtdoc.nix b/pkgs/development/libraries/qt-5/5.5/qtdoc.nix
deleted file mode 100644
index 578ea6ba0b22..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtdoc.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtdoc";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtenginio.nix b/pkgs/development/libraries/qt-5/5.5/qtenginio.nix
deleted file mode 100644
index b860a73ef890..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtenginio.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtenginio";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/5.5/qtgraphicaleffects.nix
deleted file mode 100644
index 3273f12eb830..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtgraphicaleffects.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtgraphicaleffects";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtimageformats.nix b/pkgs/development/libraries/qt-5/5.5/qtimageformats.nix
deleted file mode 100644
index 03d0fffbe80e..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtimageformats.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtimageformats";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix b/pkgs/development/libraries/qt-5/5.5/qtlocation.nix
deleted file mode 100644
index 1e134057c4b4..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtlocation.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtmultimedia }:
-
-qtSubmodule {
-  name = "qtlocation";
-  qtInputs = [ qtbase qtmultimedia ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix
deleted file mode 100644
index 7c1cc5da07e3..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative, pkgconfig
-, alsaLib, gstreamer, gst-plugins-base, libpulseaudio
-}:
-
-qtSubmodule {
-  name = "qtmultimedia";
-  qtInputs = [ qtbase qtdeclarative ];
-  buildInputs = [
-    pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
-  ];
-  qmakeFlags = [ "GST_VERSION=1.0" ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix
deleted file mode 100644
index 64937b3dcd37..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, qtscript, qtsvg, qtwebkit, qtxmlpatterns }:
-
-qtSubmodule {
-  name = "qtquick1";
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch
deleted file mode 100644
index c01061d3378b..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: qtquick1-opensource-src-5.5.1/src/declarative/qml/qdeclarativeimport.cpp
-===================================================================
---- qtquick1-opensource-src-5.5.1.orig/src/declarative/qml/qdeclarativeimport.cpp
-+++ qtquick1-opensource-src-5.5.1/src/declarative/qml/qdeclarativeimport.cpp
-@@ -725,6 +725,15 @@ QDeclarativeImportDatabase::QDeclarative
- 
-     addImportPath(installImportsPath);
- 
-+    // Add library paths derived from NIX_PROFILES.
-+    const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+    const QString importdir = QString::fromLatin1("/lib/qt5/imports");
-+    Q_FOREACH (const QByteArray &profile, profiles) {
-+        if (!profile.isEmpty()) {
-+            addImportPath(QFile::decodeName(profile) + importdir);
-+        }
-+    }
-+
-     // env import paths
-     QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
-     if (!envImportPath.isEmpty()) {
diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/series b/pkgs/development/libraries/qt-5/5.5/qtquick1/series
deleted file mode 100644
index 7dbe197c56e0..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtquick1/series
+++ /dev/null
@@ -1 +0,0 @@
-nix-profiles-import-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.5/qtquickcontrols.nix b/pkgs/development/libraries/qt-5/5.5/qtquickcontrols.nix
deleted file mode 100644
index 93a864621b82..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtquickcontrols.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtquickcontrols";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtscript/0001-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.5/qtscript/0001-glib-2.32.patch
deleted file mode 100644
index 887e107b6c1b..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtscript/0001-glib-2.32.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From abd80356449bb36c8adcc5c9ca1df6b47715d265 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:13:34 -0500
-Subject: [PATCH] glib-2.32
-
----
- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix
deleted file mode 100644
index 127766e2ebd6..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, qtbase, qttools }:
-
-qtSubmodule {
-  name = "qtscript";
-  qtInputs = [ qtbase qttools ];
-  patches = [ ./0001-glib-2.32.patch ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix
deleted file mode 100644
index 61e64dc47e4d..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtsensors";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch
deleted file mode 100644
index 3a813dc80074..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d81c2c870b9bea8fb8e6b85baefb06542f568338 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:16:02 -0500
-Subject: [PATCH] dlopen serialport udev
-
----
- src/serialport/qtudev_p.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index 6f2cabd..81b9849 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -105,9 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
--        udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+        udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1);
-         if (!udevLibrary->load()) {
--            udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+            udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0);
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix
deleted file mode 100644
index 2bffd0a2bd61..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ qtSubmodule, qtbase, substituteAll, systemd }:
-
-qtSubmodule {
-  name = "qtserialport";
-  qtInputs = [ qtbase ];
-  patches = [
-    (substituteAll {
-      src = ./0001-dlopen-serialport-udev.patch;
-      libudev = systemd.lib;
-    })
-  ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix
deleted file mode 100644
index b9ccac7cf933..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtsvg";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qttools/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.5/qttools/cmake-paths.patch
deleted file mode 100644
index fe5bcadbe9a8..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qttools/cmake-paths.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Index: qttools-opensource-src-5.5.1/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-===================================================================
---- qttools-opensource-src-5.5.1.orig/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ qttools-opensource-src-5.5.1/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-Index: qttools-opensource-src-5.5.1/src/linguist/Qt5LinguistToolsConfig.cmake.in
-===================================================================
---- qttools-opensource-src-5.5.1.orig/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ qttools-opensource-src-5.5.1/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,10 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +58,10 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +72,10 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.5/qttools/default.nix b/pkgs/development/libraries/qt-5/5.5/qttools/default.nix
deleted file mode 100644
index d72d7b6c64cb..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qttools/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, qtbase }:
-
-qtSubmodule {
-  name = "qttools";
-  qtInputs = [ qtbase ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  postFixup = ''
-    moveToOutput "bin/qdbus" "$out"
-    moveToOutput "bin/qtpaths" "$out"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qttools/series b/pkgs/development/libraries/qt-5/5.5/qttools/series
deleted file mode 100644
index 6cc1d3b87bca..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qttools/series
+++ /dev/null
@@ -1 +0,0 @@
-cmake-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.5/qttranslations.nix b/pkgs/development/libraries/qt-5/5.5/qttranslations.nix
deleted file mode 100644
index 50fc8cf6826a..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qttranslations.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qttools }:
-
-qtSubmodule {
-  name = "qttranslations";
-  qtInputs = [ qttools ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix
deleted file mode 100644
index 64f85c42d198..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qttools, qtwebkit }:
-
-qtSubmodule {
-  name = "qtwebkit-examples";
-  qtInputs = [ qttools qtwebkit ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch
deleted file mode 100644
index 0eeacce1bc05..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 862ce7d357a3ec32683ac6ec7c0ebdc9346b44ba Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:18:54 -0500
-Subject: [PATCH 1/3] dlopen webkit nsplugin
-
----
- Source/WebCore/plugins/qt/PluginPackageQt.cpp                        | 2 +-
- Source/WebCore/plugins/qt/PluginViewQt.cpp                           | 2 +-
- Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49..2731d05 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,7 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
--    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2f..363bde5 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,7 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff6..62a2197 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,7 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch
deleted file mode 100644
index bb5d1f74364c..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6a407d30357c2551abceac75c82f4a1688e47437 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:19:16 -0500
-Subject: [PATCH 2/3] dlopen webkit gtk
-
----
- Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de6521..0b25748 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
--    QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch
deleted file mode 100644
index 1c360cd81aa2..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 864020dd47c3b6d532d9f26b82185904cf9324f2 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:19:29 -0500
-Subject: [PATCH 3/3] dlopen webkit udev
-
----
- Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Source/WebCore/platform/qt/GamepadsQt.cpp b/Source/WebCore/platform/qt/GamepadsQt.cpp
-index 60ff317..da8ac69 100644
---- a/Source/WebCore/platform/qt/GamepadsQt.cpp
-+++ b/Source/WebCore/platform/qt/GamepadsQt.cpp
-@@ -111,12 +111,12 @@ private:
-     bool load()
-     {
-         m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint);
--        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1);
-+        m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1);
-         m_loaded = m_libUdev.load();
-         if (resolveMethods())
-             return true;
- 
--        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
-+        m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0);
-         m_loaded = m_libUdev.load();
-         return resolveMethods();
-     }
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
deleted file mode 100644
index 35568c1eb2f3..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
-, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
-, sqlite, systemd, glib, gst_all_1
-, bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
-, substituteAll
-, flashplayerFix ? false
-}:
-
-with stdenv.lib;
-
-qtSubmodule {
-  name = "qtwebkit";
-  qtInputs = [ qtdeclarative qtlocation qtsensors ];
-  buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ];
-  nativeBuildInputs = [
-    bison2 flex gdb gperf perl pkgconfig python2 ruby
-  ];
-  patches =
-    let dlopen-webkit-nsplugin = substituteAll {
-          src = ./0001-dlopen-webkit-nsplugin.patch;
-          gtk = gtk2.out;
-          gdk_pixbuf = gdk_pixbuf.out;
-        };
-        dlopen-webkit-gtk = substituteAll {
-          src = ./0002-dlopen-webkit-gtk.patch;
-          gtk = gtk2.out;
-        };
-        dlopen-webkit-udev = substituteAll {
-          src = ./0003-dlopen-webkit-udev.patch;
-          libudev = systemd.lib;
-        };
-    in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
-    ++ [ dlopen-webkit-udev ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix
deleted file mode 100644
index fbdfbbcf0dbe..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebsockets";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix
deleted file mode 100644
index a765161e2d7e..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtx11extras";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix
deleted file mode 100644
index 9a8ddbba2bd2..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtxmlpatterns";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.5/srcs.nix b/pkgs/development/libraries/qt-5/5.5/srcs.nix
deleted file mode 100644
index 20aa28a55dae..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/srcs.nix
+++ /dev/null
@@ -1,261 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qt3d-opensource-src-5.5.1.tar.xz";
-      sha256 = "1xqvifsy5x2vj7p51c2z1ly7k2yq7l3byhshnkd2bn6b5dp91073";
-      name = "qt3d-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qt5 = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qt5-opensource-src-5.5.1.tar.xz";
-      sha256 = "0g83vzsj6hdjmagccy6gxgc1l8q0q6663r9xj58ix4lj7hsphf26";
-      name = "qt5-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtactiveqt-opensource-src-5.5.1.tar.xz";
-      sha256 = "09dz5jj7gxa9ds2gw6xw8lacmv27ydhi64370q1ncc7khd0p6g3m";
-      name = "qtactiveqt-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtandroidextras-opensource-src-5.5.1.tar.xz";
-      sha256 = "1cam9zd0kxgyplnaijy91rl8p30j2jbp2ikq9rnigcsglfnx5hd4";
-      name = "qtandroidextras-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtbase-opensource-src-5.5.1.tar.xz";
-      sha256 = "05p91m1d9b3gdfm5pgmxw63rk0fdxqz87s77hn9bdip4syjfi96z";
-      name = "qtbase-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtcanvas3d-opensource-src-5.5.1.tar.xz";
-      sha256 = "105hl3mvsdif416l4dvpxl7r1iw42if8hhrnji8hf4fp6081g6vm";
-      name = "qtcanvas3d-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtconnectivity-opensource-src-5.5.1.tar.xz";
-      sha256 = "08sh4hzib5l26l6mc6iil4nvl807cn9rn5w46vxw0bsqz3gfcdrn";
-      name = "qtconnectivity-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtdeclarative-opensource-src-5.5.1.tar.xz";
-      sha256 = "14b7naaa0rk4q6cxf0w62gvamxk812kr65k82zxkdzrzp3plxlaz";
-      name = "qtdeclarative-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtdoc-opensource-src-5.5.1.tar.xz";
-      sha256 = "11hgw1i1qm2yqzfyg0jsvjda9092hjas35l0bmxn6pvnl5asy3cz";
-      name = "qtdoc-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtenginio = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtenginio-opensource-src-5.5.1.tar.xz";
-      sha256 = "1qpg9pcniqp5xxi2qrc6indqdyn850djk0njiniandbabfykd6d7";
-      name = "qtenginio-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtgraphicaleffects-opensource-src-5.5.1.tar.xz";
-      sha256 = "0irdq4lfbv740mbvd40x62k3zzj0aj8h95gsxg79wa54nf6hzjlv";
-      name = "qtgraphicaleffects-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtimageformats-opensource-src-5.5.1.tar.xz";
-      sha256 = "19alny9bm2lzzlxicbvw56ra4qcxdrnm9054zs4z1y82qq0fwzy9";
-      name = "qtimageformats-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtlocation-opensource-src-5.5.1.tar.xz";
-      sha256 = "05k31nm1p444fixplspgh1d5j4f3xz6z674jpr8497v4hz5lis8z";
-      name = "qtlocation-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtmacextras-opensource-src-5.5.1.tar.xz";
-      sha256 = "0n4hxi9xhnyvp5cxklr9ygg4ficvahak2w73kr9ihqckrkym0lq2";
-      name = "qtmacextras-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtmultimedia-opensource-src-5.5.1.tar.xz";
-      sha256 = "0zwmgmiix56c567qw5xnijd1y43mbjg4jw1n624c31qmyjcwmivw";
-      name = "qtmultimedia-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtquick1 = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtquick1-opensource-src-5.5.1.tar.xz";
-      sha256 = "0b0znnwy2fv5rn368nw7ph2fypz16fchb09id63hm7wbkbjsf4n8";
-      name = "qtquick1-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtquickcontrols-opensource-src-5.5.1.tar.xz";
-      sha256 = "1w7w87c8i6v3p78psmjb30fh9sx7745m5jyjkdi6q1jnss4q6yhv";
-      name = "qtquickcontrols-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtscript-opensource-src-5.5.1.tar.xz";
-      sha256 = "1z98x3758mk24wf0nxxw4lphbxw1xxzl1q27cjqbq8lgk7fxsind";
-      name = "qtscript-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtsensors-opensource-src-5.5.1.tar.xz";
-      sha256 = "1spfr2pn8zz5vz3qz9lzs0wfshmim6hdgf2fpmwpcpcsfb04y9jx";
-      name = "qtsensors-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtserialport-opensource-src-5.5.1.tar.xz";
-      sha256 = "0ylgjscmql3lspzv0cr5n4g1v354frz0yfalvswvkc9x0bxxnd50";
-      name = "qtserialport-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtsvg-opensource-src-5.5.1.tar.xz";
-      sha256 = "1iwibbh835cpxbfh7rnrpvl9k20valr6h256np59rzdy92z8ixgp";
-      name = "qtsvg-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qttools-opensource-src-5.5.1.tar.xz";
-      sha256 = "1zbvr039sv0jzd41ngarxif6954bl50pha8814b5hw3i977gcqa3";
-      name = "qttools-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qttranslations-opensource-src-5.5.1.tar.xz";
-      sha256 = "1im4qzpyp1wqrrrlwc4r56b46w5y4bxg2m0y7wkcmihb1xqh1y21";
-      name = "qttranslations-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwayland-opensource-src-5.5.1.tar.xz";
-      sha256 = "19nxifpg9q785ahzaii2fd2911cg5m0dpk5v041sylm997f4p063";
-      name = "qtwayland-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwebchannel-opensource-src-5.5.1.tar.xz";
-      sha256 = "1l0m5xjxg5va9dwvgf52r52inl4dl3954d16rfiwnkndazp9ahkz";
-      name = "qtwebchannel-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwebengine-opensource-src-5.5.1.tar.xz";
-      sha256 = "141bgr3x7n2vjbsydgll44aq0pcf99gn2l1l1jpim685sf6k4kbw";
-      name = "qtwebengine-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwebkit-examples-opensource-src-5.5.1.tar.xz";
-      sha256 = "1ij65v3nzh5f6rdq43w6vmljjgfw1vky8dd6s4kr093d5ns3b289";
-      name = "qtwebkit-examples-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwebkit-opensource-src-5.5.1.tar.xz";
-      sha256 = "0sbdglcf57lmgbcybimvvbpqikn3blb1pxvd71sdhsiypnfkyn3p";
-      name = "qtwebkit-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwebsockets-opensource-src-5.5.1.tar.xz";
-      sha256 = "1srdn668z62j95q1wwhg6xk2dic407r4wl5yi1qk743vhr586kng";
-      name = "qtwebsockets-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtwinextras-opensource-src-5.5.1.tar.xz";
-      sha256 = "07w5ipiwvvapasjswk0g4ndcp0lq65pz2n6l348zwfb0gand406b";
-      name = "qtwinextras-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtx11extras-opensource-src-5.5.1.tar.xz";
-      sha256 = "0rgbxgp5l212c4vg8z685zv008j9s03mx8p576ny2qibjwfs11v3";
-      name = "qtx11extras-opensource-src-5.5.1.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.5.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.5/5.5.1/submodules/qtxmlpatterns-opensource-src-5.5.1.tar.xz";
-      sha256 = "1v78s0jygg83yzyldwms8zb72cwp718cc5ialc2ki3lqa81fndxm";
-      name = "qtxmlpatterns-opensource-src-5.5.1.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix
deleted file mode 100644
index 91364dd65bb8..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
-
-# Updates
-
-Before a major version update, make a copy of this directory. (We like to
-keep the old version around for a short time after major updates.) Add a
-top-level attribute to `top-level/all-packages.nix`.
-
-1. Update the URL in `maintainers/scripts/generate-qt.sh`.
-2. From the top of the Nixpkgs tree, run
-   `./maintainers/scripts/generate-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
-3. Check that the new packages build correctly.
-4. Commit the changes and open a pull request.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, mesa, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  mirror = "http://download.qt.io";
-  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
-
-  qtSubmodule = args:
-    let
-      inherit (args) name;
-      version = args.version or srcs."${name}".version;
-      src = args.src or srcs."${name}".src;
-      inherit (stdenv) mkDerivation;
-    in mkDerivation (args // {
-      name = "${name}-${version}";
-      inherit src;
-
-      propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
-      nativeBuildInputs =
-        (args.nativeBuildInputs or [])
-        ++ [ perl self.qmakeHook ];
-
-      NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
-
-      outputs = args.outputs or [ "out" "dev" ];
-      setOutputFlags = args.setOutputFlags or false;
-
-      setupHook = ../qtsubmodule-setup-hook.sh;
-
-      enableParallelBuilding = args.enableParallelBuilding or true;
-
-      meta = self.qtbase.meta // (args.meta or {});
-    });
-
-  addPackages = self: with self;
-    let
-      callPackage = self.newScope { inherit qtSubmodule srcs; };
-    in {
-
-      qtbase = callPackage ./qtbase {
-        inherit (srcs.qtbase) src version;
-        inherit bison cups harfbuzz mesa;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      qtconnectivity = callPackage ./qtconnectivity.nix {};
-      qtdeclarative = callPackage ./qtdeclarative {};
-      qtdoc = callPackage ./qtdoc.nix {};
-      qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ./qtimageformats.nix {};
-      qtlocation = callPackage ./qtlocation.nix {};
-      qtmultimedia = callPackage ./qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtquick1 = null;
-      qtquickcontrols = callPackage ./qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {};
-      qtscript = callPackage ./qtscript {};
-      qtsensors = callPackage ./qtsensors.nix {};
-      qtserialport = callPackage ./qtserialport {};
-      qtsvg = callPackage ./qtsvg.nix {};
-      qttools = callPackage ./qttools {};
-      qttranslations = callPackage ./qttranslations.nix {};
-      qtwayland = callPackage ./qtwayland.nix {};
-      qtwebchannel = callPackage ./qtwebchannel.nix {};
-      qtwebengine = callPackage ./qtwebengine {};
-      qtwebkit = callPackage ./qtwebkit {};
-      qtwebsockets = callPackage ./qtwebsockets.nix {};
-      qtx11extras = callPackage ./qtx11extras.nix {};
-      qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-${qtbase.version}" [
-        qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats
-        qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript
-        qtsensors qtserialport qtsvg qttools qttranslations qtwayland
-        qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras
-        qtxmlpatterns
-      ];
-
-      makeQtWrapper =
-        makeSetupHook
-        { deps = [ makeWrapper dconf.lib gtk ]; }
-        (if stdenv.isDarwin then ../make-qt-wrapper-darwin.sh else ../make-qt-wrapper.sh);
-
-      qmakeHook =
-        makeSetupHook
-        { deps = [ self.qtbase.dev ]; }
-        (if stdenv.isDarwin then ../qmake-hook-darwin.sh else ../qmake-hook.sh);
-
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.7/fetch.sh b/pkgs/development/libraries/qt-5/5.7/fetch.sh
deleted file mode 100644
index 6a6a34d520d6..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/fetch.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.7/5.7.1/submodules/ \
-            http://download.qt.io/community_releases/5.7/5.7.1/ \
-            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch
deleted file mode 100644
index 0d5c2d510929..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch
+++ /dev/null
@@ -1,385 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
-@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    endif()
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
-@@ -74,45 +53,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-     )
- 
--!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
--    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
--    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
--    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
--        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
--        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
--        )
--    endif()
--!!ENDIF
- endmacro()
- !!ENDIF
- 
- if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- 
- !!IF !no_module_headers
--!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
--    )
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
-+    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
-+
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_DEBUG_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!ENDIF // CMAKE_RELEASE_TYPE
- 
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE
-     _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_RELEASE_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-Index: qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/mkspecs/features/create_cmake.prf
-+++ qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf
-@@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
- 
-     win32 {
-         isEmpty(CMAKE_STATIC_TYPE) {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll
-         } else:mingw {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a
-         } else {                         # MSVC static
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib
-         }
-     } else {
-         mac {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         } else {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         }
-     }
-     cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
-Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch
deleted file mode 100644
index a0e344a7bc68..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/compose-search-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ qtbase-opensource-src-5.7.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -257,10 +257,7 @@ void TableGenerator::initPossibleLocatio
-     // the QTCOMPOSE environment variable
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-+    m_possibleLocations.append(QStringLiteral("${libX11}/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
- }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch
deleted file mode 100644
index 495db07cfbb5..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/decrypt-ssl-traffic.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/network/ssl/qsslsocket_openssl.cpp
-+++ qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp
-@@ -48,7 +48,7 @@
- ****************************************************************************/
- 
- //#define QSSLSOCKET_DEBUG
--//#define QT_DECRYPT_SSL_TRAFFIC
-+#define QT_DECRYPT_SSL_TRAFFIC
- 
- #include "qssl_p.h"
- #include "qsslsocket_openssl_p.h"
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
deleted file mode 100644
index f41e8da11931..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
+++ /dev/null
@@ -1,313 +0,0 @@
-{
-  stdenv, lib, copyPathsToStore,
-  src, version,
-
-  coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
-  ruby,
-  darwin, libiconv,
-
-  dbus, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite,
-  libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
-  libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, sqlite, udev,
-  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xlibs,
-  zlib,
-
-  # optional dependencies
-  cups ? null, mysql ? null, postgresql ? null,
-
-  # options
-  mesaSupported ? (!stdenv.isDarwin),
-  mesa,
-  buildExamples ? false,
-  buildTests ? false,
-  developerBuild ? false,
-  decryptSslTraffic ? false
-}:
-
-let
-  system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
-in
-
-stdenv.mkDerivation {
-
-  name = "qtbase-${version}";
-  inherit src version;
-
-  outputs = [ "out" "dev" ];
-
-  patches =
-    copyPathsToStore (lib.readPathsFromFile ./. ./series)
-    ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)]
-    ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
-
-  postPatch =
-    ''
-      substituteInPlace configure --replace /bin/pwd pwd
-      substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-      sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
-
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5Config.cmake.in"
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5CoreMacros.cmake"
-      sed -i 's/NO_DEFAULT_PATH//' "src/gui/Qt5GuiConfigExtras.cmake.in"
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in"
-
-      substituteInPlace src/network/kernel/qdnslookup_unix.cpp \
-        --replace "@glibc@" "${stdenv.cc.libc.out}"
-      substituteInPlace src/network/kernel/qhostinfo_unix.cpp \
-        --replace "@glibc@" "${stdenv.cc.libc.out}"
-
-      substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \
-        --replace "@openssl@" "${openssl.out}"
-    '' + lib.optionalString stdenv.isLinux ''
-      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
-        --replace "@libXcursor@" "${libXcursor.out}"
-
-      substituteInPlace src/dbus/qdbus_symbols.cpp \
-        --replace "@dbus_libs@" "${dbus.lib}"
-
-      substituteInPlace \
-        src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
-        --replace "@libX11@" "${libX11.out}"
-    ''
-    + lib.optionalString mesaSupported ''
-      substituteInPlace \
-        src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \
-        --replace "@mesa_lib@" "${mesa.out}"
-      substituteInPlace mkspecs/common/linux.conf \
-        --replace "@mesa_lib@" "${mesa.out}" \
-        --replace "@mesa_inc@" "${mesa.dev or mesa}"
-    ''+ lib.optionalString stdenv.isDarwin ''
-      sed -i \
-          -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
-          -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
-          -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot="${darwin.apple_sdk.sdk}"|' \
-          -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
-          -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
-          -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
-          -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
-          ./configure
-      sed -i '3,$d' ./mkspecs/features/mac/default_pre.prf
-      sed -i '26,$d' ./mkspecs/features/mac/default_post.prf
-      sed -i '1,$d' ./mkspecs/features/mac/sdk.prf
-      sed 's/QMAKE_LFLAGS_RPATH      = -Wl,-rpath,/QMAKE_LFLAGS_RPATH      =/' -i ./mkspecs/common/mac.conf
-     '';
-     # Note on the above: \x27 is a way if including a single-quote
-     # character in the sed string arguments.
-
-  setOutputFlags = false;
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH"
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-
-    configureFlags+="\
-        -plugindir $out/lib/qt5/plugins \
-        -importdir $out/lib/qt5/imports \
-        -qmldir $out/lib/qt5/qml \
-        -docdir $out/share/doc/qt5"
-  '';
-
-  prefixKey = "-prefix ";
-
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
-  # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags = ''
-    -verbose
-    -confirm-license
-    -opensource
-
-    -release
-    -shared
-    ${lib.optionalString developerBuild "-developer-build"}
-    -largefile
-    -accessibility
-    -optimized-qmake
-    -strip
-    -no-reduce-relocations
-    -system-proxies
-    -pkg-config
-
-    -gui
-    -widgets
-    -opengl desktop
-    -qml-debug
-    -iconv
-    -icu
-    -pch
-
-    ${lib.optionalString (!system-x86_64) "-no-sse2"}
-    -no-sse3
-    -no-ssse3
-    -no-sse4.1
-    -no-sse4.2
-    -no-avx
-    -no-avx2
-    -no-mips_dsp
-    -no-mips_dspr2
-
-    -system-zlib
-    -system-libpng
-    -system-libjpeg
-    -system-harfbuzz
-    -system-pcre
-    -openssl-linked
-
-    -system-sqlite
-    -${if mysql != null then "plugin" else "no"}-sql-mysql
-    -${if postgresql != null then "plugin" else "no"}-sql-psql
-
-    -make libs
-    -make tools
-    -${lib.optionalString (buildExamples == false) "no"}make examples
-    -${lib.optionalString (buildTests == false) "no"}make tests
-    -v
-  '' + lib.optionalString (!stdenv.isDarwin) ''
-    -no-rpath
-    -glib
-    -xcb
-    -qpa xcb
-
-    -${lib.optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
-
-    -libinput
-    -gtk
-    -system-xcb
-    -system-xkbcommon
-    -dbus-linked
-  '' + lib.optionalString stdenv.isDarwin ''
-    -platform macx-clang
-    -no-use-gold-linker
-    -no-fontconfig
-    -qt-freetype
-   '';
-
-  # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
-  # if dependency paths contain the string "pq", which can occur in the hash.
-  # To prevent these failures, we need to override PostgreSQL detection.
-  PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
-
-  propagatedBuildInputs = [
-    libxml2 libxslt openssl pcre16 sqlite zlib
-
-    # Text rendering
-    harfbuzz icu
-
-    # Image formats
-    libjpeg libpng libtiff
-  ]
-  ++ lib.optional mesaSupported mesa
-  ++ lib.optionals (!stdenv.isDarwin) [
-    dbus glib udev
-
-    # Text rendering
-    fontconfig freetype
-
-    # X11 libs
-    libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
-    xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
-   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    ApplicationServices CoreServices AppKit Carbon OpenGL AGL Cocoa
-    DiskArbitration darwin.cf-private libiconv darwin.apple_sdk.sdk
-  ]);
-
-  buildInputs = [ ]
-    ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ]
-    ++ lib.optional developerBuild gdb
-    ++ lib.optional (cups != null) cups
-    ++ lib.optional (mysql != null) mysql.lib
-    ++ lib.optional (postgresql != null) postgresql;
-
-  nativeBuildInputs = [ bison flex gperf lndir perl pkgconfig python2 ] ++ lib.optional (!stdenv.isDarwin) patchelf;
-
-  # freetype-2.5.4 changed signedness of some struct fields
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"
-    + lib.optionalString stdenv.isDarwin " -D__MAC_OS_X_VERSION_MAX_ALLOWED=1090 -D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))";
-  # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
-  # 10.9 which necessitates the above macro definition that mentions
-  # 10.10
-
-  postInstall = ''
-    find "$out" -name "*.cmake" | while read file; do
-        substituteInPlace "$file" \
-            --subst-var-by NIX_OUT "$out" \
-            --subst-var-by NIX_DEV "$dev"
-    done
-  '';
-
-  preFixup = ''
-    # We cannot simply set these paths in configureFlags because libQtCore retains
-    # references to the paths it was built with.
-    moveToOutput "bin" "$dev"
-    moveToOutput "include" "$dev"
-    moveToOutput "mkspecs" "$dev"
-
-    # The destination directory must exist or moveToOutput will do nothing
-    mkdir -p "$dev/share"
-    moveToOutput "share/doc" "$dev"
-  '';
-
-  postFixup =
-    ''
-      # Don't retain build-time dependencies like gdb.
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
-
-      # Move libtool archives and qmake projects
-      if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
-          pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la'${if stdenv.isDarwin then "" else "-o -name '*.prl'"} | \
-              while read -r file; do
-                  mkdir -p "''${!outputDev}/$(dirname "$file")"
-                  mv "''${!outputLib}/$file" "''${!outputDev}/$file"
-              done
-          popd
-      fi
-    ''
-
-    # fixup .pc file (where to find 'moc' etc.)
-    + lib.optionalString (!stdenv.isDarwin) ''
-      sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
-          -e "/^host_bins=/ c host_bins=$dev/bin"
-    ''
-
-    # Don't move .prl files on darwin because they end up in
-    # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent
-    # use of lndir in the qtbase setup-hook. On Linux, the .prl files
-    # are in lib, and so do not cause a subsequent recreation of deep
-    # framework directory trees.
-    + lib.optionalString stdenv.isDarwin ''
-      fixDarwinDylibNames_rpath() {
-        local flags=()
-
-        for fn in "$@"; do
-          flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
-        done
-
-        for fn in "$@"; do
-          echo "$fn: fixing dylib"
-          install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
-        done
-      }
-      fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
-    '';
-
-  inherit lndir;
-  setupHook = if stdenv.isDarwin
-              then ../../qtbase-setup-hook-darwin.sh
-              else ../../qtbase-setup-hook.sh;
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = http://www.qt.io;
-    description = "A cross-platform application framework for C++";
-    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel ];
-    platforms = platforms.unix;
-  };
-
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch
deleted file mode 100644
index 10b0b6701ddc..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-dbus.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/dbus/qdbus_symbols.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/dbus/qdbus_symbols.cpp
-+++ qtbase-opensource-src-5.7.0/src/dbus/qdbus_symbols.cpp
-@@ -97,7 +97,7 @@ bool qdbus_loadLibDBus()
- #ifdef Q_OS_WIN
-         QLatin1String("dbus-1"),
- #endif
--        QLatin1String("libdbus-1")
-+        QLatin1String("@dbus_libs@/lib/libdbus-1")
-     };
- 
-     lib->unload();
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch
deleted file mode 100644
index ea3073ced50a..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -563,7 +563,12 @@ void (*QGLXContext::getProcAddress(const
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL"));
-+                }
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gtkstyle.patch
deleted file mode 100644
index 755b0965cf5f..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-gtkstyle.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/src/widgets/styles/qgtk2painter.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/widgets/styles/qgtk2painter.cpp
-+++ qtbase-opensource-src-5.5.1/src/widgets/styles/qgtk2painter.cpp
-@@ -96,7 +96,7 @@ static void initGtk()
-     static bool initialized = false;
-     if (!initialized) {
-         // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--        QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+        QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-         QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
-         QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
-Index: qtbase-opensource-src-5.5.1/src/widgets/styles/qgtkstyle_p.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/widgets/styles/qgtkstyle_p.cpp
-+++ qtbase-opensource-src-5.5.1/src/widgets/styles/qgtkstyle_p.cpp
-@@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus
- void QGtkStylePrivate::resolveGtk() const
- {
-     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-@@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons
-     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
-     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
- 
--    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
--    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-+    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
-+    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
- }
- 
- /* \internal
-@@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets
- static bool resolveGConf()
- {
-     if (!QGtkStylePrivate::gconf_client_get_default) {
--        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
--        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
--        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
-+        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
-+        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
-+        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
-     }
-     return (QGtkStylePrivate::gconf_client_get_default !=0);
- }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch
deleted file mode 100644
index 02b7efb73d22..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-libXcursor.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/plugins/platforms/xcb/qxcbcursor.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ qtbase-opensource-src-5.7.0/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -309,10 +309,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c
- #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor"));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch
deleted file mode 100644
index 9891bfeac5bf..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-openssl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslsocket_openssl_symbols.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ qtbase-opensource-src-5.7.0/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -658,8 +658,8 @@ static QPair<QLibrary*, QLibrary*> loadO
- #endif
- #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so
-     // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
--    libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
--    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-+    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
-+    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-     if (libcrypto->load() && libssl->load()) {
-         // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
-         return pair;
-@@ -676,8 +676,8 @@ static QPair<QLibrary*, QLibrary*> loadO
-     //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
-     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
--    libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
--    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
-+    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1);
-+    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1);
-     if (libcrypto->load() && libssl->load()) {
-         // libssl.so.0 and libcrypto.so.0 found
-         return pair;
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch
deleted file mode 100644
index 98a3610f5fbd..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/dlopen-resolv.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/network/kernel/qdnslookup_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/network/kernel/qdnslookup_unix.cpp
-+++ qtbase-opensource-src-5.7.0/src/network/kernel/qdnslookup_unix.cpp
-@@ -85,7 +85,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/resolv"));
-         if (!lib.load())
-             return false;
-     }
-Index: qtbase-opensource-src-5.7.0/src/network/kernel/qhostinfo_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/network/kernel/qhostinfo_unix.cpp
-+++ qtbase-opensource-src-5.7.0/src/network/kernel/qhostinfo_unix.cpp
-@@ -100,7 +100,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
-         if (!lib.load())
-             return false;
-     }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch
deleted file mode 100644
index 4390db977a71..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/libressl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001
-From: hasufell <hasufell@gentoo.org>
-Date: Sat, 10 Oct 2015 01:15:01 +0200
-Subject: [PATCH] Fix compilation with libressl
-
-By additionally checking for defined(SSL_CTRL_SET_CURVES), which
-is defined in openssl, but not in libressl.
----
- src/network/ssl/qsslcontext_openssl.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/network/ssl/qsslcontext_openssl.cpp
-+++ qtbase-opensource-src-5.7.0/src/network/ssl/qsslcontext_openssl.cpp
-@@ -347,7 +347,7 @@ init_context:
- 
-     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-     if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         // Set the curves to be used
-         if (q_SSLeay() >= 0x10002000L) {
-             // SSL_CTX_ctrl wants a non-const pointer as last argument,
-@@ -360,7 +360,7 @@ init_context:
-                 sslContext->errorCode = QSslError::UnspecifiedError;
-             }
-         } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         {
-             // specific curves requested, but not possible to set -> error
-             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch
deleted file mode 100644
index fda3d3e36533..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/mkspecs-libgl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/mkspecs/common/linux.conf
-+++ qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf
-@@ -12,8 +12,8 @@ QMAKE_INCDIR            =
- QMAKE_LIBDIR            =
- QMAKE_INCDIR_X11        =
- QMAKE_LIBDIR_X11        =
--QMAKE_INCDIR_OPENGL     =
--QMAKE_LIBDIR_OPENGL     =
-+QMAKE_INCDIR_OPENGL     = @mesa_inc@/include
-+QMAKE_LIBDIR_OPENGL     = @mesa_lib@/lib
- QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
- QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
- QMAKE_INCDIR_EGL        =
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch
deleted file mode 100644
index ebaf3651a6d0..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/nix-profiles-library-paths.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/corelib/kernel/qcoreapplication.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/kernel/qcoreapplication.cpp
-+++ qtbase-opensource-src-5.7.0/src/corelib/kernel/qcoreapplication.cpp
-@@ -2487,7 +2487,17 @@ QStringList QCoreApplication::libraryPat
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from NIX_PROFILES.
-+        const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+        const QString plugindir = QString::fromLatin1("/lib/qt5/plugins");
-+        for (const QByteArray &profile: profiles) {
-+            if (!profile.isEmpty()) {
-+                app_libpaths->append(QFile::decodeName(profile) + plugindir);
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-+        qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-             for (QStringList::const_iterator it = paths.constBegin(); it != paths.constEnd(); ++it) {
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/series b/pkgs/development/libraries/qt-5/5.7/qtbase/series
deleted file mode 100644
index 2196d8383752..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/series
+++ /dev/null
@@ -1,9 +0,0 @@
-dlopen-resolv.patch
-tzdir.patch
-dlopen-libXcursor.patch
-dlopen-openssl.patch
-dlopen-dbus.patch
-xdg-config-dirs.patch
-nix-profiles-library-paths.patch
-compose-search-path.patch
-libressl.patch
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch
deleted file mode 100644
index f4056dd9cc97..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/tzdir.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/corelib/tools/qtimezoneprivate_tz.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ qtbase-opensource-src-5.7.0/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -68,7 +68,10 @@ typedef QHash<QByteArray, QTzTimeZone> Q
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    QString path = qgetenv("TZDIR");
-+    path += "/zone.tab";
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -566,12 +569,18 @@ void QTzTimeZonePrivate::init(const QByt
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first
-+        QString zoneinfoDir = qgetenv("TZDIR");
-+        zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId);
-+        tzif.setFileName(zoneinfoDir);
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch
deleted file mode 100644
index 1f2f316c5b26..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/xdg-config-dirs.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/io/qsettings.cpp
-+++ qtbase-opensource-src-5.7.0/src/corelib/io/qsettings.cpp
-@@ -1161,6 +1161,23 @@ QConfFileSettingsPrivate::QConfFileSetti
-         confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false));
-     confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false));
- 
-+#if !defined(Q_OS_WIN)
-+    // Add directories specified in $XDG_CONFIG_DIRS
-+    const QString pathEnv = QString::fromLocal8Bit(getenv("XDG_CONFIG_DIRS"));
-+    if (!pathEnv.isEmpty()) {
-+        const QStringList pathEntries = pathEnv.split(QLatin1Char(':'), QString::SkipEmptyParts);
-+        if (!pathEntries.isEmpty()) {
-+            int j = 4; // This is the number of confFiles set above -- we need to start adding $XDG_CONFIG_DIRS after those.
-+            for (int k = 0; k < pathEntries.size() && j < NumConfFiles - 1; ++k) {
-+                const QString& path = pathEntries.at(k);
-+                if (!application.isEmpty())
-+                    confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + appFile, false));
-+                confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + orgFile, false));
-+            }
-+        }
-+    }
-+#endif
-+
-     for (i = 0; i < NumConfFiles; ++i) {
-         if (confFiles[i]) {
-             spec = i;
-Index: qtbase-opensource-src-5.7.0/src/corelib/io/qsettings_p.h
-===================================================================
---- qtbase-opensource-src-5.7.0.orig/src/corelib/io/qsettings_p.h
-+++ qtbase-opensource-src-5.7.0/src/corelib/io/qsettings_p.h
-@@ -246,7 +246,7 @@ public:
-         F_Organization = 0x1,
-         F_User = 0x0,
-         F_System = 0x2,
--        NumConfFiles = 4
-+        NumConfFiles = 40 // HACK: increase NumConfFiles from 4 to 40 in order to accommodate more paths in $XDG_CONFIG_DIRS -- ellis
-     };
- 
-     QSettings::Format format;
diff --git a/pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix
deleted file mode 100644
index 95cd6fea79b4..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtconnectivity.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtconnectivity";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix
deleted file mode 100644
index 9b6a6c46176c..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, python2, qtbase, qtsvg, qtxmlpatterns }:
-
-qtSubmodule {
-  name = "qtdeclarative";
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  qtInputs = [ qtbase qtsvg qtxmlpatterns ];
-  nativeBuildInputs = [ python2 ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch
deleted file mode 100644
index 06b244b974ff..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/nix-profiles-import-paths.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp
-===================================================================
---- qtdeclarative-opensource-src-5.5.1.orig/src/qml/qml/qqmlimport.cpp
-+++ qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp
-@@ -1549,6 +1549,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add library paths derived from NIX_PROFILES.
-+    const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
-+    const QString qmldir = QString::fromLatin1("/lib/qt5/qml");
-+    Q_FOREACH (const QByteArray &profile, profiles) {
-+        if (!profile.isEmpty()) {
-+            addImportPath(QFile::decodeName(profile) + qmldir);
-+        }
-+    }
-+
-     // env import paths
-     QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
-     if (!envImportPath.isEmpty()) {
diff --git a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/series b/pkgs/development/libraries/qt-5/5.7/qtdeclarative/series
deleted file mode 100644
index 7dbe197c56e0..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtdeclarative/series
+++ /dev/null
@@ -1 +0,0 @@
-nix-profiles-import-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.7/qtdoc.nix b/pkgs/development/libraries/qt-5/5.7/qtdoc.nix
deleted file mode 100644
index 578ea6ba0b22..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtdoc.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtdoc";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix
deleted file mode 100644
index 3273f12eb830..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtgraphicaleffects.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtgraphicaleffects";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtimageformats.nix b/pkgs/development/libraries/qt-5/5.7/qtimageformats.nix
deleted file mode 100644
index 03d0fffbe80e..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtimageformats.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtimageformats";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtlocation.nix b/pkgs/development/libraries/qt-5/5.7/qtlocation.nix
deleted file mode 100644
index 1e134057c4b4..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtlocation.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtmultimedia }:
-
-qtSubmodule {
-  name = "qtlocation";
-  qtInputs = [ qtbase qtmultimedia ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix
deleted file mode 100644
index a48dd38ae6d2..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtmultimedia.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ stdenv, qtSubmodule, qtbase, qtdeclarative, pkgconfig
-, alsaLib, gstreamer, gst-plugins-base, libpulseaudio
-}:
-
-qtSubmodule {
-  name = "qtmultimedia";
-  qtInputs = [ qtbase qtdeclarative ];
-  buildInputs = [
-    pkgconfig gstreamer gst-plugins-base libpulseaudio
-  ] ++ stdenv.lib.optional stdenv.isLinux alsaLib;
-  qmakeFlags = [ "GST_VERSION=1.0" ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix b/pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix
deleted file mode 100644
index 93a864621b82..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtquickcontrols.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtquickcontrols";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix b/pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix
deleted file mode 100644
index 19750f2fd99d..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtquickcontrols2.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtquickcontrols2";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch
deleted file mode 100644
index 887e107b6c1b..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtscript/0001-glib-2.32.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From abd80356449bb36c8adcc5c9ca1df6b47715d265 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:13:34 -0500
-Subject: [PATCH] glib-2.32
-
----
- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.7/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.7/qtscript/default.nix
deleted file mode 100644
index 127766e2ebd6..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtscript/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, qtbase, qttools }:
-
-qtSubmodule {
-  name = "qtscript";
-  qtInputs = [ qtbase qttools ];
-  patches = [ ./0001-glib-2.32.patch ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtsensors.nix b/pkgs/development/libraries/qt-5/5.7/qtsensors.nix
deleted file mode 100644
index 61e64dc47e4d..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtsensors.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtsensors";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch
deleted file mode 100644
index 3a813dc80074..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtserialport/0001-dlopen-serialport-udev.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d81c2c870b9bea8fb8e6b85baefb06542f568338 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:16:02 -0500
-Subject: [PATCH] dlopen serialport udev
-
----
- src/serialport/qtudev_p.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index 6f2cabd..81b9849 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -105,9 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
--        udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+        udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1);
-         if (!udevLibrary->load()) {
--            udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+            udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0);
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix
deleted file mode 100644
index 2bffd0a2bd61..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ qtSubmodule, qtbase, substituteAll, systemd }:
-
-qtSubmodule {
-  name = "qtserialport";
-  qtInputs = [ qtbase ];
-  patches = [
-    (substituteAll {
-      src = ./0001-dlopen-serialport-udev.patch;
-      libudev = systemd.lib;
-    })
-  ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtsvg.nix b/pkgs/development/libraries/qt-5/5.7/qtsvg.nix
deleted file mode 100644
index b9ccac7cf933..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtsvg.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtsvg";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qttools/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.7/qttools/cmake-paths.patch
deleted file mode 100644
index e3db17e978c2..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qttools/cmake-paths.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff -Naur qttools-opensource-src-5.7.1.orig/src/assistant/help/Qt5HelpConfigExtras.cmake.in qttools-opensource-src-5.7.1/src/assistant/help/Qt5HelpConfigExtras.cmake.in
---- qttools-opensource-src-5.7.1.orig/src/assistant/help/Qt5HelpConfigExtras.cmake.in	2016-11-03 09:31:16.000000000 +0100
-+++ qttools-opensource-src-5.7.1/src/assistant/help/Qt5HelpConfigExtras.cmake.in	2017-02-28 16:37:20.130457615 +0100
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-@@ -17,11 +16,10 @@
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-diff -Naur qttools-opensource-src-5.7.1.orig/src/linguist/Qt5LinguistToolsConfig.cmake.in qttools-opensource-src-5.7.1/src/linguist/Qt5LinguistToolsConfig.cmake.in
---- qttools-opensource-src-5.7.1.orig/src/linguist/Qt5LinguistToolsConfig.cmake.in	2016-11-03 09:31:16.000000000 +0100
-+++ qttools-opensource-src-5.7.1/src/linguist/Qt5LinguistToolsConfig.cmake.in	2017-02-28 16:35:40.470100681 +0100
-@@ -44,11 +44,10 @@
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +58,10 @@
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +72,10 @@
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.7/qttools/default.nix b/pkgs/development/libraries/qt-5/5.7/qttools/default.nix
deleted file mode 100644
index d72d7b6c64cb..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qttools/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, qtbase }:
-
-qtSubmodule {
-  name = "qttools";
-  qtInputs = [ qtbase ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  postFixup = ''
-    moveToOutput "bin/qdbus" "$out"
-    moveToOutput "bin/qtpaths" "$out"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qttools/series b/pkgs/development/libraries/qt-5/5.7/qttools/series
deleted file mode 100644
index 6cc1d3b87bca..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qttools/series
+++ /dev/null
@@ -1 +0,0 @@
-cmake-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.7/qttranslations.nix b/pkgs/development/libraries/qt-5/5.7/qttranslations.nix
deleted file mode 100644
index 50fc8cf6826a..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qttranslations.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qttools }:
-
-qtSubmodule {
-  name = "qttranslations";
-  qtInputs = [ qttools ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwayland.nix b/pkgs/development/libraries/qt-5/5.7/qtwayland.nix
deleted file mode 100644
index 6d887f7c650b..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwayland.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ qtSubmodule, qtbase, qtquickcontrols, wayland, pkgconfig }:
-
-qtSubmodule {
-  name = "qtwayland";
-  qtInputs = [ qtbase qtquickcontrols ];
-  buildInputs = [ wayland ];
-  nativeBuildInputs = [ pkgconfig ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix b/pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix
deleted file mode 100644
index fd7a3c52026e..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebchannel.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebchannel";
-  qtInputs = [ qtbase qtdeclarative ];
-}
-
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix
deleted file mode 100644
index 3ce7db5a9321..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ qtSubmodule, qtquickcontrols, qtlocation, qtwebchannel
-
-, xlibs, libXcursor, libXScrnSaver, libXrandr, libXtst
-, fontconfig, freetype, harfbuzz, icu, dbus
-, zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
-, jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
-, alsaLib
-, libcap
-, pciutils
-, systemd
-
-, bison, flex, git, which, gperf
-, coreutils
-, pkgconfig, python2
-, enableProprietaryCodecs ? true
-
-, lib, stdenv # lib.optional, needsPax
-}:
-
-qtSubmodule {
-  name = "qtwebengine";
-  qtInputs = [ qtquickcontrols qtlocation qtwebchannel ];
-  buildInputs = [ bison flex git which gperf ];
-  nativeBuildInputs = [ pkgconfig python2 coreutils ];
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  preConfigure = ''
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-    substituteInPlace ./src/3rdparty/chromium/build/common.gypi \
-      --replace /bin/echo ${coreutils}/bin/echo
-    substituteInPlace ./src/3rdparty/chromium/v8/build/toolchain.gypi \
-      --replace /bin/echo ${coreutils}/bin/echo
-    substituteInPlace ./src/3rdparty/chromium/v8/build/standalone.gypi \
-      --replace /bin/echo ${coreutils}/bin/echo
-
-    # Fix library paths
-    sed -i \
-      -e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \
-      -e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \
-      -e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \
-      src/core/web_engine_library_info.cpp
-
-    sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${systemd.lib}/lib/\1!' \
-      src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
-
-    sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
-      src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
-  '';
-
-  qmakeFlags = lib.optional enableProprietaryCodecs "WEBENGINE_CONFIG+=use_proprietary_codecs";
-
-  propagatedBuildInputs = [
-    dbus zlib minizip alsaLib snappy nss protobuf jsoncpp libevent
-
-    # Image formats
-    libjpeg libpng libtiff libwebp
-
-    # Video formats
-    srtp libvpx
-
-    # Audio formats
-    alsaLib libopus
-
-    # Text rendering
-    fontconfig freetype harfbuzz icu
-
-    # X11 libs
-    xlibs.xrandr libXScrnSaver libXcursor libXrandr xlibs.libpciaccess libXtst
-    xlibs.libXcomposite
-
-    libcap
-    pciutils
-  ];
-  patches = lib.optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
-  postInstall = ''
-    cat > $out/libexec/qt.conf <<EOF
-    [Paths]
-    Prefix = ..
-    EOF
-
-    paxmark m $out/libexec/QtWebEngineProcess
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebengine/qtwebengine-paxmark-mksnapshot.patch b/pkgs/development/libraries/qt-5/5.7/qtwebengine/qtwebengine-paxmark-mksnapshot.patch
deleted file mode 100644
index b3316188f7d9..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebengine/qtwebengine-paxmark-mksnapshot.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- qtwebengine-opensource-src-5.6.0-orig/src/3rdparty/chromium/v8/tools/gyp/v8.gyp	2016-03-04 01:48:36.000000000 +1100
-+++ qtwebengine-opensource-src-5.6.0/src/3rdparty/chromium/v8/tools/gyp/v8.gyp	2016-05-01 19:15:44.052770543 +1000
-@@ -33,6 +33,7 @@
-     'embed_script%': "",
-     'v8_extra_library_files%': [],
-     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'remove_v8base_debug_symbols%': 0,
-   },
-   'includes': ['../../build/toolchain.gypi', '../../build/features.gypi'],
-@@ -1913,7 +1914,7 @@
-         ]
-     },
-     {
--      'target_name': 'mksnapshot',
-+      'target_name': 'mksnapshot_u',
-       'type': 'executable',
-       'dependencies': ['v8_base', 'v8_nosnapshot', 'v8_libplatform'],
-       'include_dirs+': [
-@@ -1936,5 +1937,26 @@
-         }],
-       ],
-     },
-+    {
-+      'target_name': 'mksnapshot',
-+      'type': 'executable',
-+      'dependencies': ['mksnapshot_u'],
-+      'actions': [
-+        {
-+          'action_name': 'paxmark_m_mksnapshot',
-+          'inputs': [
-+            '<(mksnapshot_u_exec)',
-+          ],
-+          'outputs': [
-+            '<(mksnapshot_exec)',
-+          ],
-+          'action': [
-+            'sh',
-+            '-c',
-+            'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxctl -czexm <(mksnapshot_exec)',
-+          ],
-+        },
-+      ],
-+    },
-   ],
- }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebkit/0001-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.7/qtwebkit/0001-dlopen-webkit-nsplugin.patch
deleted file mode 100644
index 0eeacce1bc05..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebkit/0001-dlopen-webkit-nsplugin.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 862ce7d357a3ec32683ac6ec7c0ebdc9346b44ba Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:18:54 -0500
-Subject: [PATCH 1/3] dlopen webkit nsplugin
-
----
- Source/WebCore/plugins/qt/PluginPackageQt.cpp                        | 2 +-
- Source/WebCore/plugins/qt/PluginViewQt.cpp                           | 2 +-
- Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49..2731d05 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,7 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
--    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2f..363bde5 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,7 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff6..62a2197 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,7 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebkit/0002-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.7/qtwebkit/0002-dlopen-webkit-gtk.patch
deleted file mode 100644
index bb5d1f74364c..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebkit/0002-dlopen-webkit-gtk.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6a407d30357c2551abceac75c82f4a1688e47437 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:19:16 -0500
-Subject: [PATCH 2/3] dlopen webkit gtk
-
----
- Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de6521..0b25748 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
--    QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.7/qtwebkit/0003-dlopen-webkit-udev.patch
deleted file mode 100644
index 1c360cd81aa2..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebkit/0003-dlopen-webkit-udev.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 864020dd47c3b6d532d9f26b82185904cf9324f2 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:19:29 -0500
-Subject: [PATCH 3/3] dlopen webkit udev
-
----
- Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Source/WebCore/platform/qt/GamepadsQt.cpp b/Source/WebCore/platform/qt/GamepadsQt.cpp
-index 60ff317..da8ac69 100644
---- a/Source/WebCore/platform/qt/GamepadsQt.cpp
-+++ b/Source/WebCore/platform/qt/GamepadsQt.cpp
-@@ -111,12 +111,12 @@ private:
-     bool load()
-     {
-         m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint);
--        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1);
-+        m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1);
-         m_loaded = m_libUdev.load();
-         if (resolveMethods())
-             return true;
- 
--        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
-+        m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0);
-         m_loaded = m_libUdev.load();
-         return resolveMethods();
-     }
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix
deleted file mode 100644
index 915a6bcae8a8..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
-, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
-, sqlite, systemd, glib, gst_all_1
-, bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
-, substituteAll
-, flashplayerFix ? false
-}:
-
-with stdenv.lib;
-
-qtSubmodule {
-  name = "qtwebkit";
-  qtInputs = [ qtdeclarative qtlocation qtsensors ];
-  buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ];
-  nativeBuildInputs = [
-    bison2 flex gdb gperf perl pkgconfig python2 ruby
-  ];
-  patches =
-    let dlopen-webkit-nsplugin = substituteAll {
-          src = ./0001-dlopen-webkit-nsplugin.patch;
-          gtk = gtk2.out;
-          gdk_pixbuf = gdk_pixbuf.out;
-        };
-        dlopen-webkit-gtk = substituteAll {
-          src = ./0002-dlopen-webkit-gtk.patch;
-          gtk = gtk2.out;
-        };
-        dlopen-webkit-udev = substituteAll {
-          src = ./0003-dlopen-webkit-udev.patch;
-          libudev = systemd.lib;
-        };
-    in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
-    ++ [ dlopen-webkit-udev ];
-  meta.maintainers = with stdenv.lib.maintainers; [ abbradar ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix
deleted file mode 100644
index fbdfbbcf0dbe..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtwebsockets.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebsockets";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.7/qtx11extras.nix
deleted file mode 100644
index a765161e2d7e..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtx11extras.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtx11extras";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix
deleted file mode 100644
index 9a8ddbba2bd2..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/qtxmlpatterns.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtxmlpatterns";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.7/srcs.nix b/pkgs/development/libraries/qt-5/5.7/srcs.nix
deleted file mode 100644
index 3fc4fab4ea54..000000000000
--- a/pkgs/development/libraries/qt-5/5.7/srcs.nix
+++ /dev/null
@@ -1,317 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qt3d-opensource-src-5.7.1.tar.xz";
-      sha256 = "1sh7yz8nb9iqz3bp6bfc2kmji70zq39d9c0sfxnhif3p2x1wyx0x";
-      name = "qt3d-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtactiveqt-opensource-src-5.7.1.tar.xz";
-      sha256 = "1md14jdgwsdczpfvc0qkk5agxqk7a9qs91k41zj15ykkw86r428c";
-      name = "qtactiveqt-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtandroidextras-opensource-src-5.7.1.tar.xz";
-      sha256 = "1wq9m7a3dh9k8z006cw6m96awc53yf5vnq3wdqf5yfclfz696lhg";
-      name = "qtandroidextras-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtbase-opensource-src-5.7.1.tar.xz";
-      sha256 = "0zjmcrmnnmaz1lr9wc5i6y565hsvl8ycn790ivqaz62dv54zbkgd";
-      name = "qtbase-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtcanvas3d-opensource-src-5.7.1.tar.xz";
-      sha256 = "1d5xpq3mhjg4ipxzap7s2vnlfcd02d3yq720npv10xxp2ww0i1x8";
-      name = "qtcanvas3d-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtcharts-opensource-src-5.7.1.tar.xz";
-      sha256 = "1qrzcddwff2hxsbxrraff16j4abah2zkra2756s1mvydj9lyxzl5";
-      name = "qtcharts-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtconnectivity-opensource-src-5.7.1.tar.xz";
-      sha256 = "0rmr7bd4skby7bax9hpj2sid2bq3098nkw7xm02mdp04hc3bks5k";
-      name = "qtconnectivity-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdatavis3d-opensource-src-5.7.1.tar.xz";
-      sha256 = "1y00p0wyj5cw9c2925y537vpmmg9q3kpf7qr1s7sv67dvvf8bzqv";
-      name = "qtdatavis3d-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdeclarative-opensource-src-5.7.1.tar.xz";
-      sha256 = "0mjxfwnplpx60jc6y94krg00isddl9bfwc7dayl981njb4qds4zx";
-      name = "qtdeclarative-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtdeclarative-render2d = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdeclarative-render2d-opensource-src-5.7.1.tar.xz";
-      sha256 = "0zwch9vn17f3bpy300jcfxx6cx9qymk5j7khx0x9k1xqid4166c3";
-      name = "qtdeclarative-render2d-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtdoc-opensource-src-5.7.1.tar.xz";
-      sha256 = "1nyrgfw3d8ja2cqb12vyq5mwryw89976f3xkpdhy49mvsws03ysm";
-      name = "qtdoc-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtgamepad-opensource-src-5.7.1.tar.xz";
-      sha256 = "10lijbsg9xx5ddbbjymdgl41nxz99yn1qgiww2kkggxwwdjj2axv";
-      name = "qtgamepad-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtgraphicaleffects-opensource-src-5.7.1.tar.xz";
-      sha256 = "1j2drnx7zp3w6cgvy7bn00fyk5v7vw1j1hidaqcg78lzb6zgls1c";
-      name = "qtgraphicaleffects-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtimageformats-opensource-src-5.7.1.tar.xz";
-      sha256 = "1x3p1xmw7spxa4bwriyrwsfrq31jabsdjsi5fras9y39naia55sg";
-      name = "qtimageformats-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtlocation-opensource-src-5.7.1.tar.xz";
-      sha256 = "17zkzffzwbg6aqhsggs23cmwzq4y45m938842lsc423hfm7fdsgr";
-      name = "qtlocation-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtmacextras-opensource-src-5.7.1.tar.xz";
-      sha256 = "0rr6nl1j6bq47lcq87zsqyma3cdqysamnngwbaccxvpznpcx7jhx";
-      name = "qtmacextras-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtmultimedia-opensource-src-5.7.1.tar.xz";
-      sha256 = "1vvxmgmvjnz9w1h2ph1j2fy77ij141ycx5fric60lq02pxzifax5";
-      name = "qtmultimedia-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtpurchasing-opensource-src-5.7.1.tar.xz";
-      sha256 = "0hkvrgafz1hx9q4yc3nskv3pd3fszghvvd5a7mj33ynf55wpb57n";
-      name = "qtpurchasing-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtquickcontrols-opensource-src-5.7.1.tar.xz";
-      sha256 = "17cyfyqzjbm9dhq9pjscz36y84y16rmxwk6h826gjfprddrimsvg";
-      name = "qtquickcontrols-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtquickcontrols2-opensource-src-5.7.1.tar.xz";
-      sha256 = "1v77ydy4k15lksp3bi2kgha2h7m79g4n7c2qhbr09xnvpb8ars7j";
-      name = "qtquickcontrols2-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtscript-opensource-src-5.7.1.tar.xz";
-      sha256 = "09m41n95448pszr7inlg03ycb66s1a9hzfylaka92382acf1myav";
-      name = "qtscript-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtscxml-opensource-src-5.7.1.tar.xz";
-      sha256 = "135kknqdmib2cjryfmvfgv7a2qx9pyba3m7i7nkbc5d742r4mbcx";
-      name = "qtscxml-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtsensors-opensource-src-5.7.1.tar.xz";
-      sha256 = "041v1x8pwfzpyk6y0sy5zgm915pi15xdhiy18fd5wqayvcp99cyc";
-      name = "qtsensors-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtserialbus-opensource-src-5.7.1.tar.xz";
-      sha256 = "0mxi43l2inpbar8rmg21qjg33bv3f1ycxjgvzjf12ncnybhdnzkj";
-      name = "qtserialbus-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtserialport-opensource-src-5.7.1.tar.xz";
-      sha256 = "09jsryc0z49cz9783kq48rkn42f10c6krzivp812ddwjsfdy3mbn";
-      name = "qtserialport-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtsvg-opensource-src-5.7.1.tar.xz";
-      sha256 = "0irr9h566hl9nx8p919rz276zbfvvd6vqdb6i9g6b3piikdigw5h";
-      name = "qtsvg-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qttools-opensource-src-5.7.1.tar.xz";
-      sha256 = "1b6zqa5690b8lqms7rrhb8rcq0xg5hp117v3m08qngbcd0i706b4";
-      name = "qttools-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qttranslations-opensource-src-5.7.1.tar.xz";
-      sha256 = "1rsq0bp6p8yf41h1nxrbclxr4xq8v025cbi0lq7yh917ac4xpv0n";
-      name = "qttranslations-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtvirtualkeyboard-opensource-src-5.7.1.tar.xz";
-      sha256 = "1p9acm75am5lybmn8j2339vck808dmayk4xwbr67jpfigs9qp2xj";
-      name = "qtvirtualkeyboard-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwayland-opensource-src-5.7.1.tar.xz";
-      sha256 = "1iq1c89y4ggq0dxjlf62jyhh8a9l3x7y914x84w5pby8h3hwagzj";
-      name = "qtwayland-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebchannel-opensource-src-5.7.1.tar.xz";
-      sha256 = "16rij92dxy4k5231l3dpmhy7cnz0cjkn50cpzaf014zrdz3kmav3";
-      name = "qtwebchannel-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebengine-opensource-src-5.7.1.tar.xz";
-      sha256 = "0ayc3j17nampy7pg464nbi09wr2d3pfbpqql789m0av37lz8h091";
-      name = "qtwebengine-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/community_releases/5.7/5.7.1/qtwebkit-opensource-src-5.7.1.tar.xz";
-      sha256 = "00szgcra6pf2myfjrdbsr1gmrxycpbjqlzkplna5yr1rjg4gfv54";
-      name = "qtwebkit-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/community_releases/5.7/5.7.1/qtwebkit-examples-opensource-src-5.7.1.tar.xz";
-      sha256 = "09c2ni3nf7vdsw1y9yhpbal9zs8jgvi1wndnva6mgdbcnm8h23fm";
-      name = "qtwebkit-examples-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebsockets-opensource-src-5.7.1.tar.xz";
-      sha256 = "1laj0slwibs0bg69kgrdhc9k1s6yisq3pcsr0r9rhbkzisv7aajw";
-      name = "qtwebsockets-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwebview-opensource-src-5.7.1.tar.xz";
-      sha256 = "17qmyayy67ji4d3i3cq0wb8s7hqjrw224zr2blzjc1827rlzkg5k";
-      name = "qtwebview-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtwinextras-opensource-src-5.7.1.tar.xz";
-      sha256 = "1k7kiq0k7qwsn06p6sg13lr8hnnz7lvvsx18gas46dggkyj66514";
-      name = "qtwinextras-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtx11extras-opensource-src-5.7.1.tar.xz";
-      sha256 = "09z49jm70f5i0gcdz9a16z00pg96x8pz7vri5wpirh3fqqn0qnjz";
-      name = "qtx11extras-opensource-src-5.7.1.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.7.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.1/submodules/qtxmlpatterns-opensource-src-5.7.1.tar.xz";
-      sha256 = "1rgqnpg64gn5agmvjwy0am8hp5fpxl3cdkixr1yrsdxi5a6961d8";
-      name = "qtxmlpatterns-opensource-src-5.7.1.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.8/default.nix b/pkgs/development/libraries/qt-5/5.8/default.nix
index f02b80706380..eb26f88f7258 100644
--- a/pkgs/development/libraries/qt-5/5.8/default.nix
+++ b/pkgs/development/libraries/qt-5/5.8/default.nix
@@ -106,13 +106,13 @@ let
 
       makeQtWrapper =
         makeSetupHook
-        { deps = [ makeWrapper dconf.lib gtk3 ]; }
-        ../make-qt-wrapper.sh;
+        { deps = [ makeWrapper ] ++ optionals (!stdenv.isDarwin) [ dconf.lib gtk3 ]; }
+        (if stdenv.isDarwin then ../make-qt-wrapper-darwin.sh else ../make-qt-wrapper.sh);
 
       qmakeHook =
         makeSetupHook
         { deps = [ self.qtbase.dev ]; }
-        ../qmake-hook.sh;
+        (if stdenv.isDarwin then ../qmake-hook-darwin.sh else ../qmake-hook.sh);
 
     };
 
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch b/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths-darwin.patch
index 2fda5ed8cf0c..da7f36542ef9 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch
+++ b/pkgs/development/libraries/qt-5/5.8/qtbase/cmake-paths-darwin.patch
@@ -1,11 +1,11 @@
-Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+Index: qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
  endif()
  !!ENDIF
- 
+
 -!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
 -!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
 -set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
@@ -35,7 +35,7 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
  set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
 @@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
      set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
+
  !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
 +    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
@@ -48,7 +48,7 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
 @@ -74,45 +53,17 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
          \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
      )
- 
+
 -!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
 -!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
 -    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
@@ -64,9 +64,9 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
 -!!ENDIF
  endmacro()
  !!ENDIF
- 
+
  if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- 
+
  !!IF !no_module_headers
 -!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
 -    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
@@ -103,7 +103,7 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
      include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
  !!ENDIF
 @@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- 
+
  !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
  !!IF isEmpty(CMAKE_DEBUG_TYPE)
 -!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
@@ -135,14 +135,14 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
  !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
 @@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
  !!ENDIF // CMAKE_RELEASE_TYPE
- 
+
  !!IF !isEmpty(CMAKE_DEBUG_TYPE)
 -!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
 -    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
 -!!ELSE
      _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
 -!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
- 
+
  !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
  !!IF isEmpty(CMAKE_RELEASE_TYPE)
 -!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
@@ -175,7 +175,7 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
 @@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
      macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
          set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
+
 -!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
 -        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
 -!!ELSE
@@ -185,13 +185,13 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cm
          _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
          set_target_properties(Qt5::${Plugin} PROPERTIES
              \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-Index: qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.8.0/src/gui/Qt5GuiConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
++++ qtbase-opensource-src-5.8.0/src/gui/Qt5GuiConfigExtras.cmake.in
 @@ -2,7 +2,7 @@
  !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
+
  !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
 -set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
 +set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
@@ -200,40 +200,40 @@ Index: qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
  !!ENDIF
 @@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
      set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
+
  !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
 +    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
  !!ELSE
      set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
  !!ENDIF
- 
+
  !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
 -    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
 +    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  !!ELSE
      set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.7.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.8.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ qtbase-opensource-src-5.8.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
      add_executable(Qt5::uic IMPORTED)
- 
+
  !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
      add_executable(Qt5::qmake IMPORTED)
- 
+
  !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
@@ -242,7 +242,7 @@ Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
  !!ENDIF
 @@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
      add_executable(Qt5::moc IMPORTED)
- 
+
  !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
@@ -251,7 +251,7 @@ Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
  !!ENDIF
 @@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
      add_executable(Qt5::rcc IMPORTED)
- 
+
  !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
@@ -269,44 +269,44 @@ Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
  !!ENDIF
 @@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
      set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
+
  !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
  !!ELSE
      set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
 @@ -1,6 +1,6 @@
- 
+
  !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
 -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
 +set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
  !!ELSE
  set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+Index: qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ qtbase-opensource-src-5.8.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
 @@ -1,6 +1,6 @@
- 
+
  !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
 -set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
 +set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
  !!ELSE
  set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.8.0/src/dbus/Qt5DBusConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ qtbase-opensource-src-5.8.0/src/dbus/Qt5DBusConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
      add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
+
  !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
@@ -315,19 +315,19 @@ Index: qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
  !!ENDIF
 @@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
      add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
+
  !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
 -    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
 +    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-Index: qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
+Index: qtbase-opensource-src-5.8.0/mkspecs/features/create_cmake.prf
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/mkspecs/features/create_cmake.prf
-+++ qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
+--- qtbase-opensource-src-5.8.0.orig/mkspecs/features/create_cmake.prf
++++ qtbase-opensource-src-5.8.0/mkspecs/features/create_cmake.prf
 @@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
- 
+
      win32 {
          isEmpty(CMAKE_STATIC_TYPE) {
 -            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
@@ -349,7 +349,7 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
          mac {
              isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
              else: CMAKE_PlUGIN_EXT = .a
- 
+
 -            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
 -            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
 +            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
@@ -357,7 +357,7 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
          } else {
              isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
              else: CMAKE_PlUGIN_EXT = .a
- 
+
 -            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
 -            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
 +            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
@@ -365,13 +365,13 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
          }
      }
      cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
-Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+Index: qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.7.1.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+--- qtbase-opensource-src-5.8.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ qtbase-opensource-src-5.8.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
 @@ -2,10 +2,10 @@
  add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
+
  !!IF !isEmpty(CMAKE_RELEASE_TYPE)
 -_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
 +_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
@@ -380,5 +380,5 @@ Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.c
 -_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
 +_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
  !!ENDIF
- 
+
  list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix
index 7da02525f2de..f881c76c3ad9 100644
--- a/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.8/qtbase/default.nix
@@ -4,6 +4,8 @@
 
   coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
   ruby,
+  # darwin support
+  darwin, libiconv, libcxx,
 
   dbus, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite,
   libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
@@ -15,7 +17,8 @@
   cups ? null, mysql ? null, postgresql ? null,
 
   # options
-  mesaSupported, mesa,
+  mesaSupported ? (!stdenv.isDarwin),
+  mesa,
   buildExamples ? false,
   buildTests ? false,
   developerBuild ? false,
@@ -35,6 +38,7 @@ stdenv.mkDerivation {
 
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
+    ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)]
     ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
     ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
 
@@ -54,11 +58,11 @@ stdenv.mkDerivation {
       substituteInPlace src/network/kernel/qhostinfo_unix.cpp \
         --replace "@glibc@" "${stdenv.cc.libc.out}"
 
-      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
-        --replace "@libXcursor@" "${libXcursor.out}"
-
       substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \
         --replace "@openssl@" "${openssl.out}"
+    '' + lib.optionalString stdenv.isLinux ''
+      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
+        --replace "@libXcursor@" "${libXcursor.out}"
 
       substituteInPlace src/dbus/qdbus_symbols.cpp \
         --replace "@dbus_libs@" "${dbus.lib}"
@@ -74,8 +78,23 @@ stdenv.mkDerivation {
       substituteInPlace mkspecs/common/linux.conf \
         --replace "@mesa_lib@" "${mesa.out}" \
         --replace "@mesa_inc@" "${mesa.dev or mesa}"
-    '';
-
+    ''+ lib.optionalString stdenv.isDarwin ''
+      sed -i \
+          -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
+          -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
+          -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot="${darwin.apple_sdk.sdk}"|' \
+          -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
+          -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
+          -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
+          -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
+          ./configure
+      sed -i '3,$d' ./mkspecs/features/mac/default_pre.prf
+      sed -i '26,$d' ./mkspecs/features/mac/default_post.prf
+      sed -i '1,$d' ./mkspecs/features/mac/sdk.prf
+      sed -i 's/QMAKE_LFLAGS_RPATH      = -Wl,-rpath,/QMAKE_LFLAGS_RPATH      =/' ./mkspecs/common/mac.conf
+     '';
+     # Note on the above: \x27 is a way if including a single-quote
+     # character in the sed string arguments.
 
   setOutputFlags = false;
   preConfigure = ''
@@ -102,7 +121,7 @@ stdenv.mkDerivation {
     -shared
     ${lib.optionalString developerBuild "-developer-build"}
     -accessibility
-    -rpath
+    -optimized-qmake
     -strip
     -no-reduce-relocations
     -system-proxies
@@ -114,15 +133,6 @@ stdenv.mkDerivation {
     -qml-debug
     -icu
     -pch
-    -glib
-    -xcb
-    -qpa xcb
-    -${lib.optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
 
     ${lib.optionalString (!system-x86_64) "-no-sse2"}
     -no-sse3
@@ -135,16 +145,10 @@ stdenv.mkDerivation {
     -no-mips_dspr2
 
     -system-zlib
-    -system-libpng
     -system-libjpeg
     -system-harfbuzz
-    -system-xcb
-    -system-xkbcommon
     -system-pcre
     -openssl-linked
-    -dbus-linked
-    -libinput
-    -gtk
 
     -system-sqlite
     -${if mysql != null then "plugin" else "no"}-sql-mysql
@@ -155,6 +159,31 @@ stdenv.mkDerivation {
     -${lib.optionalString (buildExamples == false) "no"}make examples
     -${lib.optionalString (buildTests == false) "no"}make tests
     -v
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    -rpath
+    -glib
+    -xcb
+    -qpa xcb
+
+    -${lib.optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -libinput
+    -gtk
+    -system-libpng
+    -system-xcb
+    -system-xkbcommon
+    -dbus-linked
+  '' + lib.optionalString stdenv.isDarwin ''
+    -platform macx-clang
+    -no-use-gold-linker
+    -no-fontconfig
+    -qt-freetype
+    -qt-libpng
   '';
 
   # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
@@ -163,32 +192,44 @@ stdenv.mkDerivation {
   PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
 
   propagatedBuildInputs = [
-    dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib
+    libxml2 libxslt openssl pcre16 sqlite zlib
+
+    # Text rendering
+    harfbuzz icu
 
     # Image formats
     libjpeg libpng libtiff
+  ]
+  ++ lib.optional mesaSupported mesa
+  ++ lib.optionals (!stdenv.isDarwin) [
+    dbus glib udev
 
     # Text rendering
-    fontconfig freetype harfbuzz icu
+    fontconfig freetype
 
     # X11 libs
     libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
     xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
-  ]
-  ++ lib.optional mesaSupported mesa;
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ApplicationServices Foundation CoreServices AppKit Carbon OpenGL AGL Cocoa
+    DiskArbitration darwin.cf-private libiconv darwin.apple_sdk.sdk
+  ]);
 
-  buildInputs =
-    [ gtk3 libinput ]
+  buildInputs = [ ]
+    ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ]
     ++ lib.optional developerBuild gdb
     ++ lib.optional (cups != null) cups
     ++ lib.optional (mysql != null) mysql.lib
     ++ lib.optional (postgresql != null) postgresql;
 
-  nativeBuildInputs =
-    [ bison flex gperf lndir patchelf perl pkgconfig python2 ];
+  nativeBuildInputs = [ bison flex gperf lndir perl pkgconfig python2 ] ++ lib.optional (!stdenv.isDarwin) patchelf;
 
   # freetype-2.5.4 changed signedness of some struct fields
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"
+    + lib.optionalString stdenv.isDarwin " -D__MAC_OS_X_VERSION_MAX_ALLOWED=1090 -D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))";
+  # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
+  # 10.9 which necessitates the above macro definition that mentions
+  # 10.10
 
   postInstall = ''
     find "$out" -name "*.cmake" | while read file; do
@@ -218,7 +259,7 @@ stdenv.mkDerivation {
       # Move libtool archives and qmake projects
       if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
           pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \
+          find lib -name '*.a' -o -name '*.la'${if stdenv.isDarwin then "" else "-o -name '*.prl'"} | \
               while read -r file; do
                   mkdir -p "''${!outputDev}/$(dirname "$file")"
                   mv "''${!outputLib}/$file" "''${!outputDev}/$file"
@@ -226,14 +267,12 @@ stdenv.mkDerivation {
           popd
       fi
     ''
-
     # fixup .pc file (where to find 'moc' etc.)
     + lib.optionalString (!stdenv.isDarwin) ''
       sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
           -e "/^host_bins=/ c host_bins=$dev/bin"
     ''
-
-    # Don't move .prl files on darwin because they end up in
+    # Don' move .prl files on darwin because they end up in
     # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent
     # use of lndir in the qtbase setup-hook. On Linux, the .prl files
     # are in lib, and so do not cause a subsequent recreation of deep
@@ -265,8 +304,8 @@ stdenv.mkDerivation {
     homepage = http://www.qt.io;
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ qknight ttuegel periklis ];
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/qt-5/5.8/qtbase/series b/pkgs/development/libraries/qt-5/5.8/qtbase/series
index 44e2d9040807..2196d8383752 100644
--- a/pkgs/development/libraries/qt-5/5.8/qtbase/series
+++ b/pkgs/development/libraries/qt-5/5.8/qtbase/series
@@ -7,4 +7,3 @@ xdg-config-dirs.patch
 nix-profiles-library-paths.patch
 compose-search-path.patch
 libressl.patch
-cmake-paths.patch
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index 93142c269c2d..3c137872707c 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.3.9.0";
+  version = "2.4.0.1";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/skalibs";
     rev = "refs/tags/v${version}";
-    sha256 = "1x52mgf39yiijsj63x0ibp6d3nj0d4z9k9lisa4rzsxs7846za4a";
+    sha256 = "1sdzm2vd9mxlwxbmjajb6n1n13dpsavdap2nbbnyx4wnzixxx9k7";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/development/ocaml-modules/angstrom/default.nix b/pkgs/development/ocaml-modules/angstrom/default.nix
index 755724bc8b82..fadb55907bfe 100644
--- a/pkgs/development/ocaml-modules/angstrom/default.nix
+++ b/pkgs/development/ocaml-modules/angstrom/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ocaml, ocamlbuild, cstruct, result, findlib, ocaml_oasis }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.0";
+  version = "0.4.0";
   name = "ocaml-angstrom-${version}";
 
   src = fetchFromGitHub {
     owner  = "inhabitedtype";
     repo   = "angstrom";
     rev    = "${version}";
-    sha256 = "1x9pvy5vw98ns4pspj7i10pmgqyngn4v4cdlz5pbvwbrpwpn090q";
+    sha256 = "019s3jwhnswa914bgj1fa6q67k0bl2ahqdaqfnavcbyii8763kh2";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix
index 9994d156a4c2..469f808947ab 100644
--- a/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/pkgs/development/ocaml-modules/fmt/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, cmdliner }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, cmdliner, result, uchar }:
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-fmt-0.8.0";
+  name = "ocaml${ocaml.version}-fmt-0.8.2";
 
   src = fetchurl {
-    url = http://erratique.ch/software/fmt/releases/fmt-0.8.0.tbz;
-    sha256 = "16y7ibndnairb53j8a6qgipyqwjxncn4pl9jiw5bxjfjm59108px";
+    url = http://erratique.ch/software/fmt/releases/fmt-0.8.2.tbz;
+    sha256 = "020qz74cm65bzrywf6kylm93gr5x1ayl6hfmxaql995f6whb388i";
   };
 
   unpackCmd = "tar xjf $src";
 
   buildInputs = [ ocaml findlib ocamlbuild opam topkg cmdliner ];
+  propagatedBuildInputs = [ result uchar ];
 
   inherit (topkg) buildPhase installPhase;
 
diff --git a/pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix b/pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix
new file mode 100644
index 000000000000..7d7e44ab9cc1
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/ocaml-compiler-libs.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
+
+stdenv.mkDerivation {
+	name = "ocaml${ocaml.version}-ocaml-compiler-libs-0.9.0"; 
+	src = fetchurl {
+		url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ocaml-compiler-libs-v0.9.0.tar.gz;
+		sha256 = "0ipi56vg227924ahi9vv926jn16br9zfipm6a3xd4xrl5pxkvzaz";
+	};
+
+	buildInputs = [ ocaml jbuilder findlib ];
+
+	inherit (jbuilder) installPhase;
+
+	meta = {
+		description = "OCaml compiler libraries repackaged";
+		homepage = https://github.com/janestreet/ocaml-compiler-libs;
+		license = stdenv.lib.licenses.asl20;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (ocaml.meta) platforms;
+	};
+}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_ast.nix b/pkgs/development/ocaml-modules/janestreet/ppx_ast.nix
new file mode 100644
index 000000000000..33f1766cb4a6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/ppx_ast.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, jbuilder, findlib
+, ocaml-compiler-libs, ocaml-migrate-parsetree
+}:
+
+stdenv.mkDerivation {
+	name = "ocaml${ocaml.version}-ppx_ast-0.9.0";
+	src = fetchurl {
+		url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ppx_ast-v0.9.0.tar.gz;
+		sha256 = "1hirfmxr8hkf3p39k1pqidabxxhd541d6ddfaqpgxbl51bw9ddmz";
+	};
+
+	buildInputs = [ ocaml jbuilder findlib ];
+	propagatedBuildInputs = [ ocaml-compiler-libs ocaml-migrate-parsetree ];
+
+	inherit (jbuilder) installPhase;
+
+	meta = {
+		description = "OCaml AST used by Jane Street ppx rewriters";
+		homepage = https://github.com/janestreet/ppx_ast;
+		license = stdenv.lib.licenses.asl20;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (ocaml.meta) platforms;
+	};
+}
diff --git a/pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix b/pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix
new file mode 100644
index 000000000000..d84983ed6348
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/ppx_traverse_builtins.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, ocaml, jbuilder, findlib }:
+
+stdenv.mkDerivation {
+	name = "ocaml${ocaml.version}-ppx_traverse_builtins-0.9.0";
+	src = fetchurl {
+		url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/ppx_traverse_builtins-v0.9.0.tar.gz;
+		sha256 = "0zmf9kybll0xn8dsj10v260l0zwjyykimqml9rl7xqyjyl1rmnx6";
+	};
+
+	buildInputs = [ ocaml jbuilder findlib ];
+
+	inherit (jbuilder) installPhase;
+
+	meta = {
+		description = "Builtins for Ppx_traverse";
+		homepage = https://github.com/janestreet/ppx_traverse_builtins;
+		license = stdenv.lib.licenses.asl20;
+		inherit (ocaml.meta) platforms;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+	};
+}
diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix
index 9eafa055b240..3fa8e9d46b40 100644
--- a/pkgs/development/ocaml-modules/mysql/default.nix
+++ b/pkgs/development/ocaml-modules/mysql/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, mysql, camlp4 }:
+{ stdenv, fetchurl, ocaml, findlib, mysql }:
 
 # TODO: la versione stabile da' un errore di compilazione dovuto a
 # qualche cambiamento negli header .h
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/870/${pname}-${version}.tar.gz";
-    sha256 = "f896fa101a05d81b85af8122fe1c2809008a5e5fdca00f9ceeb7eec356369e3a";
+    url = "http://ygrek.org.ua/p/release/ocaml-mysql/${name}.tar.gz";
+    sha256 = "06mb2bq7v37wn0lza61917zqgb4bsg1xxb73myjyn88p6khl6yl2";
   };
 
   configureFlags = [ 
@@ -22,17 +22,12 @@ stdenv.mkDerivation rec {
      "--libdir=$out/lib/ocaml/${ocaml.version}/site-lib/mysql"
   ];
 
-  buildInputs = [ocaml findlib camlp4 ];
+  buildInputs = [ ocaml findlib ];
 
   createFindlibDestdir = true;
 
   propagatedBuildInputs = [ mysql.client ];
 
-  buildPhase = ''
-    make
-    make opt
-  '';
-
   meta = {
     homepage = http://ocaml-mysql.forge.ocamlcore.org;
     description = "Bindings for interacting with MySQL databases from ocaml";
diff --git a/pkgs/development/ocaml-modules/stdio/default.nix b/pkgs/development/ocaml-modules/stdio/default.nix
new file mode 100644
index 000000000000..873823300222
--- /dev/null
+++ b/pkgs/development/ocaml-modules/stdio/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, ocaml, jbuilder, findlib, base }:
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-stdio-0.9.0";
+
+  src = fetchurl {
+    url = http://ocaml.janestreet.com/ocaml-core/v0.9/files/stdio-v0.9.0.tar.gz;
+    sha256 = "008b5y03223107gfv8qawdfyjvf5g97l472i5p5v8mp512wr7kj5";
+  };
+
+  buildInputs = [ ocaml jbuilder findlib ];
+  propagatedBuildInputs = [ base ];
+
+  inherit (jbuilder) installPhase;
+
+  meta = {
+    license = stdenv.lib.licenses.asl20;
+    description = "Standard IO library for OCaml";
+    homepage = https://github.com/janestreet/stdio;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/perl-modules/perl-opengl.patch b/pkgs/development/perl-modules/perl-opengl.patch
index 77bba1efa41c..a44dc4f2e42d 100644
--- a/pkgs/development/perl-modules/perl-opengl.patch
+++ b/pkgs/development/perl-modules/perl-opengl.patch
@@ -2,12 +2,14 @@ diff --git a/Makefile.PL b/Makefile.PL
 index 55c485c..8501c02 100644
 --- a/Makefile.PL
 +++ b/Makefile.PL
-@@ -116,12 +116,7 @@ if ($^O eq 'MSWin32' || $IS_W32API)
+@@ -124,14 +124,7 @@ if ($^O eq 'MSWin32' || $IS_W32API)
  # Look for available libs
  our @libdirs = qw
  {
 -  -L/usr/lib
+-  -L/usr/lib/i386-linux-gnu
 -  -L/usr/X11R6/lib
+-  -L/opt/X11/lib
 -  -L/usr/local/lib
 -  -L/usr/openwin/lib
 -  -L/opt/csw/lib
diff --git a/pkgs/development/python-modules/btrees-py35.patch b/pkgs/development/python-modules/btrees-py35.patch
deleted file mode 100644
index 77e47d670b9b..000000000000
--- a/pkgs/development/python-modules/btrees-py35.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From eee0beef88d135640871050b40844272a3aee790 Mon Sep 17 00:00:00 2001
-From: Tres Seaver <tseaver@palladion.com>
-Date: Tue, 15 Sep 2015 17:20:18 -0400
-Subject: [PATCH 1/2] Ensure that we don't overlook errors in first
- PyObject_RichCompareBool call.
-
-Python 3.5 turns such cases into SystemErrors.
-
-See: https://bugs.python.org/issue23571
-
-Fixes #15.
----
- BTrees/_compat.h | 22 +++++++++++++++++++---
- 1 file changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/BTrees/_compat.h b/BTrees/_compat.h
-index e004d54..19dd377 100644
---- a/BTrees/_compat.h
-+++ b/BTrees/_compat.h
-@@ -27,9 +27,25 @@
- #define TEXT_FROM_STRING PyUnicode_FromString
- #define TEXT_FORMAT PyUnicode_Format
- 
--#define COMPARE(lhs, rhs) \
--    PyObject_RichCompareBool((lhs), (rhs), Py_LT) > 0 ? -1 : \
--    (PyObject_RichCompareBool((lhs), (rhs), Py_EQ) > 0 ? 0 : 1)
-+/* Emulate Python2's __cmp__,  wrapping PyObject_RichCompareBool(),
-+ * Return -2/-3 for errors, -1 for lhs<rhs, 0 for lhs==rhs, 1 for lhs>rhs.
-+ */
-+static inline
-+int __compare(PyObject *lhs, PyObject *rhs) {
-+    int less, equal;
-+
-+    less = PyObject_RichCompareBool(lhs, rhs, Py_LT);
-+    if ( less == -1 ) {
-+        return -2;
-+    }
-+    equal = PyObject_RichCompareBool(lhs, rhs, Py_EQ);
-+    if ( equal == -1 ) {
-+        return -3;
-+    }
-+    return less ? -1 : (equal ? 0 : 1);
-+}
-+
-+#define COMPARE(lhs, rhs) __compare((lhs), (rhs))
- 
- 
- #else
-
-From ff4c3309fe471f2b9bdd642b8f7d1c2fe0f5e458 Mon Sep 17 00:00:00 2001
-From: Tres Seaver <tseaver@palladion.com>
-Date: Sun, 20 Sep 2015 11:07:10 -0400
-Subject: [PATCH 2/2] Avoid unnecessary comparison for 'Py_EQ' if 'Py_LT'
- returned True.
-
----
- BTrees/_compat.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/BTrees/_compat.h b/BTrees/_compat.h
-index 19dd377..ece2bf9 100644
---- a/BTrees/_compat.h
-+++ b/BTrees/_compat.h
-@@ -38,11 +38,14 @@ int __compare(PyObject *lhs, PyObject *rhs) {
-     if ( less == -1 ) {
-         return -2;
-     }
-+    if (less) {
-+        return -1;
-+    }
-     equal = PyObject_RichCompareBool(lhs, rhs, Py_EQ);
-     if ( equal == -1 ) {
-         return -3;
-     }
--    return less ? -1 : (equal ? 0 : 1);
-+    return equal ? 0 : 1;
- }
- 
- #define COMPARE(lhs, rhs) __compare((lhs), (rhs))
diff --git a/pkgs/development/python-modules/btrees/default.nix b/pkgs/development/python-modules/btrees/default.nix
new file mode 100644
index 000000000000..8e69a207628e
--- /dev/null
+++ b/pkgs/development/python-modules/btrees/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchPypi, buildPythonPackage, persistent, zope_interface, transaction }:
+
+buildPythonPackage rec {
+  pname = "BTrees";
+  version = "4.3.1";
+  name = "${pname}-${version}";
+
+  propagatedBuildInputs = [ persistent zope_interface transaction ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15as34f9sa4nnd62nnjkik2jd4rg1byp0i4kwaqwdpv0ab9vfr95";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Scalable persistent components";
+    homepage = http://packages.python.org/BTrees;
+    license = licenses.zpt21;
+  };
+}
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index f3f897ac9e79..d2e1d2dc86fd 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -1,8 +1,9 @@
-{ lib, fetchurl, mkPythonDerivation, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy
+{ lib, fetchurl, buildPythonPackage, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy
 , ncurses, pygobject3 }:
 
-if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else mkPythonDerivation rec {
+if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else buildPythonPackage rec {
   name = "dbus-python-1.2.4";
+  format = "other";
 
   src = fetchurl {
     url = "http://dbus.freedesktop.org/releases/dbus-python/${name}.tar.gz";
diff --git a/pkgs/development/python-modules/django/1_10.nix b/pkgs/development/python-modules/django/1_10.nix
new file mode 100644
index 000000000000..271f8a5467ba
--- /dev/null
+++ b/pkgs/development/python-modules/django/1_10.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, fetchurl, substituteAll,
+  pythonOlder,
+  geos, gdal
+}:
+buildPythonPackage rec {
+  name = "Django-${version}";
+  version = "1.10.6";
+  disabled = pythonOlder "2.7";
+
+  src = fetchurl {
+    url = "http://www.djangoproject.com/m/releases/1.10/${name}.tar.gz";
+    sha256 = "0q9c7hx720vc0jzq4xlxwhnxmmm8kh0qsqj3l46m29mi98jvwvks";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./1.10-gis-libs.template.patch;
+      geos = geos;
+      gdal = gdal;
+    })
+  ];
+
+  # patch only $out/bin to avoid problems with starter templates (see #3134)
+  postFixup = ''
+    wrapPythonProgramsIn $out/bin "$out $pythonPath"
+  '';
+
+  # too complicated to setup
+  doCheck = false;
+
+  meta = {
+    description = "A high-level Python Web framework";
+    homepage = https://www.djangoproject.com/;
+  };
+}
diff --git a/pkgs/development/python-modules/hieroglyph/default.nix b/pkgs/development/python-modules/hieroglyph/default.nix
new file mode 100644
index 000000000000..e79cdede092e
--- /dev/null
+++ b/pkgs/development/python-modules/hieroglyph/default.nix
@@ -0,0 +1,26 @@
+{ stdenv , fetchurl , buildPythonPackage , sphinx }:
+
+buildPythonPackage rec {
+  version = "0.7.1";
+  name = "hieroglyph-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/h/hieroglyph/${name}.tar.gz";
+    sha256 = "0rswfk7x6zlj1z8388f153k3zn2h52k5h9b6p57pn7kqagsjilcb";
+  };
+
+  propagatedBuildInputs = [ sphinx ];
+
+  # all tests fail; don't know why:
+  # test_absolute_paths_made_relative (hieroglyph.tests.test_path_fixing.PostProcessImageTests) ... ERROR
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Generate HTML presentations from plain text sources";
+    homepage = https://github.com/nyergler/hieroglyph/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ juliendehos ];
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix
index 262ea74d4a34..28b5e11223ff 100644
--- a/pkgs/development/python-modules/koji/default.nix
+++ b/pkgs/development/python-modules/koji/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, mkPythonDerivation, pycurl }:
+{ stdenv, fetchurl, buildPythonPackage, pycurl }:
 
-mkPythonDerivation rec {
+buildPythonPackage rec {
   name = "koji-1.8";
+  format = "other";
 
   src = fetchurl {
     url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2";
diff --git a/pkgs/development/python-modules/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix
index fa79cfa3be5c..79eb8ab2f83c 100644
--- a/pkgs/development/python-modules/libsexy/default.nix
+++ b/pkgs/development/python-modules/libsexy/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, mkPythonDerivation, libsexy, pkgconfig, libxml2, pygtk, pango, gtk2, glib }:
+{ stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, gtk2, glib }:
 
-mkPythonDerivation rec {
+buildPythonPackage rec {
   name = "libsexy-${version}";
   version = "0.1.9";
+  format = "other";
 
   src = fetchurl {
     url = "http://releases.chipx86.com/libsexy/sexy-python/sexy-python-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index e7cf3b4c4489..5d002c096239 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,8 +1,9 @@
-{ lib, fetchurl, fetchpatch, python, mkPythonDerivation, pkgconfig, cairo, xlibsWrapper, isPyPy, isPy35, isPy3k }:
+{ lib, fetchurl, fetchpatch, python, buildPythonPackage, pkgconfig, cairo, xlibsWrapper, isPyPy, isPy35, isPy3k }:
 
-if (isPyPy) then throw "pycairo not supported for interpreter ${python.executable}" else mkPythonDerivation rec {
+if (isPyPy) then throw "pycairo not supported for interpreter ${python.executable}" else buildPythonPackage rec {
   version = "1.10.0";
   name = "pycairo-${version}";
+  format = "other";
   src = if isPy3k
     then fetchurl {
       url = "http://cairographics.org/releases/pycairo-${version}.tar.bz2";
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index 33bb1d5a4cab..984b11844342 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchurl, mkPythonDerivation, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo, which, ncurses}:
+{ stdenv, fetchurl, buildPythonPackage, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo, which, ncurses}:
 
-mkPythonDerivation rec {
+buildPythonPackage rec {
   major = "3.22";
   minor = "0";
   name = "pygobject-${major}.${minor}";
+  format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/${major}/${name}.tar.xz";
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index 6723ba6b6a58..b72bd8b9b529 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, python, mkPythonDerivation, pkgconfig, glib }:
+{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib }:
 
-mkPythonDerivation rec {
+buildPythonPackage rec {
   name = "pygobject-${version}";
   version = "2.28.6";
+  format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/2.28/${name}.tar.xz";
diff --git a/pkgs/development/python-modules/pygtksourceview/default.nix b/pkgs/development/python-modules/pygtksourceview/default.nix
index 133cbdb34fd2..499634236acd 100644
--- a/pkgs/development/python-modules/pygtksourceview/default.nix
+++ b/pkgs/development/python-modules/pygtksourceview/default.nix
@@ -1,9 +1,10 @@
-{ lib, fetchurl, python, mkPythonDerivation, pkgconfig, pygobject2, glib, pygtk, gnome2 }:
+{ lib, fetchurl, python, buildPythonPackage, pkgconfig, pygobject2, glib, pygtk, gnome2 }:
 
 let version = "2.10.1"; in
 
-mkPythonDerivation {
+buildPythonPackage {
   name = "pygtksourceview-${version}";
+  format = "other";
 
   src = fetchurl {
     url = "http://ftp.gnome.org/pub/gnome/sources/pygtksourceview/2.10/pygtksourceview-${version}.tar.bz2";
diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix
index dc3dd69ac02e..a5ae0aaa137d 100644
--- a/pkgs/development/python-modules/pyqt/4.x.nix
+++ b/pkgs/development/python-modules/pyqt/4.x.nix
@@ -2,9 +2,10 @@
 
 let
   version = "4.12";
-  inherit (pythonPackages) mkPythonDerivation python dbus-python sip;
-in mkPythonDerivation {
+  inherit (pythonPackages) buildPythonPackage python dbus-python sip;
+in buildPythonPackage {
   name = "PyQt-x11-gpl-${version}";
+  format = "other";
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/PyQt4_gpl_x11-${version}.tar.gz";
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index ee3419eed0e9..880edfbab079 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -3,9 +3,10 @@
 
 let
   version = "5.8.1";
-  inherit (pythonPackages) mkPythonDerivation python dbus-python sip;
-in mkPythonDerivation {
+  inherit (pythonPackages) buildPythonPackage python dbus-python sip;
+in buildPythonPackage {
   name = "PyQt-${version}";
+  format = "other";
 
   meta = with lib; {
     description = "Python bindings for Qt5";
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index 6473ebf22b13..4aff09b8f8f5 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -1,8 +1,9 @@
-{ lib, fetchurl, cmake, python, mkPythonDerivation, pysideGeneratorrunner, pysideShiboken, qt4 }:
+{ lib, fetchurl, cmake, python, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4 }:
 
-mkPythonDerivation rec {
+buildPythonPackage rec {
   name = "pyside-${version}";
   version = "1.2.4";
+  format = "other";
 
   src = fetchurl {
     url = "https://github.com/PySide/PySide/archive/${version}.tar.gz";
diff --git a/pkgs/development/python-modules/pyxml/default.nix b/pkgs/development/python-modules/pyxml/default.nix
index abea143d11da..b85b20423697 100644
--- a/pkgs/development/python-modules/pyxml/default.nix
+++ b/pkgs/development/python-modules/pyxml/default.nix
@@ -1,7 +1,8 @@
-{lib, fetchurl, python, mkPythonDerivation, makeWrapper}:
+{lib, fetchurl, python, buildPythonPackage, makeWrapper}:
 
-mkPythonDerivation rec {
+buildPythonPackage rec {
   name = "PyXML-0.8.4";
+  format = "other";
   src = fetchurl {
     url = "mirror://sourceforge/pyxml/${name}.tar.gz";
     sha256 = "04wc8i7cdkibhrldy6j65qp5l75zjxf5lx6qxdxfdf2gb3wndawz";
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index 99d3c89e1f9d..29295de66b7e 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,7 +1,8 @@
-{ lib, fetchurl, mkPythonDerivation, python, isPyPy }:
+{ lib, fetchurl, buildPythonPackage, python, isPyPy }:
 
-if isPyPy then throw "sip not supported for interpreter ${python.executable}" else mkPythonDerivation rec {
+if isPyPy then throw "sip not supported for interpreter ${python.executable}" else buildPythonPackage rec {
   name = "sip-4.19.1";
+  format = "other";
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 865b3ad6797d..64bb39aaf45d 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qt, qmakeHook, makeQtWrapper, perl, python, php }:
+{ stdenv, fetchurl, cmake, qmakeHook, makeQtWrapper, qtbase, perl, python, php }:
 
 stdenv.mkDerivation rec {
   name = "qcachegrind-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "109y94nz96izzsjjdpj9c6g344rcr86srp5w0433mssbyvym4x7q";
   };
 
-  buildInputs = [ qt.qtbase perl python php ];
+  buildInputs = [ qtbase perl python php ];
 
   nativeBuildInputs = [ qmakeHook makeQtWrapper ];
 
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 18933426db0a..ef339d47ea05 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -1,8 +1,9 @@
 {stdenv, fetchurl, pkgconfig, libxml2Python, libxslt, intltool
 , makeWrapper, python2Packages }:
 
-python2Packages.mkPythonDerivation {
+python2Packages.buildPythonApplication {
   name = "gnome-doc-utils-0.20.10";
+  format = "other";
 
   src = fetchurl {
     url = mirror://gnome/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz;
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 33b782098c5f..760ad521cef6 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -4,19 +4,19 @@ let
   libphutil = fetchFromGitHub {
     owner = "phacility";
     repo = "libphutil";
-    rev = "5fd1af8b4f2b9631e2ceb06bd88d21f2416123c2";
-    sha256 = "06zkfkgwni8prr3cnsbf1h4s30k4v00y8ll1bcl6282xynnh3gf6";
+    rev = "01b33af6f4d570b34ad791cd5ccaa3ea7f77dcb9";
+    sha256 = "0glrxlj4cr2821pdc2yy2m5bss4yr1zx3sdgw3r5d8hbfz361nx7";
   };
   arcanist = fetchFromGitHub {
     owner = "phacility";
     repo = "arcanist";
-    rev = "9e82ef979e8148c43b9b8439025d505b1219e213";
-    sha256 = "0h7ny8wr3cjn105gyzhd4qmhhccd0ilalslsdjj10nxxw2cgn193";
+    rev = "3b6b523c2b236e3724a1e115f126cb6fd05fa128";
+    sha256 = "1pr2izwj446rf2v6x6v2wsj7iwnaxq3xg3qqipybyf1xpqfmh5q8";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20160825";
+  version = "20170323";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/autogen/default.nix b/pkgs/development/tools/misc/autogen/default.nix
index 251387e7bd51..28034f9d5492 100644
--- a/pkgs/development/tools/misc/autogen/default.nix
+++ b/pkgs/development/tools/misc/autogen/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autogen-${version}";
-  version = "5.18.7";
+  version = "5.18.12";
 
   src = fetchurl {
-    url = "mirror://gnu/autogen/autogen-${version}.tar.xz";
-    sha256 = "01d4m8ckww12sy50vgyxlnz83z9dxqpyqp153cscncc9w6jq19d7";
+    url = "mirror://gnu/autogen/rel${version}/autogen-${version}.tar.xz";
+    sha256 = "1n5zq4872sakvz9c7ncsdcfp0z8rsybsxvbmhkpbd19ii0pacfxy";
   };
 
   outputs = [ "bin" "dev" "lib" "out" "man" "info" ];
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 2ada782563e5..4fec00a2fd7e 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -4,9 +4,9 @@
 let
   version = "${major}.11";
   major = "0.3";
-in pythonPackages.mkPythonDerivation rec {
+in pythonPackages.buildPythonApplication rec {
   name = "d-feet-${version}";
-  namePrefix = "";
+  format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 0906492ad101..4b0768af1e20 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -61,15 +61,15 @@ let
   };
 in releaseTools.nixBuild rec {
   name = "hydra-${version}";
-  version = "2017-02-03";
+  version = "2017-03-21";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "a366f362e197476615a813e2cc904b60db28e65f";
-    sha256 = "0q7bywh59aqgpgj9ca2xscszxal9c3c90bs7sb4cfg7w8g6m69hf";
+    rev = "57bc0eaead8c76ffd71ddc49adfacc47bb8a75ac";
+    sha256 = "1kshl6ms42fgh621s1ba3a224rawqzgvl89rq1k6c9qhlplpndd9";
   };
 
   buildInputs =
diff --git a/pkgs/development/tools/vogl/default.nix b/pkgs/development/tools/vogl/default.nix
new file mode 100644
index 000000000000..f3967b0d9235
--- /dev/null
+++ b/pkgs/development/tools/vogl/default.nix
@@ -0,0 +1,47 @@
+{ fetchFromGitHub, stdenv
+, cmake, git, pkgconfig, wget, zip
+, makeQtWrapper, qtbase, qtx11extras
+, libdwarf, libjpeg_turbo, libunwind, lzma, tinyxml, libX11
+, SDL2, SDL2_gfx, SDL2_image, SDL2_ttf
+, freeglut, mesa, mesa_glu
+}:
+stdenv.mkDerivation rec {
+  name = "vogl-${version}";
+  version = "2016-05-13";
+
+  src = fetchFromGitHub {
+    owner  = "deepfire";
+    repo   = "vogl";
+    rev    = "cbc5f1853e294b363f16c4e00b3e0c49dbf74559";
+    sha256 = "17gwd73x3lnqv6ccqs48pzqwbzjhbn41c0x0l5zzirhiirb3yh0n";
+  };
+
+  nativeBuildInputs = [
+    cmake makeQtWrapper pkgconfig
+  ];
+
+  buildInputs = [
+    git wget zip
+    qtbase qtx11extras
+    libdwarf libjpeg_turbo libunwind lzma tinyxml libX11
+    SDL2 SDL2_gfx SDL2_image SDL2_ttf
+    freeglut mesa mesa_glu
+  ];
+
+  enableParallelBuilding = true;
+
+  dontUseCmakeBuildDir = true;
+  preConfigure = ''
+    cmakeDir=$PWD
+    mkdir -p vogl/vogl_build/release64 && cd $_
+  '';
+  cmakeFlags = '' -DCMAKE_VERBOSE=On -DCMAKE_BUILD_TYPE=Release -DBUILD_X64=On'';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL capture / playback debugger.";
+    homepage = https://github.com/ValveSoftware/vogl;
+    license = licenses.mit;
+    maintainers = [ maintainers.deepfire ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/development/web/nodejs/v4.nix b/pkgs/development/web/nodejs/v4.nix
index 9a142a89677f..edef6f7663cc 100644
--- a/pkgs/development/web/nodejs/v4.nix
+++ b/pkgs/development/web/nodejs/v4.nix
@@ -10,11 +10,11 @@ let
   baseName = if enableNpm then "nodejs" else "nodejs-slim";
 in
   stdenv.mkDerivation (nodejs // rec {
-    version = "4.6.2";
+    version = "4.8.1";
     name = "${baseName}-${version}";
     src = fetchurl {
       url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.xz";
-      sha256 = "17ick2r2biyxs5zf83i8q8844fbcphm0d5g1z70mcrb86yrmi545";
+      sha256 = "0kcalypjf1036gr4mv1gy682hc1rp18ms3cv7mz0941qnizkzrms";
     };
 
   })
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 0e53bdf7f656..62f94ae6fc9f 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -47,8 +47,9 @@ in
 assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.system}";
 
-pythonPackages.mkPythonDerivation {
+pythonPackages.buildPythonApplication {
   inherit name src;
+  format = "other";
 
   buildInputs = [
     libjpeg
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix
index 02f93eb931d5..ae94c3de41b2 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/misc/emulators/zsnes/default.nix
@@ -57,6 +57,6 @@ in stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.sander ];
     homepage = http://www.zsnes.com;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/darwin/command-line-tools/default.nix b/pkgs/os-specific/darwin/command-line-tools/default.nix
deleted file mode 100644
index 2d1eb7b6b3ca..000000000000
--- a/pkgs/os-specific/darwin/command-line-tools/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, xar, gzip, cpio }:
-
-let
-  pkg = { name, sha256 }: stdenv.mkDerivation {
-    inherit name;
-
-    src = fetchurl {
-      # Magic url found in:
-      # https://swscan.apple.com/content/catalogs/others/index-10.9-1.sucatalog
-      url = "http://swcdn.apple.com/content/downloads/27/02/031-06182/xxog8vxu8i6af781ivf4uhy6yt1lslex34/${name}.pkg";
-      inherit sha256;
-    };
-
-    buildInputs = [ xar gzip cpio ];
-
-    phases = [ "unpackPhase" "installPhase" ];
-
-    unpackPhase = ''
-      xar -x -f $src
-    '';
-
-    installPhase = ''
-      start="$(pwd)"
-      mkdir -p $out
-      cd $out
-      cat $start/Payload | gzip -d | cpio -idm
-    '';
-
-    meta = with stdenv.lib; {
-      description = "Apple developer tools ${name}";
-      maintainers = with maintainers; [ copumpkin ];
-      platforms   = platforms.darwin;
-    };
-  };
-in rec {
-  tools = pkg {
-    name   = "CLTools_Executables_OSX109";
-    sha256 = "1cjdnnjny6h0dc1cc994pgrkmsa5cvk7pi5dpkxyslyicwf260fx";
-  };
-
-  sdk = pkg {
-    name   = "DevSDK_OSX109";
-    sha256 = "16b7aplha5573yl1d44nl2yxzp0w2hafihbyh7930wrcvba69iy4";
-  };
-}
diff --git a/pkgs/os-specific/darwin/osx-sdk/default.nix b/pkgs/os-specific/darwin/osx-sdk/default.nix
deleted file mode 100644
index 235eadfd2556..000000000000
--- a/pkgs/os-specific/darwin/osx-sdk/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv }:
-
-let
-  version = "10.9";
-in stdenv.mkDerivation rec {
-  name = "MacOSX10.9.sdk";
-
-  src = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk";
-
-  unpackPhase = "true";
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/Developer/SDKs/
-    echo "Source is: $src"
-    cp -r $src $out/Developer/SDKs/
-  '';
-
-  meta = with stdenv.lib; {
-    description = "The Mac OS ${version} SDK";
-    maintainers = with maintainers; [ copumpkin ];
-    platforms   = platforms.darwin;
-    license     = licenses.unfree;
-  };
-}
diff --git a/pkgs/os-specific/linux/915resolution/default.nix b/pkgs/os-specific/linux/915resolution/default.nix
index 9bcfcf392f40..d1cb7221615f 100644
--- a/pkgs/os-specific/linux/915resolution/default.nix
+++ b/pkgs/os-specific/linux/915resolution/default.nix
@@ -1,15 +1,19 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "915resolution-0.5.2";
+stdenv.mkDerivation rec {
+  name = "915resolution-0.5.3";
+  
   src = fetchurl {
-    url = http://www.geocities.com/stomljen/915resolution-0.5.2.tar.gz;
-    sha256 = "1m5nfzgwaglqabpm2l2mjqvigz1z0dj87cmj2pjbbzxmmpapv0lq";
+    url = "http://915resolution.mango-lang.org/${name}.tar.gz";
+    sha256 = "0hmmy4kkz3x6yigz6hk99416ybznd67dpjaxap50nhay9f1snk5n";
   };
-  buildPhase = "rm *.o 915resolution; make";
+
+  patchPhase = "rm *.o";
   installPhase = "mkdir -p $out/sbin; cp 915resolution $out/sbin/";
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    homepage = http://915resolution.mango-lang.org/;
+    description = "A tool to modify Intel 800/900 video BIOS";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index ccedc381504f..366cc9787f28 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, python2Packages }:
 
-python2Packages.mkPythonDerivation rec {
+python2Packages.buildPythonApplication rec {
   name = "dstat-${version}";
+  format = "other";
   version = "0.7.3";
 
   src = fetchurl {
diff --git a/pkgs/os-specific/linux/kernel/linux-4.10.nix b/pkgs/os-specific/linux/kernel/linux-4.10.nix
index d0f891cb00c1..01fa2a8fb637 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.10.5";
+  version = "4.10.6";
   extraMeta.branch = "4.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "04gwdqsngzddxvw34lcy9r03179l6s25qbxmsv5jz5kbczivzg6x";
+    sha256 = "1vjdd0i4k6m8nx5npwz5p3czg61j93wchw5amggrqfaarwy2j6j5";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 5a0366eb4ea6..c6a220b9c52c 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.4.56";
+  version = "4.4.57";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1dm2qas6v73pkq787x2pqhl44xznnhdcvvjnyw75ajwyhqj1w62m";
+    sha256 = "1jmjb7pmk8mjy7pyz58a3xs5rx2m7p6kzy4n9mp000b4zqb2kzwj";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 688a08ceb8eb..586627c5925f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.17";
+  version = "4.9.18";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0zxcz7h8sy58qibqh1n1f39diywmdl8hd9vr16z9rbpba1jw35ch";
+    sha256 = "1lb18b29ykia9v2ryj1w6chwh19hmv6ynfjhl9p66rsnm09fl3m1";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index b17209bca0e3..d009a4fd11fe 100644
--- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
+++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.17";
+  version = "4.9.18";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha512 = "35mcvjl686xjgnbxrz2z84gg4q1m9y7wp541sg9k3jadlgsdyqrynz09j3lx3f5v40a83xmr5j3clavjaij16bl4imi716z7vjkfryx";
+    sha512 = "0l60ny68qwjf585x84yxipndv2g00g08rm4k6hd7k8s93kf3h7lvspsbdg1g1nw50g8dc3n0w31pqads7b2ha6zf39jh77cx7449rn3";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 0520a0425bfc..cd535a522d3a 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -95,9 +95,9 @@ rec {
   };
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.9.17";
-      grrev  = "201703221829";
-      sha512 = "3br0xdjj95k8qnri83jj67s1lb4q6ws6irhdlr9kcyxj1384kipkfz8ciafs7zd3vqyfgsmdc56lmfpiyq5cx4dggy95qykx86ip787";
+    { kver   = "4.9.18";
+      grrev  = "201703261106";
+      sha512 = "2zr38i847fpxi631kv4l88zgj9xzc8fvyjyk5db4d53n35pp7vxdw4iq89wp6z1n5hmzwdp5kqvq3z3hn9va3yvhh88aq0dza48lgfx";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/msr-tools/default.nix b/pkgs/os-specific/linux/msr-tools/default.nix
new file mode 100644
index 000000000000..128f3eac2635
--- /dev/null
+++ b/pkgs/os-specific/linux/msr-tools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "msr-tools-${version}";
+  version = "1.3";
+
+  src = fetchurl {
+    url = "https://01.org/sites/default/files/downloads/msr-tools/${name}.zip";
+    sha256 = "07hxmddg0l31kjfmaq84ni142lbbvgq6391r8bd79wpm819pnigr";
+  };
+
+  buildInputs = [ unzip ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+    substituteInPlace Makefile \
+      --replace /usr/sbin $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tool to read/write from/to MSR CPU registers on Linux";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
index c6065dbfca2d..52d7446e48cb 100644
--- a/pkgs/os-specific/linux/s6-linux-utils/default.nix
+++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.0.2.3";
+  version = "2.2.0.0";
 
 in stdenv.mkDerivation rec {
 
@@ -10,12 +10,13 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz";
-    sha256 = "1hwc3dmqh4cyhx9b4gd48yvjrwmfkz968rncpqc511krpfwzyngr";
+    sha256 = "1y9mva7wk1ca2djq3qjh7hz756zk57yv7ljdnldn7k7jzfmlaxsq";
   };
 
   dontDisableStatic = true;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--includedir=\${prefix}/include"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
     "--with-include=${skalibs}/include"
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 435653c19fdc..68966dd03998 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -6,11 +6,11 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "3.18";
 let
   name = "wireguard-${version}";
 
-  version = "0.0.20170320.1";
+  version = "0.0.20170324";
 
   src = fetchurl {
     url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "19rcsmwcb9jp4lrfrkf1x78y4i6dcqx5p7kmcbjnbwl0nkc48vr8";
+    sha256 = "2ec08a5d74cb3a63576f06d3cae695b6b8995acd9665e2fa4da91927b467ca51";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
new file mode 100644
index 000000000000..3b3f2e0cc0f1
--- /dev/null
+++ b/pkgs/servers/jackett/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, mono, curl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "jackett-${version}";
+  version = "0.7.1197";
+
+  src = fetchurl {
+    url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
+    sha256 = "0p9xdfbb8pda5a3knnw6145jky3bf10y1dj2clgsbbygi2xnam2v";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/${name}}
+    cp -r * $out/share/${name}
+
+    makeWrapper "${mono}/bin/mono" $out/bin/Jackett \
+      --add-flags "$out/share/${name}/JackettConsole.exe" \
+      --prefix LD_LIBRARY_PATH ':' "${curl.out}/lib"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "API Support for your favorite torrent trackers.";
+    homepage = https://github.com/Jackett/Jackett/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ edwtjo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
new file mode 100644
index 000000000000..446927745a90
--- /dev/null
+++ b/pkgs/servers/radarr/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, mono, libmediainfo, sqlite, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "radarr-${version}";
+  version = "0.2.0.535";
+
+  src = fetchurl {
+    url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz";
+    sha256 = "1ccvblklqn5iki7gc16bzzbwms28mv4kxzv1nwhlm9vf0cw4qxbr";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/${name}}
+    cp -r * $out/share/${name}/.
+
+    makeWrapper "${mono}/bin/mono" $out/bin/Radarr \
+      --add-flags "$out/share/${name}/Radarr.exe" \
+      --prefix LD_LIBRARY_PATH ':' "${sqlite.out}/lib" \
+      --prefix LD_LIBRARY_PATH ':' "${libmediainfo}/lib"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Usenet/BitTorrent movie downloader.";
+    homepage = https://radarr.video/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ edwtjo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index f32e6d684526..3285456a3485 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -19,12 +19,12 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "0.9.10";
+  version = "0.9.12";
   name = "prosody-${version}";
 
   src = fetchurl {
     url = "http://prosody.im/downloads/source/${name}.tar.gz";
-    sha256 = "0bv6s5c0iizz015hh1lxlwlw1iwvisywajm2rcrbdfyrskzfwdj8";
+    sha256 = "139yxqpinajl32ryrybvilh54ddb1q6s0ajjhlcs4a0rnwia6n8s";
   };
 
   communityModules = fetchhg {
diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix
index 682123d924e0..988b4f711cb3 100644
--- a/pkgs/shells/bash/4.4.nix
+++ b/pkgs/shells/bash/4.4.nix
@@ -52,13 +52,6 @@ stdenv.mkDerivation rec {
   patchFlags = "-p0";
 
   patches = upstreamPatches
-      ++ [ (fetchurl {
-              # https://security.gentoo.org/glsa/201701-02
-              url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-shells"
-                  + "/bash/files/bash-4.4-popd-offset-overflow.patch"
-                  + "?id=1bf1ceeb04a2f57e1e5e1636a8c288c4d0db6682";
-              sha256 = "02n08lw5spvsc2b1bll0gr6mg4qxcg7pzfjkw7ji5w7bjcikccbm";
-          }) ]
       ++ optional stdenv.isCygwin ./cygwin-bash-4.3.33-1.src.patch;
 
   crossAttrs = {
diff --git a/pkgs/shells/bash/bash-4.4-patches.nix b/pkgs/shells/bash/bash-4.4-patches.nix
index c3ef5470aebf..741fb675d614 100644
--- a/pkgs/shells/bash/bash-4.4-patches.nix
+++ b/pkgs/shells/bash/bash-4.4-patches.nix
@@ -6,4 +6,11 @@ patch: [
 (patch "003" "1chqww2rj6g42b8s60q5zlzy0jzp684jkpsbrbfy1vzxja8mmpsi")
 (patch "004" "1cy8abf96hkrjhw921ndr0shlcnc52bg45rn6xri4v5clhq0l25d")
 (patch "005" "0a8515kyk4zsgmvlqvlganjfr7pq0j6kzpr4d6xx02kpbdr4n7i2")
+(patch "006" "1f24wgqngmj2mrj9yibwvc2zvlmn5xi53mnw777g3l40c4m2x3ka")
+(patch "007" "1bzdsnqaf05gdbqpsixhan8vygjxpcxlz1dd8d9f5jdznw3wq76y")
+(patch "008" "1firw915mjm03hbbw9a70ch3cpgrgnvqjpllgdnn6csr8q04f546")
+(patch "009" "0g1l56kvw61rpw7dqa9fcl9llkl693h73g631hrhxlm030ddssqb")
+(patch "010" "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4")
+(patch "011" "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx")
+(patch "012" "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps")
 ]
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index 83a73eb388f8..d75b50bca1af 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl, zlib, bzip2, openssl, attr, lzo, libgcrypt, e2fsprogs, gpgme, xz }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  name = "dar-2.5.3";
+  name = "dar-2.5.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/dar/${name}.tar.gz";
-    sha256 = "0myakyfgv2mhazwvbbwwncn9j7c9b4g3szs0aqlclmp01naaqmj5";
+    sha256 = "0bm91d82amh5h2sla2ngbpxd0l64alcdjhxz35bhj3cpz9562wv9";
   };
 
   buildInputs = [ zlib bzip2 openssl lzo libgcrypt gpgme xz ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ attr e2fsprogs ];
+    ++ optionals stdenv.isLinux [ attr e2fsprogs ];
 
   configureFlags = [ "--disable-dar-static" ];
 
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://dar.linux.free.fr/;
     description = "Disk ARchiver, allows backing up files into indexed archives";
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.viric ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index b08bb0768f2c..313167b1ae27 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,37 +1,43 @@
-{ stdenv, fetchurl, python2Packages, librsync, ncftp, gnupg, rsync, makeWrapper
-}:
+{ stdenv, fetchurl, python2Packages, librsync, ncftp, gnupg, rsync, makeWrapper }:
 
-let
-  version = "0.7.07.1";
-in python2Packages.buildPythonApplication {
+python2Packages.buildPythonApplication rec {
   name = "duplicity-${version}";
+  version = "0.7.12";
 
   src = fetchurl {
-    url = "http://code.launchpad.net/duplicity/0.7-series/${version}/+download/duplicity-${version}.tar.gz";
-    sha256 = "594c6d0e723e56f8a7114d57811c613622d535cafdef4a3643a4d4c89c1904f8";
+    url = "http://code.launchpad.net/duplicity/0.7-series/${version}/+download/${name}.tar.gz";
+    sha256 = "1rhgrz2lm9vbfdp2raykrih1c6n2lw5jd572z4dsz488m52avjqi";
   };
 
+  buildInputs = [ librsync makeWrapper python2Packages.wrapPython ];
+  propagatedBuildInputs = with python2Packages; [
+    boto cffi cryptography ecdsa enum idna
+    ipaddress lockfile paramiko pyasn1 pycrypto six
+  ];
+  checkInputs = with python2Packages; [ lockfile mock pexpect ];
+
+  # lots of tests are failing, although we get a little further now with the bits in preCheck
+  doCheck = false;
+
   postInstall = ''
     wrapProgram $out/bin/duplicity \
       --prefix PATH : "${stdenv.lib.makeBinPath [ gnupg ncftp rsync ]}"
-  '';
 
-  buildInputs = [ librsync makeWrapper ];
+    wrapPythonPrograms
+  '';
 
-  # Inputs for tests. These are added to buildInputs when doCheck = true
-  checkInputs = with python2Packages; [ lockfile mock pexpect ];
+  preCheck = ''
+    patchShebangs testing
 
-  # Many problematic tests
-  doCheck = false;
-
-  propagatedBuildInputs = with python2Packages; [ boto cffi cryptography ecdsa enum idna
-    ipaddress lockfile paramiko pyasn1 pycrypto six ];
+    substituteInPlace testing/__init__.py \
+      --replace 'mkdir testfiles' 'mkdir -p testfiles'
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Encrypted bandwidth-efficient backup using the rsync algorithm";
-    homepage = "http://www.nongnu.org/duplicity";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric peti];
-    platforms = stdenv.lib.platforms.unix;
+    homepage = http://www.nongnu.org/duplicity;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric peti ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/compression/advancecomp/default.nix b/pkgs/tools/compression/advancecomp/default.nix
index 5737f1eca15f..2f4b56ffcaf9 100644
--- a/pkgs/tools/compression/advancecomp/default.nix
+++ b/pkgs/tools/compression/advancecomp/default.nix
@@ -1,31 +1,26 @@
-{stdenv, fetchurl, zlib}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="advancecomp";
-    version="1.19";
-    name="${baseName}-${version}";
-    url="http://prdownloads.sourceforge.net/advancemame/advancecomp-1.19.tar.gz?download";
-    sha256="0irhmwcn9r4jc29442skqr1f3lafiaahxc3m3ybalmm37l6cb56m";
+{ stdenv, fetchFromGitHub
+, autoreconfHook, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "advancecomp-${version}";
+  version = "1.23";
+
+  src = fetchFromGitHub {
+    owner = "amadvance";
+    repo = "advancecomp";
+    rev = "v${version}";
+    sha256 = "1mrgmpjd9f7x16g847h1588mgryl26hlzfl40bc611259bb0bq7w"; 
   };
-  buildInputs = [
-    zlib
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
-  meta = {
-    inherit (s) version;
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ zlib ];
+
+  meta = with stdenv.lib; {
     description = ''A set of tools to optimize deflate-compressed files'';
-    license = stdenv.lib.licenses.gpl2 ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    updateWalker = true;
-    homepage = "http://advancemame.sourceforge.net/comp-readme.html";
-    downloadPage = "http://advancemame.sourceforge.net/comp-download.html";
+    license = licenses.gpl2 ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
+    homepage = https://github.com/amadvance/advancecomp;
+
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index 50059e9477a9..5d130d7ad807 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, anthy, ibus, glib, gobjectIntrospection, gtk3, python3, pygobject3
+, anthy, ibus, glib, gobjectIntrospection, gtk3, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -15,15 +15,16 @@ stdenv.mkDerivation rec {
     maintainers  = with maintainers; [ gebner ericsagnes ];
   };
 
-  configureFlags = "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t";
+  configureFlags = [ "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t" ];
 
   buildInputs = [
-    anthy glib gobjectIntrospection gtk3 ibus python3 pygobject3
+    anthy glib gobjectIntrospection gtk3 ibus python3
   ];
 
-  nativeBuildInputs = [ intltool pkgconfig ];
+  nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ];
 
   postFixup = ''
+    wrapPythonPrograms
     substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out
   '';
 
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
index 1ada62580dbc..74253fa09fc0 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, gtk3, ibus, libhangul, librsvg, python3, pygobject3
+, gtk3, ibus, libhangul, librsvg, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -11,9 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "120p9w7za6hi521hz8q235fkl4i3p1qqr8nqm4a3kxr0pcq40bd2";
   };
 
-  buildInputs = [ gtk3 ibus libhangul python3 pygobject3 ];
+  buildInputs = [ gtk3 ibus libhangul ];
 
-  nativeBuildInputs = [ intltool pkgconfig ];
+  nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ];
+
+  postFixup = "wrapPythonPrograms";
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index 799d66aac9b2..6293fa30d7a7 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, autoreconfHook
 , intltool, pkgconfig, sqlite, libpinyin, db
-, ibus, glib, gtk3, python3, pygobject3
+, ibus, glib, gtk3, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -15,12 +15,14 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ];
-  nativeBuildInputs = [ autoreconfHook intltool pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook intltool pkgconfig python3.pkgs.wrapPython ];
 
   postAutoreconf = ''
     intltoolize
   '';
 
+  postFixup = "wrapPythonPrograms";
+
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "IBus interface to the libpinyin input method";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 2dbab7129555..2d25e6bf4304 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, pkgconfig
-, ibus, m17n_lib, m17n_db, gettext, python3, pygobject3
+, ibus, m17n_lib, m17n_db, gettext, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -16,10 +16,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     ibus m17n_lib m17n_db gettext
-    python3 pygobject3
+    python3
   ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig python3.pkgs.wrapPython ];
+
+  postFixup = "wrapPythonPrograms";
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index 644725c29107..aa346f452749 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -1,4 +1,4 @@
-{ clangStdenv, fetchFromGitHub, fetchsvn, gyp, which, ninja, python, pkgconfig, protobuf, ibus, gtk2, zinnia, qt4, libxcb, tegaki-zinnia-japanese }:
+{ clangStdenv, fetchFromGitHub, fetchsvn, which, ninja, python2, pkgconfig, protobuf, ibus, gtk2, zinnia, qt4, libxcb, tegaki-zinnia-japanese }:
 
 let
   japanese_usage_dictionary = fetchsvn {
@@ -19,7 +19,7 @@ in clangStdenv.mkDerivation rec {
     maintainers  = with maintainers; [ gebner ericsagnes ];
   };
 
-  nativeBuildInputs = [ gyp which ninja python pkgconfig ];
+  nativeBuildInputs = [ which ninja python2 python2.pkgs.gyp pkgconfig ];
   buildInputs = [ protobuf ibus gtk2 zinnia qt4 libxcb ];
 
   src = fetchFromGitHub {
@@ -36,8 +36,8 @@ in clangStdenv.mkDerivation rec {
 
   configurePhase = ''
     export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc"
-    python src/build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc \
-    python src/unix/fcitx/fcitx.gyp gyp --gypdir=${gyp}/bin
+    python src/build_mozc.py gyp --gypdir=${python2.pkgs.gyp}/bin --server_dir=$out/lib/mozc \
+    python src/unix/fcitx/fcitx.gyp gyp --gypdir=${python2.pkgs.gyp}/bin
   '';
 
   preBuildPhase = ''
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index c5090e5b949b..8900ebc120cf 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, docbook2x, pkgconfig
 , gtk3, dconf, gobjectIntrospection
-, ibus, python3, pygobject3 }:
+, ibus, python3 }:
 
 stdenv.mkDerivation rec {
   name = "ibus-table-${version}";
@@ -29,16 +29,18 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    dconf gtk3 gobjectIntrospection ibus python3 pygobject3
+    dconf gtk3 gobjectIntrospection ibus python3
   ];
 
-  nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig python3.pkgs.wrapPython ];
 
   postUnpack = ''
     substituteInPlace $sourceRoot/engine/Makefile.am \
       --replace "docbook2man" "docbook2man --sgml"
   '';
 
+  postFixup = "wrapPythonPrograms";
+
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "An IBus framework for table-based input methods";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
index 161982ac6186..1ea7ef4251fe 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
@@ -15,6 +15,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = with python3Packages; [ pyxdg python-Levenshtein ];
 
+  nativeBuildInputs = [ python3Packages.wrapPython ];
+
+  postFixup = ''
+    buildPythonPath $out
+    patchPythonScript $out/share/ibus-uniemoji/uniemoji.py
+  '';
+
   makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc"
                 "PYTHON=${python3Packages.python.interpreter}"
               ];
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index de375ed4529d..1654f57c8ed5 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, makeWrapper
+{ stdenv, fetchurl, wrapGAppsHook
 , intltool, isocodes, pkgconfig
-, python3, pygobject3
+, python3
 , gtk2, gtk3, atk, dconf, glib, json_glib
 , dbus, libnotify, gobjectIntrospection, wayland
 , nodePackages
@@ -34,19 +34,21 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    python3 pygobject3
+    python3
     intltool isocodes pkgconfig
     gtk2 gtk3 dconf
     json_glib
     dbus libnotify gobjectIntrospection wayland
   ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [ glib python3.pkgs.pygobject3 ];
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ wrapGAppsHook python3.pkgs.wrapPython ];
 
   outputs = [ "out" "dev" ];
 
+  enableParallelBuilding = true;
+
   preConfigure = ''
     # Fix hard-coded installation paths, so make does not try to overwrite our
     # Python installation.
@@ -59,14 +61,9 @@ stdenv.mkDerivation rec {
     substituteInPlace data/dconf/Makefile.in --replace "dconf update" "echo"
   '';
 
-  preFixup = ''
-    for f in "$out/bin"/*; do #*/
-      wrapProgram "$f" \
-        --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \
-        --prefix PYTHONPATH : "$PYTHONPATH" \
-        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \
-        --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
-    done
+  postFixup = ''
+    buildPythonPath $out
+    patchPythonScript $out/share/ibus/setup/main.py
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix
index f34c9b6db230..6dbc2290f01e 100644
--- a/pkgs/tools/misc/execline/default.nix
+++ b/pkgs/tools/misc/execline/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.1.4.5";
+  version = "2.2.0.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/execline";
     rev = "refs/tags/v${version}";
-    sha256 = "01hfh2gmap3qd9qc5ncp1sxagrsi8q6cdjxxspwpmrc4d4cmzcr0";
+    sha256 = "1795n6s0sp9hw8amx2hs9r395gv4c5sn63g077g1gal1vcpkcssn";
   };
 
   dontDisableStatic = true;
@@ -19,6 +19,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--libdir=\${prefix}/lib"
     "--includedir=\${prefix}/include"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
index b16806139b45..c3156650551f 100644
--- a/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, skalibs, gcc }:
+{ stdenv, fetchurl, skalibs, gcc }:
 
 with stdenv.lib;
 
@@ -6,11 +6,9 @@ stdenv.mkDerivation rec {
   name = "s6-portable-utils-${version}";
   version = "2.1.0.0";
 
-  src = fetchFromGitHub {
-    owner = "skarnet";
-    repo = "s6-portable-utils";
-    rev = "v${version}";
-    sha256 = "0k5pcwc45jw5l8ycz03wx2w4pds0wp4ll47d3i5i1j02i9v0rhc9";
+  src = fetchurl {
+    url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz";
+    sha256 = "0khw5ljmlghvl4hyrf4vd0hl5rrmsspchi8w4xgniwfip6vlbqfd";
   };
 
   dontDisableStatic = true;
@@ -19,6 +17,7 @@ stdenv.mkDerivation rec {
   ++ optional stdenv.isDarwin gcc;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
     "--with-include=${skalibs}/include"
     "--with-lib=${skalibs}/lib"
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index bb9316512ecd..4f8daf38d467 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -28,8 +28,6 @@ stdenv.mkDerivation rec {
     sha256 = "1s1hyndva0yp62xy96pcp4anzrvw6cl0abjajim17sbmdp00fwhw";
   };
 
-  patches = [ ];
-
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
 
   enableParallelBuilding = true;
@@ -57,9 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-      # OS X does not have a default system bundle, so we assume cacerts is installed in the default nix-env profile
-      # This sucks. We should probably just include the latest cacerts in the darwin bootstrap.
-      "--with-ca-bundle=${if stdenv.isDarwin then "/nix/var/nix/profiles/default" else ""}/etc/ssl/certs/ca-${if stdenv.isDarwin then "bundle" else "certificates"}.crt"
+      "--with-ca-fallback"
       "--disable-manual"
       ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
       ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index b7527cf97cec..7f7d68fd5753 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -4,13 +4,13 @@ stdenv.mkDerivation rec {
 
   name = pname + "-" + version;
   pname = "i2pd";
-  version = "2.11.0";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "1ky4ckv5p86xxgjkgxdi48c9q9h4pff2blilg03bxks8f8dxfy9f";
+    sha256 = "1m97s3c1fvhq6ql3zr2a2ia2n06cl8jgf28gjn4k3xg8m7s984dz";
   };
 
   buildInputs = [ boost zlib openssl ];
diff --git a/pkgs/tools/networking/pcapc/default.nix b/pkgs/tools/networking/pcapc/default.nix
index 66028a973b3c..552cda93bcc9 100644
--- a/pkgs/tools/networking/pcapc/default.nix
+++ b/pkgs/tools/networking/pcapc/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchFromGitHub, libpcap }:
+{ stdenv, fetchFromGitHub, libpcap, cmake }:
 
 stdenv.mkDerivation rec {
   name = "pcapc-${version}";
-  version = "2015-03-06";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    sha256 = "02j45wmxy8qcji0giwx3364pbqb6849s8y0xfvzx40g98mssl027";
-    rev = "9dddf52e65c8cff72c7c11758a951b31bf083436";
+    sha256 = "137crs0bb7kh9a8p9g168yj2jrp0h3j3073nwh31jy4nk0g5hlfp";
+    rev = "v${version}";
     repo = "pcapc";
     owner = "pfactum";
   };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ libpcap ];
 
   makeFlags = [ "PREFIX=$(out)" ];
@@ -19,12 +20,8 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
-  postInstall = ''
-    install -Dm644 {.,$out/share/doc/pcapc}/README.md
-  '';
-
   meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/pfactum/pcapc";
     description = "Compile libpcap filter expressions into BPF opcodes";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix
index a8bbe8b71ab4..067f80c42a9f 100644
--- a/pkgs/tools/networking/s6-dns/default.nix
+++ b/pkgs/tools/networking/s6-dns/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.0.0.7";
+  version = "2.1.0.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6-dns";
     rev = "refs/tags/v${version}";
-    sha256 = "1f9a4bjpsqhs9aq0zam74mj6zn1ffaljgp98hqj9j83d2jlvqpv5";
+    sha256 = "126ikznsw0hlk4mmf03yxzfnvcw823g5il1vfs3a5fa9q26xyc72";
   };
 
   dontDisableStatic = true;
@@ -19,6 +19,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--includedir=\${prefix}/include"
     "--libdir=\${prefix}/lib"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
index fa7994e8f8f3..1ddd4fad4dc0 100644
--- a/pkgs/tools/networking/s6-networking/default.nix
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.1.0.4";
+  version = "2.2.1.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6-networking";
     rev = "refs/tags/v${version}";
-    sha256 = "0rm0vpfshayhi5qwsvkgzdjmg43lvslp74h7lda964p72wr6gahg";
+    sha256 = "0msfssd42pdwch0z8rhrm7hd4ps9d730az92vg0pnz769xs8kjx0";
   };
 
   dontDisableStatic = true;
@@ -19,6 +19,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
     "--with-include=${skalibs}/include"
     "--with-include=${execline}/include"
diff --git a/pkgs/tools/package-management/cde/default.nix b/pkgs/tools/package-management/cde/default.nix
new file mode 100644
index 000000000000..17150c75466e
--- /dev/null
+++ b/pkgs/tools/package-management/cde/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "cde-${version}";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "pgbovine";
+    repo = "CDE";
+    sha256 = "0raiz7pczkbnzxpg7g59v7gdp1ipkwgms2vh3431snw1va1gjzmk";
+    rev = "v${version}";
+  };
+
+  # The build is small, so there should be no problem
+  # running this locally. There is also a use case for
+  # older systems, where modern binaries might not be
+  # useful.
+  preferLocalBuild = true;
+
+  patchBuild = ''
+    sed '/install/d' $src/Makefile > $src/Makefile
+  '';
+  
+  installPhase = ''
+    mkdir -p $out/bin
+    cp cde $out/bin
+    cp cde-exec $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pgbovine/CDE;
+    description = "A packaging tool for building portable packages";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.rlupton20 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 3aa555f19160..5603ae1b3243 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
-, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp
+, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli
 , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
@@ -21,6 +21,7 @@ let
 
     buildInputs = [ curl openssl sqlite xz ]
       ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
+      ++ lib.optional fromGit brotli # Since 1.12
       ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && lib.versionAtLeast version "1.12pre")
           (aws-sdk-cpp.override {
             apis = ["s3"];
@@ -112,12 +113,12 @@ in rec {
 
   nixUnstable = lib.lowPrio (common rec {
     name = "nix-1.12${suffix}";
-    suffix = "pre5073_1cf4801";
+    suffix = "pre5110_165786d";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "1cf480110879ffc8aee94b4b75999da405b71d7c";
-      sha256 = "1iwpddz0yni7cz2g9asj6nmrwhaai3rhfmkq954hph8nx02c3l02";
+      rev = "165786dbc0ca0b93fadb6e491defac603475b601";
+      sha256 = "0ah68ss5wlpgfpc4k7yl2h3szbwgllyn5d6s464vynaig6b165pz";
     };
     fromGit = true;
   });
diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix
index ea6b7411c4e7..e6abb72b43da 100644
--- a/pkgs/tools/security/signing-party/default.nix
+++ b/pkgs/tools/security/signing-party/default.nix
@@ -1,73 +1,217 @@
-{ stdenv, fetchurl, makeWrapper, autoconf, automake
-, gnupg, perl, python, libmd, qprint, coreutils, gnused, glibc, gnupg1compat
-, perlPackages }:
+{ stdenv, fetchurl, autoconf, automake, makeWrapper
+, python, perl, perlPackages
+, libmd, gnupg1, which, getopt, libpaper, nettools, qprint
+, sendmailPath ? "/run/wrappers/bin/sendmail" }:
 
+let
+  # All runtime dependencies from the CPAN graph:
+  # https://widgets.stratopan.com/wheel?q=GnuPG-Interface-0.52&runtime=1&fs=1
+  # TODO: XSLoader seems optional
+  GnuPGInterfaceRuntimeDependencies = with perlPackages; [
+    strictures ClassMethodModifiers DataPerl DevelGlobalDestruction ExporterTiny
+    GnuPGInterface ListMoreUtils ModuleRuntime Moo MooXHandlesVia MooXlate
+    RoleTiny SubExporterProgressive SubQuote TypeTiny XSLoader
+  ];
+in
 stdenv.mkDerivation rec {
+  pname = "signing-party";
   version = "2.5";
-  basename = "signing-party";
-  name = "${basename}-${version}";
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/s/${basename}/${basename}_${version}.orig.tar.gz";
+    url = "mirror://debian/pool/main/s/${pname}/${pname}_${version}.orig.tar.gz";
     sha256 = "1y2bxk01qiwaqaily0s6zi10ssv7l35vksib6fxzyl76pp693nv2";
   };
 
   sourceRoot = ".";
 
+  # TODO: Get this patch upstream...
   patches = [ ./gpgwrap_makefile.patch ];
 
   postPatch = ''
-    substituteInPlace gpg-mailkeys/gpg-mailkeys --replace "/usr/sbin/sendmail" "sendmail"
+    substituteInPlace gpg-mailkeys/gpg-mailkeys --replace \
+      "/usr/sbin/sendmail" "${sendmailPath}"
   '';
 
+  # One can use the following command to find all relevant Makefiles:
+  # grep -R '$(DESTDIR)/usr' | cut -d: -f1 | sort -u | grep -v 'debian/rules'
   preBuild = ''
-    substituteInPlace sig2dot/Makefile --replace "\$(DESTDIR)/usr" "$out"
-    substituteInPlace gpgsigs/Makefile --replace "\$(DESTDIR)/usr" "$out"
-    substituteInPlace keylookup/Makefile --replace "\$(DESTDIR)/usr" "$out"
-    substituteInPlace springgraph/Makefile --replace "\$(DESTDIR)/usr" "$out"
-    substituteInPlace keyanalyze/Makefile --replace "\$(DESTDIR)/usr" "$out"
+    substituteInPlace gpgsigs/Makefile --replace '$(DESTDIR)/usr' "$out"
+    substituteInPlace keyanalyze/Makefile --replace '$(DESTDIR)/usr' "$out"
+    substituteInPlace keylookup/Makefile --replace '$(DESTDIR)/usr' "$out"
+    substituteInPlace sig2dot/Makefile --replace '$(DESTDIR)/usr' "$out"
+    substituteInPlace springgraph/Makefile --replace '$(DESTDIR)/usr' "$out"
   '';
 
+  # Perl is required for it's pod2man.
+  # Python and Perl are required for patching the script interpreter paths.
   nativeBuildInputs = [ autoconf automake makeWrapper ];
-  buildInputs = [ gnupg perl python libmd ] ++
-    (with perlPackages; [ GnuPGInterface TextTemplate MIMEtools NetIDNEncode MailTools ]);
-
-  installFlags = [ "DESTDIR=\${out}" ];
+  buildInputs = [ python perl perlPackages.GnuPGInterface libmd gnupg1 ];
 
   postInstall = ''
-    install -m 755 \
-      caff/caff caff/pgp-clean caff/pgp-fixkey \
-      gpglist/gpglist \
-      gpgparticipants/gpgparticipants \
-      gpgparticipants/gpgparticipants-prefill \
-      gpgsigs/gpgsigs \
-      gpg-key2ps/gpg-key2ps \
-      gpg-mailkeys/gpg-mailkeys \
-      keyart/keyart \
-      $out/bin
-
-    install -m 644 \
-      caff/caff.1 caff/pgp-clean.1 caff/pgp-fixkey.1 \
-      gpglist/gpglist.1 \
-      gpgparticipants/gpgparticipants-prefill.1 \
-      gpgparticipants/gpgparticipants.1 \
-      gpgsigs/gpgsigs.1 \
-      gpg-key2ps/gpg-key2ps.1 \
-      gpg-mailkeys/gpg-mailkeys.1 \
-      $out/share/man/man1
-
-    wrapProgram $out/bin/caff --prefix PERL5LIB ":" "$PERL5LIB" \
-      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1compat ]}"
-    wrapProgram $out/bin/gpg-mailkeys --prefix PATH ":" "${stdenv.lib.makeBinPath [ qprint coreutils gnused glibc gnupg1compat ]}"
+    # Install all tools which aren't handled by 'make install'.
+    # TODO: Fix upstream...!
+
+    # caff: CA - Fire and Forget signs and mails a key
+    install -D -m555 caff/caff $out/bin/caff;
+    install -D -m444 caff/caff.1 $out/share/man/man1/caff.1;
+
+    # pgp-clean: removes all non-self signatures from key
+    install -D -m555 caff/pgp-clean $out/bin/pgp-clean;
+    install -D -m444 caff/pgp-clean.1 $out/share/man/man1/pgp-clean.1;
+
+    # pgp-fixkey: removes broken packets from keys
+    install -D -m555 caff/pgp-fixkey $out/bin/pgp-fixkey;
+    install -D -m444 caff/pgp-fixkey.1 $out/share/man/man1/pgp-fixkey.1;
+
+    # gpg-mailkeys: simply mail out a signed key to its owner
+    install -D -m555 gpg-mailkeys/gpg-mailkeys $out/bin/gpg-mailkeys;
+    install -D -m444 gpg-mailkeys/gpg-mailkeys.1 $out/share/man/man1/gpg-mailkeys.1;
+
+    # gpg-key2ps: generate PostScript file with fingerprint paper slips
+    install -D -m555 gpg-key2ps/gpg-key2ps $out/bin/gpg-key2ps;
+    install -D -m444 gpg-key2ps/gpg-key2ps.1 $out/share/man/man1/gpg-key2ps.1;
+
+    # gpgdir: recursive directory encryption tool
+    install -D -m555 gpgdir/gpgdir $out/bin/gpgdir;
+    install -D -m444 gpgdir/gpgdir.1 $out/share/man/man1/gpgdir.1;
+
+    # gpglist: show who signed which of your UIDs
+    install -D -m555 gpglist/gpglist $out/bin/gpglist;
+    install -D -m444 gpglist/gpglist.1 $out/share/man/man1/gpglist.1;
+
+    # gpgsigs: annotates list of GnuPG keys with already done signatures
+    # Handled by 'make install'
+
+    # gpgparticipants: create list of party participants for the organiser
+    install -D -m555 gpgparticipants/gpgparticipants $out/bin/gpgparticipants;
+    install -D -m444 gpgparticipants/gpgparticipants.1 $out/share/man/man1/gpgparticipants.1;
+    install -D -m555 gpgparticipants/gpgparticipants-prefill $out/bin/gpgparticipants-prefill;
+    install -D -m444 gpgparticipants/gpgparticipants-prefill.1 $out/share/man/man1/gpgparticipants-prefill.1;
+
+    # gpgwrap: a passphrase wrapper
+    install -D -m555 gpgwrap/bin/gpgwrap $out/bin/gpgwrap;
+    install -D -m444 gpgwrap/doc/gpgwrap.1 $out/share/man/man1/gpgwrap.1;
+
+    # keyanalyze: minimum signing distance (MSD) analysis on keyrings
+    # Handled by 'make install'
+
+    # keylookup: ncurses wrapper around gpg --search
+    # Handled by 'make install'
+
+    # sig2dot: converts a list of GnuPG signatures to a .dot file
+    # Handled by 'make install'
+
+    # springgraph: creates a graph from a .dot file
+    # Handled by 'make install'
+
+    # keyart: creates a random ASCII art of a PGP key file
+    install -D -m555 keyart/keyart $out/bin/keyart;
+    install -D -m444 keyart/doc/keyart.1 $out/share/man/man1/keyart.1;
+
+    # gpg-key2latex: generate LaTeX file with fingerprint paper slips
+    install -D -m555 gpg-key2latex/gpg-key2latex $out/bin/gpg-key2latex;
+    install -D -m444 gpg-key2latex/gpg-key2latex.1 $out/share/man/man1/gpg-key2latex.1;
+  '';
+
+  postFixup = ''
+    # Add the runtime dependencies for all programs (but mainly for the Perl
+    # scripts)
+
+    wrapProgram $out/bin/caff --set PERL5LIB \
+      ${with perlPackages; stdenv.lib.makePerlPath ([
+        TextTemplate MIMEtools MailTools TimeDate NetIDNEncode ]
+        ++ GnuPGInterfaceRuntimeDependencies)} \
+      --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ nettools gnupg1 ]}"
+
+    wrapProgram $out/bin/gpg-key2latex --set PERL5LIB \
+      ${stdenv.lib.makePerlPath GnuPGInterfaceRuntimeDependencies} \
+      --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 libpaper ]}"
+
+    wrapProgram $out/bin/gpg-key2ps --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ which gnupg1 libpaper ]}"
+
+    wrapProgram $out/bin/gpg-mailkeys --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 qprint ]}"
+
+    wrapProgram $out/bin/gpgdir --set PERL5LIB \
+      ${with perlPackages; stdenv.lib.makePerlPath ([
+        TermReadKey ]
+        ++ GnuPGInterfaceRuntimeDependencies)}
+
+    wrapProgram $out/bin/gpglist --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+    wrapProgram $out/bin/gpgparticipants --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ getopt gnupg1 ]}"
+
+#    wrapProgram $out/bin/gpgparticipants-prefill
+
+    wrapProgram $out/bin/gpgsigs --set PERL5LIB \
+      ${stdenv.lib.makePerlPath GnuPGInterfaceRuntimeDependencies} \
+      --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+    wrapProgram $out/bin/gpgwrap --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+#    wrapProgram $out/bin/keyanalyze --set PERL5LIB \
+
+    wrapProgram $out/bin/keyart --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+    wrapProgram $out/bin/keylookup --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+    wrapProgram $out/bin/pgp-clean --set PERL5LIB \
+      ${stdenv.lib.makePerlPath GnuPGInterfaceRuntimeDependencies} \
+      --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+    wrapProgram $out/bin/pgp-fixkey --set PERL5LIB \
+      ${stdenv.lib.makePerlPath GnuPGInterfaceRuntimeDependencies} \
+      --prefix PATH ":" \
+      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+
+#    wrapProgram $out/bin/pgpring
+
+#    wrapProgram $out/bin/process_keys
+
+     # Upstream-Bug: Seems like sig2dot doesn't work with 2.1 (modern) anymore,
+     # please use 2.0 (stable) instead.
+#    wrapProgram $out/bin/sig2dot
+
+    wrapProgram $out/bin/springgraph --set PERL5LIB \
+      ${with perlPackages; stdenv.lib.makePerlPath [ GD ]}
   '';
 
-  doCheck = false; # no tests
+  meta = with stdenv.lib; {
+    homepage = "https://pgp-tools.alioth.debian.org/";
+    description = "A collection of several projects relating to OpenPGP";
+    longDescription = ''
+      This is a collection of several projects relating to OpenPGP.
 
-  meta = {
-    description = "A collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc";
-    homepage = http://pgp-tools.alioth.debian.org;
-    platforms = gnupg.meta.platforms;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fpletz ];
+      * caff: CA - Fire and Forget signs and mails a key
+      * pgp-clean: removes all non-self signatures from key
+      * pgp-fixkey: removes broken packets from keys
+      * gpg-mailkeys: simply mail out a signed key to its owner
+      * gpg-key2ps: generate PostScript file with fingerprint paper slips
+      * gpgdir: recursive directory encryption tool
+      * gpglist: show who signed which of your UIDs
+      * gpgsigs: annotates list of GnuPG keys with already done signatures
+      * gpgparticipants: create list of party participants for the organiser
+      * gpgwrap: a passphrase wrapper
+      * keyanalyze: minimum signing distance (MSD) analysis on keyrings
+      * keylookup: ncurses wrapper around gpg --search
+      * sig2dot: converts a list of GnuPG signatures to a .dot file
+      * springgraph: creates a graph from a .dot file
+      * keyart: creates a random ASCII art of a PGP key file
+      * gpg-key2latex: generate LaTeX file with fingerprint paper slips
+    '';
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fpletz primeos ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
deleted file mode 100644
index 80a92b4a932e..000000000000
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{ stdenv, fetchurl, makeDesktopItem
-, libXrender, libX11, libXext, libXt, alsaLib, dbus, dbus_glib, glib, gtk2
-, atk, pango, freetype, fontconfig, gdk_pixbuf, cairo, zlib
-, gstreamer, gst-plugins-base, gst-plugins-good, gst-ffmpeg, gmp, ffmpeg
-, libpulseaudio
-, mediaSupport ? false
-}:
-
-let
-  libPath = stdenv.lib.makeLibraryPath ([
-    stdenv.cc.cc zlib glib alsaLib dbus dbus_glib gtk2 atk pango freetype
-    fontconfig gdk_pixbuf cairo libXrender libX11 libXext libXt
-  ] ++ stdenv.lib.optionals mediaSupport [
-    gstreamer gst-plugins-base gmp ffmpeg
-    libpulseaudio
-  ]);
-
-  # Ignored if !mediaSupport
-  gstPlugins = [ gstreamer gst-plugins-base gst-plugins-good gst-ffmpeg ];
-
-  gstPluginsPath = stdenv.lib.concatMapStringsSep ":" (x:
-    "${x}/lib/gstreamer-0.10") gstPlugins;
-in
-
-stdenv.mkDerivation rec {
-  name = "tor-browser-${version}";
-  version = "6.5.1";
-
-  src = fetchurl {
-    url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux${if stdenv.is64bit then "64" else "32"}-${version}_en-US.tar.xz";
-    sha256 = if stdenv.is64bit then
-      "1p2bgavvyzahqpjg9vp14c0s50rmha3v1hs1c8zvz6fj8fgrhn0i" else
-      "1zfghr01bhpn39wqaw7hyx7yap7xyla4m3mrgz2vi9a5qsyxmbcr";
-  };
-
-  preferLocalBuild = true;
-
-  desktopItem = makeDesktopItem {
-    name = "torbrowser";
-    exec = "tor-browser";
-    icon = "torbrowser";
-    desktopName = "Tor Browser";
-    genericName = "Tor Browser";
-    comment = meta.description;
-    categories = "Network;WebBrowser;Security;";
-  };
-
-  patchPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Browser/firefox
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Browser/TorBrowser/Tor/tor
-
-    sed -e "s,./TorBrowser,$out/share/tor-browser/Browser/TorBrowser,g" -i Browser/TorBrowser/Data/Tor/torrc-defaults
-  '';
-
-  doCheck = true;
-  checkPhase = ''
-    echo "Checking firefox..."
-    LD_LIBRARY_PATH=${libPath} Browser/firefox --help 1> /dev/null
-    echo "Checking tor..."
-    LD_LIBRARY_PATH=${libPath}:Browser/TorBrowser/Tor Browser/TorBrowser/Tor/tor --help 1> /dev/null
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share/tor-browser
-    mkdir -p $out/bin
-    cp -R * $out/share/tor-browser
-
-    cat > "$out/bin/tor-browser" << EOF
-    #! ${stdenv.shell}
-    unset SESSION_MANAGER
-    export HOME="\$HOME/.torbrowser4"
-    if [ ! -d \$HOME ]; then
-      mkdir -p \$HOME && cp -R $out/share/tor-browser/Browser/TorBrowser/Data \$HOME/ && chmod -R +w \$HOME
-      echo "pref(\"extensions.torlauncher.tordatadir_path\", \"\$HOME/Data/Tor/\");" >> \
-        ~/Data/Browser/profile.default/preferences/extension-overrides.js
-      echo "pref(\"extensions.torlauncher.torrc-defaults_path\", \"\$HOME/Data/Tor/torrc-defaults\");" >> \
-        ~/Data/Browser/profile.default/preferences/extension-overrides.js
-      echo "pref(\"extensions.torlauncher.tor_path\", \"$out/share/tor-browser/Browser/TorBrowser/Tor/tor\");" >> \
-        ~/Data/Browser/profile.default/preferences/extension-overrides.js
-    fi
-    export FONTCONFIG_PATH=\$HOME/Data/fontconfig
-    export LD_LIBRARY_PATH=${libPath}:$out/share/tor-browser/Browser/TorBrowser/Tor
-    ${stdenv.lib.optionalString mediaSupport ''
-      export GST_PLUGIN_SYSTEM_PATH=${gstPluginsPath}
-    ''}
-    exec $out/share/tor-browser/Browser/firefox --class "Tor Browser" -no-remote -profile ~/Data/Browser/profile.default "\$@"
-    EOF
-    chmod +x $out/bin/tor-browser
-
-    mkdir -p $out/share/applications
-    cp $desktopItem/share/applications"/"* $out/share/applications
-
-    mkdir -p $out/share/pixmaps
-    cp Browser/browser/icons/mozicon128.png $out/share/pixmaps/torbrowser.png
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Tor Browser Bundle";
-    homepage    = https://www.torproject.org/;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ];
-  };
-}
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
new file mode 100644
index 000000000000..55defd680909
--- /dev/null
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, pythonPackages, fetchurl, callPackage, nix, }:
+
+let
+  external = callPackage ./requirements.nix {
+    inherit pythonPackages;
+  };
+in pythonPackages.buildPythonApplication rec{
+  name = "${pname}-${version}";
+  pname = "vulnix";
+  version = "1.2.2";
+
+  src = pythonPackages.fetchPypi {
+    inherit pname version;
+    sha256 = "1ia9plziwach0bxnlcd33q30kcsf8sv0nf2jc78gsmrqnxjabr12";
+  };
+
+  buildInputs = with pythonPackages; [ flake8 pytest pytestcov ];
+
+  postPatch = ''
+    sed -i -e 's/==\([^=]\+\)/>=\1/g' setup.py
+  '';
+
+  propagatedBuildInputs = [
+    nix
+  ] ++ (with pythonPackages; [
+    click
+    colorama
+    lxml
+    pyyaml
+    requests2
+    external.zodb
+  ]);
+
+  checkPhase = "py.test";
+
+  meta = with stdenv.lib; {
+    description = "NixOS vulnerability scanner";
+    homepage = https://github.com/flyingcircusio/vulnix;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ plumps ];
+  };
+}
diff --git a/pkgs/tools/security/vulnix/requirements.nix b/pkgs/tools/security/vulnix/requirements.nix
new file mode 100644
index 000000000000..952dc1ce652f
--- /dev/null
+++ b/pkgs/tools/security/vulnix/requirements.nix
@@ -0,0 +1,131 @@
+{ pythonPackages, fetchurl, stdenv }:
+
+rec {
+  BTrees = pythonPackages.buildPythonPackage {
+    name = "BTrees-4.3.1";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/24/76/cd6f225f2180c22af5cdb6656f51aec5fca45e45bdc4fa75c0a32f161a61/BTrees-4.3.1.tar.gz";
+      sha256 = "2565b7d35260dfc6b1e2934470fd0a2f9326c58c535a2b4cb396289d1c195a95";
+    };
+    propagatedBuildInputs = [
+      persistent
+      transaction
+      zope_interface
+    ] ++ (with pythonPackages; [ coverage ]);
+
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Scalable persistent object containers";
+    };
+  };
+
+  ZConfig = pythonPackages.buildPythonPackage {
+    name = "ZConfig-3.1.0";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/52/b3/a96d62711a26d8cfbe546519975dc9ed54d2eb50b3238d2e6de045764796/ZConfig-3.1.0.tar.gz";
+      sha256 = "c21fa3a073a56925a8098036d46717392994a92cffea1b3cda3176b70c0a842e";
+    };
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Structured Configuration Library";
+    };
+  };
+
+  zodb = pythonPackages.buildPythonPackage {
+    name = "ZODB-5.2.0";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/1e/47/2f17075ca94a4a537ebd8e195c458456ef49aa67355ec805e478b8ad1959/ZODB-5.2.0.tar.gz";
+      sha256 = "11l495lyym2fpvalj18yvcqwnsp8gyp18sgv5v575k4s2035lz0x";
+    };
+    doCheck = false;
+    propagatedBuildInputs = [
+      BTrees
+      persistent
+      transaction
+      ZConfig
+      zc.lockfile
+      zodbpickle
+    ] ++ (with pythonPackages; [ six wheel zope_interface ]);
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Zope Object Database: object database and persistence";
+    };
+  };
+
+  persistent = pythonPackages.buildPythonPackage {
+    name = "persistent-4.2.2";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/3d/71/3302512282b606ec4d054e09be24c065915518903b29380b6573bff79c24/persistent-4.2.2.tar.gz";
+      sha256 = "52ececc6dbba5ef572d3435189318b4dff07675bafa9620e32f785e147c6563c";
+    };
+    propagatedBuildInputs = [
+      zope_interface
+    ] ++ (with pythonPackages; [ six wheel ]);
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Translucent persistent objects";
+    };
+  };
+
+  transaction = pythonPackages.buildPythonPackage {
+    name = "transaction-2.0.3";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/8c/af/3ffafe85bcc93ecb09459f3f2bd8fbe142e9ab34048f9e2774543b470cbd/transaction-2.0.3.tar.gz";
+      sha256 = "67bfb81309ba9717edbb2ca2e5717c325b78beec0bf19f44e5b4b9410f82df7f";
+    };
+    propagatedBuildInputs = [
+      zope_interface
+    ] ++ (with pythonPackages; [ six wheel ]);
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Transaction management for Python";
+    };
+  };
+
+  zc.lockfile = pythonPackages.buildPythonPackage {
+    name = "zc.lockfile-1.2.1";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/bd/84/0299bbabbc9d3f84f718ba1039cc068030d3ad723c08f82a64337edf901e/zc.lockfile-1.2.1.tar.gz";
+      sha256 = "11db91ada7f22fe8aae268d4bfdeae012c4fe655f66bbb315b00822ec00d043e";
+    };
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Basic inter-process locks";
+    };
+  };
+
+  zodbpickle = pythonPackages.buildPythonPackage {
+    name = "zodbpickle-0.6.0";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/7a/fc/f6f437a5222b330735eaf8f1e67a6845bd1b600e9a9455e552d3c13c4902/zodbpickle-0.6.0.tar.gz";
+      sha256 = "ea3248be966159e7791e3db0e35ea992b9235d52e7d39835438686741d196665";
+    };
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Fork of Python 3 pickle module.";
+    };
+  };
+
+  zope_interface = pythonPackages.buildPythonPackage {
+    name = "zope.interface-4.3.3";
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/44/af/cea1e18bc0d3be0e0824762d3236f0e61088eeed75287e7b854d65ec9916/zope.interface-4.3.3.tar.gz";
+      sha256 = "8780ef68ca8c3fe1abb30c058a59015129d6e04a6b02c2e56b9c7de6078dfa88";
+    };
+    propagatedBuildInputs = [ ];
+    meta = with stdenv.lib; {
+      homepage = "";
+      license = licenses.zpt21;
+      description = "Interfaces for Python";
+    };
+  };
+}
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 02c76798fd77..31c01409eb2d 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "0.0.2.1";
+  version = "0.1.0.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6-rc";
     rev = "refs/tags/v${version}";
-    sha256 = "1gh72q1h1ds53yrzp481nvzaxkhhpm2kv59pfx4x564gxwdvq3a6";
+    sha256 = "1izjss1vfmkrkbgpzxlh0krkd2zin9d77ykr6i08rhixz7c2am0r";
   };
 
   dontDisableStatic = true;
@@ -19,6 +19,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
     "--with-include=${skalibs}/include"
     "--with-include=${execline}/include"
diff --git a/pkgs/tools/system/s6/default.nix b/pkgs/tools/system/s6/default.nix
index 84e79442ffa0..19045a8c790b 100644
--- a/pkgs/tools/system/s6/default.nix
+++ b/pkgs/tools/system/s6/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.2.4.3";
+  version = "2.4.0.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6";
     rev = "refs/tags/v${version}";
-    sha256 = "1jlavi3q6wmcxdcwsy42qcgfkl0ag6hwcgmi4g67dvqs9nqjq2a3";
+    sha256 = "0yf9apl05g1gxqwh01yd1iyg0xm50ywnlwp4szd08sg0srmvys16";
   };
 
   dontDisableStatic = true;
@@ -19,6 +19,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
+    "--enable-absolute-paths"
     "--with-sysdeps=${skalibs}/lib/skalibs/sysdeps"
     "--with-include=${skalibs}/include"
     "--with-include=${execline}/include"
@@ -30,11 +31,6 @@ in stdenv.mkDerivation rec {
   ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
   ++ (stdenv.lib.optional stdenv.isDarwin "--target=${stdenv.system}");
 
-  preBuild = ''
-    substituteInPlace "src/daemontools-extras/s6-log.c" \
-      --replace '"execlineb"' '"${execline}/bin/execlineb"'
-  '';
-
   meta = {
     homepage = http://www.skarnet.org/software/s6/;
     description = "skarnet.org's small & secure supervision software suite";
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index 382219a0a3a3..2c34a9aff32b 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig
+{ stdenv, darwin, fetchurl, makeWrapper, pkgconfig
 , harfbuzz, icu, lpeg, luaexpat, luazlib, luafilesystem
 , fontconfig, lua, libiconv
 }:
@@ -26,7 +26,15 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [pkgconfig makeWrapper];
-  buildInputs = [ harfbuzz icu lua lpeg luaexpat luazlib luafilesystem fontconfig libiconv ];
+  buildInputs = [ harfbuzz icu lua lpeg luaexpat luazlib luafilesystem fontconfig libiconv ]
+  ++ optional stdenv.isDarwin darwin.apple_sdk.frameworks.AppKit
+  ;
+
+  preConfigure = optionalString stdenv.isDarwin ''
+    sed -i -e 's|@import AppKit;|#import <AppKit/AppKit.h>|' src/macfonts.m
+  '';
+
+  NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework AppKit";
 
   LUA_PATH = luaPath;
   LUA_CPATH = luaCPath;
@@ -49,8 +57,8 @@ stdenv.mkDerivation rec {
       technologies and borrowing some ideas from graphical systems
       such as InDesign.
     '';
-    homepage = "http://www.sile-typesetter.org";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.mit;
+    homepage = http://www.sile-typesetter.org;
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index abfe951a33fe..c783316c6d55 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -111,6 +111,7 @@ in buildEnv {
         -e "s,\$SELFAUTODIR,$out/share,g" \
         -e "s,\$SELFAUTOPARENT,$out/share,g" \
         -e "s,\$SELFAUTOGRANDPARENT,$out/share,g" \
+        -e "/^mpost,/d" `# CVE-2016-10243` \
         "$cnfOrig" > ./texmf.cnf
 
       patchCnfLua "./texmfcnf.lua"
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index f790bbf29ed0..dfecb3f72122 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -95,6 +95,7 @@ doNotDisplayTwice rec {
   nfsUtils = nfs-utils;  # added 2014-12-06
   opencl-icd = ocl-icd; # added 2017-01-20
   owncloudclient = owncloud-client;  # added 2016-08
+  pgp-tools = signing-party; # added 2017-03-26
   pidgin-with-plugins = pidgin; # added 2016-06
   pidginlatexSF = pidginlatex; # added 2014-11-02
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6b8ae0020a04..fdfdf4181c7a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -170,6 +170,8 @@ with pkgs;
     inherit curl stdenv;
   };
 
+  fetchRepoProject = callPackage ../build-support/fetchrepoproject { };
+
   # fetchurlBoot is used for curl and its dependencies in order to
   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
@@ -279,6 +281,8 @@ with pkgs;
 
   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
 
+  setupSystemdUnits = callPackage ../build-support/setup-systemd-units.nix { };
+
   singularity-tools = callPackage ../build-support/singularity-tools { };
 
   srcOnly = args: callPackage ../build-support/src-only args;
@@ -430,7 +434,7 @@ with pkgs;
     withGui = false;
   };
 
-  apitrace = libsForQt55.callPackage ../applications/graphics/apitrace {};
+  apitrace = libsForQt56.callPackage ../applications/graphics/apitrace {};
 
   argus = callPackage ../tools/networking/argus {};
 
@@ -736,6 +740,8 @@ with pkgs;
 
   catclock = callPackage ../applications/misc/catclock { };
 
+  cde = callPackage ../tools/package-management/cde { };
+  
   cdemu-daemon = callPackage ../misc/emulators/cdemu/daemon.nix { };
 
   cdemu-client = callPackage ../misc/emulators/cdemu/client.nix { };
@@ -1030,6 +1036,8 @@ with pkgs;
 
   mongodb-tools = callPackage ../tools/misc/mongodb-tools { };
 
+  msr-tools = callPackage ../os-specific/linux/msr-tools { };
+
   mstflint = callPackage ../tools/misc/mstflint { };
 
   mcelog = callPackage ../os-specific/linux/mcelog {
@@ -1258,37 +1266,25 @@ with pkgs;
   m17n_lib = callPackage ../tools/inputmethods/m17n-lib { };
 
   ibus = callPackage ../tools/inputmethods/ibus {
-    inherit (python3Packages) pygobject3;
     inherit (gnome3) dconf glib;
   };
 
   ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { };
 
   ibus-engines = recurseIntoAttrs {
+    anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { };
 
-    anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy {
-      inherit (python3Packages) pygobject3;
-    };
+    hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { };
 
-    hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul {
-      inherit (python3Packages) pygobject3;
-    };
+    libpinyin = callPackage ../tools/inputmethods/ibus-engines/ibus-libpinyin { };
 
-    libpinyin = callPackage ../tools/inputmethods/ibus-engines/ibus-libpinyin {
-      inherit (python3Packages) pygobject3;
-    };
-
-    m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n {
-      inherit (python3Packages) pygobject3;
-    };
+    m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n { };
 
     mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc {
-      inherit (pythonPackages) gyp;
       protobuf = protobuf.override { stdenv = clangStdenv; };
     };
 
     table = callPackage ../tools/inputmethods/ibus-engines/ibus-table {
-      inherit (python3Packages) pygobject3;
       inherit (gnome3) dconf;
     };
 
@@ -1344,7 +1340,7 @@ with pkgs;
 
   convoy = callPackage ../tools/filesystems/convoy { };
 
-  cool-retro-term = libsForQt55.callPackage ../applications/misc/cool-retro-term { };
+  cool-retro-term = libsForQt56.callPackage ../applications/misc/cool-retro-term { };
 
   coreutils = callPackage ../tools/misc/coreutils {
     aclSupport = stdenv.isLinux;
@@ -2428,6 +2424,8 @@ with pkgs;
 
   jaaa = callPackage ../applications/audio/jaaa { };
 
+  jackett = callPackage ../servers/jackett { };
+
   jade = callPackage ../tools/text/sgml/jade { };
 
   jd-gui = callPackage_i686 ../tools/security/jd-gui { };
@@ -3660,6 +3658,8 @@ with pkgs;
 
   radamsa = callPackage ../tools/security/radamsa { };
 
+  radarr = callPackage ../servers/radarr { };
+
   radvd = callPackage ../tools/networking/radvd { };
 
   rambox = callPackage ../applications/networking/instant-messengers/rambox { };
@@ -3893,13 +3893,15 @@ with pkgs;
 
   shellinabox = callPackage ../servers/shellinabox { };
 
+  shrikhand = callPackage ../data/fonts/shrikhand { };
+
   sic = callPackage ../applications/networking/irc/sic { };
 
   siege = callPackage ../tools/networking/siege {};
 
-  sigil = libsForQt55.callPackage ../applications/editors/sigil { };
+  sigil = libsForQt56.callPackage ../applications/editors/sigil { };
 
-  # aka., gpg-tools
+  # aka., pgp-tools
   signing-party = callPackage ../tools/security/signing-party { };
 
   silc_client = callPackage ../applications/networking/instant-messengers/silc-client { };
@@ -4181,7 +4183,7 @@ with pkgs;
 
   tor-arm = callPackage ../tools/security/tor/tor-arm.nix { };
 
-  torbrowser = callPackage ../tools/security/tor/torbrowser.nix { };
+  torbrowser = callPackage ../applications/networking/browsers/torbrowser { };
 
   touchegg = callPackage ../tools/inputmethods/touchegg { };
 
@@ -5327,7 +5329,7 @@ with pkgs;
   jre = jre8;
   jre_headless = jre8_headless;
 
-  openshot-qt = callPackage ../applications/video/openshot-qt { };
+  openshot-qt = libsForQt56.callPackage ../applications/video/openshot-qt { };
 
   oraclejdk = pkgs.jdkdistro true false;
 
@@ -6104,7 +6106,7 @@ with pkgs;
 
   ssm-agent = callPackage ../applications/networking/cluster/ssm-agent { };
 
-  supercollider = callPackage ../development/interpreters/supercollider {
+  supercollider = libsForQt56.callPackage ../development/interpreters/supercollider {
     fftw = fftwSinglePrec;
   };
 
@@ -6947,9 +6949,7 @@ with pkgs;
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
-  qcachegrind = libsForQt57.callPackage ../development/tools/analysis/qcachegrind {
-    qt = qt57;
-  };
+  qcachegrind = libsForQt56.callPackage ../development/tools/analysis/qcachegrind {};
 
   verasco = ocaml-ng.ocamlPackages_4_02.verasco.override {
     coq = coq_8_4;
@@ -6959,6 +6959,10 @@ with pkgs;
 
   vultr = callPackage ../development/tools/vultr { };
 
+  vulnix = callPackage ../tools/security/vulnix {
+    pythonPackages = python3Packages;
+  };
+
   xc3sprog = callPackage ../development/tools/misc/xc3sprog { };
 
   xcbuild  = callPackage ../development/tools/xcbuild/wrapper.nix {
@@ -7432,6 +7436,8 @@ with pkgs;
 
   fontconfig = callPackage ../development/libraries/fontconfig { };
 
+  fontconfig-penultimate = callPackage ../data/fonts/fontconfig-penultimate {};
+
   fontconfig-ultimate = callPackage ../development/libraries/fontconfig-ultimate {};
 
   folly = callPackage ../development/libraries/folly { };
@@ -9001,6 +9007,7 @@ with pkgs;
   mesa_drivers = mesaDarwinOr (
     let mo = mesa_noglu.override {
       grsecEnabled = config.grsecurity or false;
+      enableTextureFloats = true;
     };
     in mo.drivers
   );
@@ -9420,20 +9427,6 @@ with pkgs;
     developerBuild = true;
   });
 
-  qt55 = recurseIntoAttrs (import ../development/libraries/qt-5/5.5 {
-    inherit newScope;
-    inherit stdenv fetchurl makeSetupHook makeWrapper;
-    bison = bison2; # error: too few arguments to function 'int yylex(...
-    cups = if stdenv.isLinux then cups else null;
-    harfbuzz = harfbuzz-icu;
-    mesa = mesa_noglu;
-    inherit perl;
-    inherit (gnome2) libgnomeui GConf gnome_vfs;
-    inherit (gst_all_1) gstreamer gst-plugins-base;
-  });
-
-  libsForQt55 = recurseIntoAttrs (lib.makeScope qt55.newScope mkLibsForQt5);
-
   qt56 = recurseIntoAttrs (import ../development/libraries/qt-5/5.6 {
     inherit newScope;
     inherit stdenv fetchurl makeSetupHook makeWrapper;
@@ -9447,20 +9440,6 @@ with pkgs;
 
   libsForQt56 = recurseIntoAttrs (lib.makeScope qt56.newScope mkLibsForQt5);
 
-  qt57 = recurseIntoAttrs (import ../development/libraries/qt-5/5.7 {
-    inherit newScope;
-    inherit stdenv fetchurl makeSetupHook makeWrapper;
-    bison = bison2; # error: too few arguments to function 'int yylex(...
-    cups = if stdenv.isLinux then cups else null;
-    harfbuzz = harfbuzz-icu;
-    mesa = mesa_noglu;
-    inherit perl;
-    inherit (gst_all_1) gstreamer gst-plugins-base;
-    inherit (gnome3) gtk3 dconf;
-  });
-
-  libsForQt57 = recurseIntoAttrs (lib.makeScope qt57.newScope mkLibsForQt5);
-
   qt58 = recurseIntoAttrs (import ../development/libraries/qt-5/5.8 {
     inherit newScope;
     inherit stdenv fetchurl makeSetupHook makeWrapper;
@@ -9529,6 +9508,8 @@ with pkgs;
 
     libktorrent = callPackage ../development/libraries/libktorrent { };
 
+    libopenshot = callPackage ../applications/video/openshot-qt/libopenshot.nix {};
+
     mlt = callPackage ../development/libraries/mlt/qt-5.nix {
       ffmpeg = ffmpeg_2;
     };
@@ -11232,7 +11213,6 @@ with pkgs;
   crda = callPackage ../os-specific/linux/crda { };
 
   darwin = let
-    cmdline = callPackage ../os-specific/darwin/command-line-tools {};
     apple-source-releases = callPackage ../os-specific/darwin/apple-source-releases { };
   in apple-source-releases // rec {
     cctools_cross = callPackage (forcedNativePackages.callPackage ../os-specific/darwin/cctools/port.nix {}).cross {
@@ -11265,7 +11245,6 @@ with pkgs;
 
     xcode = callPackage ../os-specific/darwin/xcode {};
 
-    osx_sdk = callPackage ../os-specific/darwin/osx-sdk {};
     osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk {};
 
     security_tool = (newScope (darwin.apple_sdk.frameworks // darwin)) ../os-specific/darwin/security-tool {
@@ -11274,9 +11253,6 @@ with pkgs;
 
     binutils = callPackage ../os-specific/darwin/binutils { inherit cctools; };
 
-    cmdline_sdk   = cmdline.sdk;
-    cmdline_tools = cmdline.tools;
-
     apple_sdk = callPackage ../os-specific/darwin/apple-sdk {};
 
     libobjc = apple-source-releases.objc4;
@@ -13110,7 +13086,7 @@ with pkgs;
   cutecom = callPackage ../tools/misc/cutecom { };
 
   cutegram =
-    let callpkg = libsForQt55.callPackage;
+    let callpkg = libsForQt56.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 {
@@ -13524,7 +13500,7 @@ with pkgs;
 
   fbreader = callPackage ../applications/misc/fbreader { };
 
-  fdr = qt57.callPackage ../applications/science/programming/fdr { };
+  fdr = libsForQt56.callPackage ../applications/science/programming/fdr { };
 
   fehlstart = callPackage ../applications/misc/fehlstart { };
 
@@ -13589,7 +13565,7 @@ with pkgs;
 
   gnuradio-osmosdr = callPackage ../applications/misc/gnuradio-osmosdr { };
 
-  goldendict = libsForQt55.callPackage ../applications/misc/goldendict { };
+  goldendict = libsForQt56.callPackage ../applications/misc/goldendict { };
 
   inherit (ocamlPackages) google-drive-ocamlfuse;
 
@@ -13750,10 +13726,6 @@ with pkgs;
     ffmpeg = ffmpeg_1;
   };
 
-  freicoin = callPackage ../applications/misc/freicoin {
-    boost = boost155;
-  };
-
   fte = callPackage ../applications/editors/fte { };
 
   game-music-emu = callPackage ../applications/audio/game-music-emu { };
@@ -14425,7 +14397,7 @@ with pkgs;
 
   lrzsz = callPackage ../tools/misc/lrzsz { };
 
-  luminanceHDR = libsForQt55.callPackage ../applications/graphics/luminance-hdr { };
+  luminanceHDR = libsForQt56.callPackage ../applications/graphics/luminance-hdr { };
 
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
@@ -14450,7 +14422,7 @@ with pkgs;
 
   lynx = callPackage ../applications/networking/browsers/lynx { };
 
-  lyx = libsForQt57.callPackage ../applications/misc/lyx { };
+  lyx = libsForQt56.callPackage ../applications/misc/lyx { };
 
   mail-notification = callPackage ../desktops/gnome-2/desktop/mail-notification {};
 
@@ -14670,7 +14642,7 @@ with pkgs;
       avahi = avahi.override {
         withLibdnssdCompat = true;
       };
-      qt5 = qt55; # Mumble doesn't work with newer Qt versions.
+      qt5 = qt56; # Mumble doesn't work with Qt > 5.5
       jackSupport = config.mumble.jackSupport or false;
       speechdSupport = config.mumble.speechdSupport or false;
       pulseSupport = config.pulseaudio or false;
@@ -14687,7 +14659,7 @@ with pkgs;
     if stdenv.isDarwin then
       callPackage ../applications/audio/musescore/darwin.nix { }
     else
-      libsForQt55.callPackage ../applications/audio/musescore { };
+      libsForQt56.callPackage ../applications/audio/musescore { };
 
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
   mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt {
@@ -14741,7 +14713,7 @@ with pkgs;
 
   smplayer = libsForQt5.callPackage ../applications/video/smplayer { };
 
-  smtube = libsForQt55.callPackage ../applications/video/smtube {};
+  smtube = libsForQt56.callPackage ../applications/video/smtube {};
 
   sudolikeaboss = callPackage ../tools/security/sudolikeaboss { };
 
@@ -14814,9 +14786,7 @@ with pkgs;
 
   nedit = callPackage ../applications/editors/nedit { };
 
-  notepadqq = callPackage ../applications/editors/notepadqq {
-    qtbase = qt55;
-  };
+  notepadqq = libsForQt56.callPackage ../applications/editors/notepadqq { };
 
   notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
 
@@ -15101,7 +15071,7 @@ with pkgs;
 
   qgis = callPackage ../applications/gis/qgis {};
 
-  qgroundcontrol = libsForQt55.callPackage ../applications/science/robotics/qgroundcontrol { };
+  qgroundcontrol = libsForQt56.callPackage ../applications/science/robotics/qgroundcontrol { };
 
   qjackctl = libsForQt5.callPackage ../applications/audio/qjackctl { };
 
@@ -15194,7 +15164,7 @@ with pkgs;
     demo = false;
   };
 
-  rapcad = libsForQt55.callPackage ../applications/graphics/rapcad { boost = boost159; };
+  rapcad = libsForQt56.callPackage ../applications/graphics/rapcad { boost = boost159; };
 
   rapidsvn = callPackage ../applications/version-management/rapidsvn { };
 
@@ -15236,7 +15206,7 @@ with pkgs;
 
   retroshare06 = lowPrio (callPackage ../applications/networking/p2p/retroshare/0.6.nix { });
 
-  ricochet = libsForQt55.callPackage ../applications/networking/instant-messengers/ricochet { };
+  ricochet = libsForQt56.callPackage ../applications/networking/instant-messengers/ricochet { };
 
   ripser = callPackage ../applications/science/math/ripser { };
 
@@ -15418,7 +15388,7 @@ with pkgs;
   bittorrentSync14 = callPackage ../applications/networking/bittorrentsync/1.4.x.nix { };
   bittorrentSync20 = callPackage ../applications/networking/bittorrentsync/2.0.x.nix { };
 
-  dropbox = libsForQt5.callPackage ../applications/networking/dropbox { };
+  dropbox = callPackage ../applications/networking/dropbox { };
 
   dropbox-cli = callPackage ../applications/networking/dropbox-cli { };
 
@@ -15601,7 +15571,7 @@ with pkgs;
     gconf = gnome2.GConf;
   };
 
-  teamspeak_client = libsForQt55.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
+  teamspeak_client = libsForQt56.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
   taskjuggler = callPackage ../applications/misc/taskjuggler { ruby = ruby_2_0; };
@@ -15729,8 +15699,7 @@ with pkgs;
 
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
-  # We need QtWebkit which was deprecated in Qt 5.6 although it can still be build
-  trojita = with qt55; callPackage ../applications/networking/mailreaders/trojita { };
+  trojita = libsForQt56.callPackage ../applications/networking/mailreaders/trojita { };
 
   tsearch_extras = callPackage ../servers/sql/postgresql/tsearch_extras { };
 
@@ -15915,6 +15884,8 @@ with pkgs;
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
+  vogl = qt56.callPackage ../development/tools/vogl { };
+
   volnoti = callPackage ../applications/misc/volnoti { };
 
   vorbis-tools = callPackage ../applications/audio/vorbis-tools { };
@@ -15948,6 +15919,8 @@ with pkgs;
     imlib2 = imlib2-nox;
   };
 
+  way-cooler = callPackage ../applications/window-managers/way-cooler {};
+
   wayv = callPackage ../tools/X11/wayv {};
 
   weechat = callPackage ../applications/networking/irc/weechat {
@@ -17517,7 +17490,9 @@ with pkgs;
 
   caneda = callPackage ../applications/science/electronics/caneda { };
 
-  geda = callPackage ../applications/science/electronics/geda { };
+  geda = callPackage ../applications/science/electronics/geda {
+    guile = guile_2_0;
+  };
 
   gerbv = callPackage ../applications/science/electronics/gerbv { };
 
@@ -17608,7 +17583,7 @@ with pkgs;
 
   yacas = callPackage ../applications/science/math/yacas { };
 
-  speedcrunch = libsForQt5.callPackage ../applications/science/math/speedcrunch { };
+  speedcrunch = libsForQt56.callPackage ../applications/science/math/speedcrunch { };
 
   ### SCIENCE / MISC
 
@@ -17983,7 +17958,7 @@ with pkgs;
     pcre = pcre-cpp;
   });
 
-  redis-desktop-manager = libsForQt55.callPackage ../applications/misc/redis-desktop-manager { };
+  redis-desktop-manager = libsForQt56.callPackage ../applications/misc/redis-desktop-manager { };
 
   robomongo = libsForQt5.callPackage ../applications/misc/robomongo { };
 
@@ -18393,8 +18368,6 @@ with pkgs;
 
   zuki-themes = callPackage ../misc/themes/zuki { };
 
-  zoom-us = libsForQt55.callPackage ../applications/networking/instant-messengers/zoom-us {};
-
   tora = libsForQt5.callPackage ../development/tools/tora {};
 
   xulrunner = firefox-unwrapped;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index bad483f02373..2ca2ff7e75ef 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -166,11 +166,13 @@ in rec {
     };
     ghcjs = callPackage ../development/haskell-modules {
       ghc = compiler.ghcjs;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-7.10.x.nix { };
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
     ghcjsHEAD = callPackage ../development/haskell-modules {
       ghc = compiler.ghcjsHEAD;
-      compilerConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.0.x.nix { };
+      packageSetConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
     ghcHaLVM240 = callPackage ../development/haskell-modules {
       ghc = compiler.ghcHaLVM240;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 8471d1a1ced7..41347a2607db 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -516,6 +516,8 @@ let
 
     sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
 
+    stdio = callPackage ../development/ocaml-modules/stdio { };
+
     stringext = callPackage ../development/ocaml-modules/stringext { };
 
     topkg = callPackage ../development/ocaml-modules/topkg { };
@@ -571,6 +573,10 @@ let
 
     buildOcamlJane = callPackage ../development/ocaml-modules/janestreet/buildOcamlJane.nix {};
 
+    ocaml-compiler-libs = callPackage ../development/ocaml-modules/janestreet/ocaml-compiler-libs.nix {};
+
+    ppx_ast = callPackage ../development/ocaml-modules/janestreet/ppx_ast.nix {};
+
     ppx_core =
       if lib.versionOlder "4.03" ocaml.version
       then callPackage ../development/ocaml-modules/janestreet/ppx_core-113_33_01.nix {}
@@ -678,6 +684,8 @@ let
       then callPackage ../development/ocaml-modules/janestreet/ppx_jane-113_33_00.nix {}
       else callPackage ../development/ocaml-modules/janestreet/ppx-jane.nix {};
 
+    ppx_traverse_builtins = callPackage ../development/ocaml-modules/janestreet/ppx_traverse_builtins.nix {};
+
 
     # Core sublibs
     typerep =
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 72b80afebbb6..f0414b1b1ae3 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -9966,10 +9966,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   OpenGL = buildPerlPackage rec {
-    name = "OpenGL-0.6703";
+    name = "OpenGL-0.70";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CH/CHM/${name}.tar.gz";
-      sha256 = "0k2k8zg84qj1ry77i9dvmfdfpg13s6117wy5bc4nvnzv37qcvy32";
+      sha256 = "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj";
     };
 
     buildInputs = with pkgs; [ mesa mesa_glu freeglut xorg.libX11 xorg.libXi xorg.libXmu xorg.libXext xdummy ];
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index e07930a94db0..221427e08514 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -235,11 +235,11 @@ let
 
   composer = pkgs.stdenv.mkDerivation rec {
     name = "composer-${version}";
-    version = "1.3.2";
+    version = "1.4.1";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "0s85zglzwx5i0hw9zlpwy1385jink1g1lhdwhv59zdjblcd7ckva";
+      sha256 = "1g2wsnjcx1ysbw1ps2xwyhgcl8kl3yfzxgwcnh5rigjk6k67glmb";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 2283847ddefc..141957db2226 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7035,9 +7035,10 @@ in {
     buildInputs = with self; [ fudge_9 nose ];
   };
 
-  fedora_cert = mkPythonDerivation rec {
+  fedora_cert = buildPythonPackage rec {
     name = "fedora-cert-0.5.9.2";
     meta.maintainers = with maintainers; [ mornfall ];
+    format = "other";
 
     src = pkgs.fetchurl {
       url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2";
@@ -10315,36 +10316,8 @@ in {
 
   django = self.django_1_10;
 
-  django_1_10 = buildPythonPackage rec {
-    name = "Django-${version}";
-    version = "1.10.5";
-    disabled = pythonOlder "2.7";
-
-    src = pkgs.fetchurl {
-      url = "http://www.djangoproject.com/m/releases/1.10/${name}.tar.gz";
-      sha256 = "12szjsmnfhh2yr54sfynyjr8vl0q9gb6qak3ayqcifcinrs97f0d";
-    };
-
-    patches = [
-      (pkgs.substituteAll {
-        src = ../development/python-modules/django/1.10-gis-libs.template.patch;
-        geos = pkgs.geos;
-        gdal = self.gdal;
-      })
-    ];
-
-    # patch only $out/bin to avoid problems with starter templates (see #3134)
-    postFixup = ''
-      wrapPythonProgramsIn $out/bin "$out $pythonPath"
-    '';
-
-    # too complicated to setup
-    doCheck = false;
-
-    meta = {
-      description = "A high-level Python Web framework";
-      homepage = https://www.djangoproject.com/;
-    };
+  django_1_10 = callPackage ../development/python-modules/django/1_10.nix {
+    gdal = self.gdal;
   };
 
   django_1_9 = buildPythonPackage rec {
@@ -21810,8 +21783,9 @@ in {
   };
 
 
-  pysvn = mkPythonDerivation rec {
+  pysvn = buildPythonPackage rec {
     name = "pysvn-1.8.0";
+    format = "other";
 
     src = pkgs.fetchurl {
       url = "http://pysvn.barrys-emacs.org/source_kits/${name}.tar.gz";
@@ -21966,9 +21940,10 @@ in {
   });
 
 
-  pywebkitgtk = mkPythonDerivation rec {
+  pywebkitgtk = buildPythonPackage rec {
     name = "pywebkitgtk-${version}";
     version = "1.1.8";
+    format = "other";
 
     src = pkgs.fetchurl {
       url = "http://pywebkitgtk.googlecode.com/files/${name}.tar.bz2";
@@ -22301,10 +22276,11 @@ in {
 
   qscintilla = if isPy3k || isPyPy
     then throw "qscintilla-${pkgs.qscintilla.version} not supported for interpreter ${python.executable}"
-    else mkPythonDerivation rec {
+    else buildPythonPackage rec {
       # TODO: Qt5 support
       name = "qscintilla-${version}";
       version = pkgs.qscintilla.version;
+      format = "other";
 
       src = pkgs.qscintilla.src;
 
@@ -24769,6 +24745,8 @@ in {
     doCheck = false;
   };
 
+  hieroglyph = callPackage ../development/python-modules/hieroglyph { };
+
   sphinx_rtd_theme = buildPythonPackage (rec {
     name = "sphinx_rtd_theme-0.1.9";
 
@@ -25853,9 +25831,10 @@ in {
   # Python package.
   tkinter = let
     py = python.override{x11Support=true;};
-  in mkPythonDerivation rec {
+  in buildPythonPackage rec {
     name = "tkinter-${python.version}";
     src = py;
+    format = "other";
 
     disabled = isPy26 || isPyPy;
 
@@ -27550,25 +27529,7 @@ EOF
     };
   };
 
-
-  BTrees = self.buildPythonPackage rec {
-    name = "BTrees-4.1.4";
-
-    propagatedBuildInputs = with self; [ persistent zope_interface transaction ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/B/BTrees/${name}.tar.gz";
-      sha256 = "1avvhkd7rvp3rzhw20v6ank8a8m9a1lmh99c4gjjsa1ry0zsri3y";
-    };
-
-    patches = [ ../development/python-modules/btrees-py35.patch ];
-
-    meta = {
-      description = "Scalable persistent components";
-      homepage = http://packages.python.org/BTrees;
-    };
-  };
-
+  BTrees = callPackage ../development/python-modules/btrees {};
 
   persistent = self.buildPythonPackage rec {
     name = "persistent-4.0.8";