summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml4
-rw-r--r--doc/coding-conventions.xml18
-rw-r--r--doc/languages-frameworks/go.xml21
-rw-r--r--doc/languages-frameworks/haskell.md2
-rw-r--r--doc/languages-frameworks/python.md32
-rw-r--r--lib/maintainers.nix7
-rw-r--r--lib/strings.nix9
-rw-r--r--lib/trivial.nix15
-rwxr-xr-xmaintainers/scripts/generate-kde-applications.sh2
-rwxr-xr-xmaintainers/scripts/travis-nox-review-pr.sh9
-rw-r--r--nixos/doc/manual/configuration/grsecurity.xml5
-rw-r--r--nixos/doc/manual/man-nixos-rebuild.xml11
-rw-r--r--nixos/doc/manual/release-notes/rl-1609.xml8
-rw-r--r--nixos/lib/make-disk-image.nix48
-rw-r--r--nixos/lib/testing.nix2
-rw-r--r--nixos/modules/config/fonts/fontconfig-ultimate.nix203
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix353
-rw-r--r--nixos/modules/config/ldap.nix12
-rw-r--r--nixos/modules/config/nsswitch.nix2
-rw-r--r--nixos/modules/config/zram.nix2
-rw-r--r--nixos/modules/hardware/video/amdgpu.nix9
-rw-r--r--nixos/modules/hardware/video/bumblebee.nix1
-rw-r--r--nixos/modules/hardware/video/webcam/facetimehd.nix1
-rw-r--r--nixos/modules/i18n/input-method/default.xml2
-rw-r--r--nixos/modules/installer/tools/nixos-install.sh39
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh6
-rw-r--r--nixos/modules/installer/tools/tools.nix2
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/module-list.nix6
-rw-r--r--nixos/modules/programs/shadow.nix5
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/security/grsecurity.nix2
-rw-r--r--nixos/modules/security/pam.nix9
-rw-r--r--nixos/modules/services/backup/crashplan.nix2
-rw-r--r--nixos/modules/services/continuous-integration/buildkite-agent.nix12
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix9
-rw-r--r--nixos/modules/services/hardware/tlp.nix4
-rw-r--r--nixos/modules/services/hardware/udev.nix5
-rw-r--r--nixos/modules/services/misc/autofs.nix9
-rw-r--r--nixos/modules/services/misc/gitlab.nix23
-rw-r--r--nixos/modules/services/misc/gitlab.xml7
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix2
-rw-r--r--nixos/modules/services/monitoring/graphite.nix10
-rw-r--r--nixos/modules/services/network-filesystems/openafs-client/default.nix2
-rw-r--r--nixos/modules/services/networking/ejabberd.nix29
-rw-r--r--nixos/modules/services/networking/fan.nix2
-rw-r--r--nixos/modules/services/networking/gdomap.nix32
-rw-r--r--nixos/modules/services/networking/networkmanager.nix12
-rw-r--r--nixos/modules/services/networking/strongswan.nix2
-rw-r--r--nixos/modules/services/networking/unifi.nix31
-rw-r--r--nixos/modules/services/torrent/transmission.nix2
-rw-r--r--nixos/modules/services/web-apps/mattermost.nix228
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/kde5.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix3
-rw-r--r--nixos/modules/services/x11/redshift.nix7
-rw-r--r--nixos/modules/services/x11/window-managers/metacity.nix4
-rw-r--r--nixos/modules/system/boot/initrd-ssh.nix10
-rw-r--r--nixos/modules/system/boot/kernel.nix5
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl6
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py6
-rw-r--r--nixos/modules/system/boot/modprobe.nix41
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh42
-rw-r--r--nixos/modules/system/boot/stage-1.nix17
-rw-r--r--nixos/modules/system/boot/stage-2-init.sh1
-rw-r--r--nixos/modules/tasks/cpu-freq.nix2
-rw-r--r--nixos/modules/tasks/filesystems/cifs.nix4
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix14
-rw-r--r--nixos/modules/virtualisation/brightbox-image.nix2
-rw-r--r--nixos/modules/virtualisation/docker.nix3
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix2
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix26
-rw-r--r--nixos/release-combined.nix1
-rw-r--r--nixos/release-small.nix1
-rw-r--r--nixos/release.nix20
-rw-r--r--nixos/tests/ecryptfs.nix4
-rw-r--r--nixos/tests/virtualbox.nix4
-rw-r--r--pkgs/applications/audio/a2jmidid/default.nix14
-rw-r--r--pkgs/applications/audio/audacious/default.nix98
-rw-r--r--pkgs/applications/audio/bitwig-studio/default.nix97
-rw-r--r--pkgs/applications/audio/caudec/default.nix2
-rw-r--r--pkgs/applications/audio/freewheeling/default.nix4
-rw-r--r--pkgs/applications/audio/gmpc/default.nix4
-rw-r--r--pkgs/applications/audio/gpodder/default.nix7
-rw-r--r--pkgs/applications/audio/guitarix/default.nix22
-rw-r--r--pkgs/applications/audio/mopidy/default.nix8
-rw-r--r--pkgs/applications/audio/morituri/default.nix18
-rw-r--r--pkgs/applications/audio/picard/default.nix12
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix14
-rw-r--r--pkgs/applications/audio/sonata/default.nix15
-rw-r--r--pkgs/applications/audio/ympd/default.nix22
-rw-r--r--pkgs/applications/backup/areca/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/build-eclipse.nix4
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix5
-rw-r--r--pkgs/applications/editors/emacs-25/default.nix4
-rw-r--r--pkgs/applications/editors/ht/default.nix2
-rw-r--r--pkgs/applications/editors/idea/common.nix2
-rw-r--r--pkgs/applications/editors/kile/frameworks.nix6
-rw-r--r--pkgs/applications/editors/leo-editor/default.nix65
-rw-r--r--pkgs/applications/editors/music/tuxguitar/default.nix2
-rw-r--r--pkgs/applications/editors/nano/default.nix13
-rw-r--r--pkgs/applications/editors/netbeans/default.nix2
-rw-r--r--pkgs/applications/editors/vanubi/default.nix4
-rw-r--r--pkgs/applications/graphics/ao/default.nix33
-rw-r--r--pkgs/applications/graphics/ao/src.json5
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix2
-rw-r--r--pkgs/applications/graphics/giv/default.nix4
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix31
-rw-r--r--pkgs/applications/graphics/processing/default.nix4
-rw-r--r--pkgs/applications/graphics/qtpfsgui/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan4/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends/generic.nix2
-rw-r--r--pkgs/applications/graphics/screencloud/default.nix6
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix20
-rw-r--r--pkgs/applications/graphics/simple-scan/default.nix4
-rw-r--r--pkgs/applications/graphics/xournal/default.nix6
-rw-r--r--pkgs/applications/graphics/yed/default.nix5
-rw-r--r--pkgs/applications/misc/audio/wavesurfer/default.nix2
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix2
-rw-r--r--pkgs/applications/misc/batti/default.nix11
-rw-r--r--pkgs/applications/misc/blender/default.nix13
-rw-r--r--pkgs/applications/misc/calibre/default.nix12
-rw-r--r--pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch46
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix6
-rw-r--r--pkgs/applications/misc/ding/default.nix2
-rw-r--r--pkgs/applications/misc/dmenu/default.nix3
-rw-r--r--pkgs/applications/misc/emem/default.nix4
-rw-r--r--pkgs/applications/misc/finalterm/default.nix6
-rw-r--r--pkgs/applications/misc/font-manager/default.nix4
-rw-r--r--pkgs/applications/misc/gammu/default.nix2
-rw-r--r--pkgs/applications/misc/get_iplayer/default.nix2
-rw-r--r--pkgs/applications/misc/gramps/default.nix9
-rw-r--r--pkgs/applications/misc/guake/default.nix12
-rw-r--r--pkgs/applications/misc/hamster-time-tracker/default.nix9
-rw-r--r--pkgs/applications/misc/hugo/deps.json357
-rw-r--r--pkgs/applications/misc/kiwix/default.nix16
-rw-r--r--pkgs/applications/misc/llpp/default.nix2
-rw-r--r--pkgs/applications/misc/mlterm/default.nix2
-rw-r--r--pkgs/applications/misc/mop/deps.json15
-rw-r--r--pkgs/applications/misc/mupdf/default.nix36
-rw-r--r--pkgs/applications/misc/mysql-workbench/default.nix7
-rw-r--r--pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch113
-rw-r--r--pkgs/applications/misc/octoprint/default.nix35
-rw-r--r--pkgs/applications/misc/octoprint/m33-fio-one-library.patch161
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix129
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix4
-rw-r--r--pkgs/applications/misc/pgadmin/default.nix2
-rw-r--r--pkgs/applications/misc/printrun/default.nix2
-rw-r--r--pkgs/applications/misc/rofi/default.nix16
-rw-r--r--pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix19
-rw-r--r--pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix4
-rw-r--r--pkgs/applications/misc/synapse/default.nix4
-rw-r--r--pkgs/applications/misc/translate-shell/default.nix101
-rw-r--r--pkgs/applications/misc/webthree-umbrella/default.nix2
-rw-r--r--pkgs/applications/misc/wego/deps.json35
-rw-r--r--pkgs/applications/misc/with-shell/default.nix20
-rw-r--r--pkgs/applications/misc/xautoclick/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix1
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix40
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/glibc-2.24.patch14
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix366
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix2
-rw-r--r--pkgs/applications/networking/browsers/midori/default.nix33
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix69
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/marathon/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/pig/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix10
-rw-r--r--pkgs/applications/networking/davmail/default.nix2
-rw-r--r--pkgs/applications/networking/drive/deps.json186
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/esniper/default.nix2
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/ike/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pond/deps.json55
-rw-r--r--pkgs/applications/networking/instant-messengers/pybitmessage/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/sflphone/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/xmpp-client/deps.json25
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mailnag/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mailpile/default.nix2
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix2
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/freenet/default.nix26
-rwxr-xr-xpkgs/applications/networking/p2p/freenet/freenetWrapper2
-rw-r--r--pkgs/applications/networking/remote/citrix-receiver/default.nix2
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix2
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix8
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing012/deps.json145
-rw-r--r--pkgs/applications/office/calligra/default.nix2
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix2
-rw-r--r--pkgs/applications/office/gnucash/default.nix4
-rw-r--r--pkgs/applications/office/impressive/default.nix12
-rw-r--r--pkgs/applications/office/libreoffice/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/still.nix4
-rw-r--r--pkgs/applications/office/skrooge/2.nix35
-rw-r--r--pkgs/applications/science/logic/abc/default.nix6
-rw-r--r--pkgs/applications/science/logic/satallax/default.nix2
-rw-r--r--pkgs/applications/science/math/sage/default.nix7
-rw-r--r--pkgs/applications/science/misc/openmodelica/default.nix2
-rw-r--r--pkgs/applications/search/catfish/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/deps.json25
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock62
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix5
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix41
-rw-r--r--pkgs/applications/version-management/gitlab/nulladapter.patch4
-rw-r--r--pkgs/applications/version-management/gource/default.nix4
-rw-r--r--pkgs/applications/version-management/meld/default.nix20
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix5
-rw-r--r--pkgs/applications/version-management/rabbitvcs/default.nix2
-rw-r--r--pkgs/applications/version-management/reposurgeon/default.nix22
-rw-r--r--pkgs/applications/version-management/src/default.nix2
-rw-r--r--pkgs/applications/version-management/yadm/default.nix34
-rw-r--r--pkgs/applications/video/byzanz/default.nix5
-rw-r--r--pkgs/applications/video/devede/default.nix6
-rw-r--r--pkgs/applications/video/kazam/default.nix4
-rw-r--r--pkgs/applications/video/miro/default.nix27
-rw-r--r--pkgs/applications/video/mkcast/default.nix2
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix2
-rw-r--r--pkgs/applications/video/pitivi/default.nix2
-rw-r--r--pkgs/applications/video/qarte/default.nix6
-rw-r--r--pkgs/applications/video/shotcut/default.nix18
-rw-r--r--pkgs/applications/video/vlc/plugin.nix33
-rw-r--r--pkgs/applications/virtualization/docker/default.nix2
-rw-r--r--pkgs/applications/virtualization/docker/gc.nix2
-rw-r--r--pkgs/applications/virtualization/open-vm-tools/default.nix4
-rw-r--r--pkgs/applications/virtualization/tini/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix6
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/virtualization/xen/4.5.0.nix23
-rw-r--r--pkgs/applications/virtualization/xen/4.5.2.nix18
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix3
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix2
-rw-r--r--pkgs/applications/window-managers/compiz/default.nix10
-rw-r--r--pkgs/applications/window-managers/compton/git.nix6
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix4
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix2
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix2
-rw-r--r--pkgs/build-support/cc-wrapper/cc-wrapper.sh9
-rw-r--r--pkgs/build-support/fetchfossil/builder.sh22
-rw-r--r--pkgs/build-support/fetchfossil/default.nix20
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix99
-rw-r--r--pkgs/build-support/kernel/modules-closure.sh2
-rw-r--r--pkgs/build-support/vm/default.nix28
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix4
-rw-r--r--pkgs/data/fonts/emojione/default.nix4
-rw-r--r--pkgs/data/fonts/nerdfonts/default.nix8
-rw-r--r--pkgs/data/misc/poppler-data/default.nix23
-rw-r--r--pkgs/data/misc/wireless-regdb/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/econnman.nix2
-rw-r--r--pkgs/desktops/enlightenment/efl.nix4
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/accerciser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gedit/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-music/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/baobab/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/dconf/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/empathy/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/folks/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gcr/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-contacts/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-control-center/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix9
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-session/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/libgee/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/libgee/libgee-1.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/tracker/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/vte/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.20/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.20/devtools/nemiver/bool_slot.patch13
-rw-r--r--pkgs/desktops/gnome-3/3.20/devtools/nemiver/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/3.20/devtools/nemiver/safe_ptr.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.20/devtools/nemiver/src.nix11
-rw-r--r--pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/california/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/geary/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/gitg/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/libgit2-glib/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/pomodoro/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor.nix2
-rw-r--r--pkgs/desktops/gnome-3/extensions/volume-mixer.nix2
-rw-r--r--pkgs/desktops/gnustep/back/default.nix22
-rw-r--r--pkgs/desktops/gnustep/back/fixup-tools.patch14
-rw-r--r--pkgs/desktops/gnustep/base/default.nix38
-rw-r--r--pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch29
-rw-r--r--pkgs/desktops/gnustep/base/fixup-paths.patch373
-rw-r--r--pkgs/desktops/gnustep/default.nix21
-rw-r--r--pkgs/desktops/gnustep/gorm/default.nix17
-rw-r--r--pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch27
-rw-r--r--pkgs/desktops/gnustep/gui/default.nix16
-rw-r--r--pkgs/desktops/gnustep/gui/fixup-all.patch56
-rw-r--r--pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch28
-rw-r--r--pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch11
-rw-r--r--pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch14
-rw-r--r--pkgs/desktops/gnustep/gworkspace/default.nix23
-rw-r--r--pkgs/desktops/gnustep/libobjc2/default.nix28
-rw-r--r--pkgs/desktops/gnustep/make/GNUstep.conf126
-rw-r--r--pkgs/desktops/gnustep/make/builder.sh122
-rw-r--r--pkgs/desktops/gnustep/make/default.nix38
-rw-r--r--pkgs/desktops/gnustep/make/fixup-paths.patch197
-rw-r--r--pkgs/desktops/gnustep/make/gs-makefiles-additional.patch145
-rw-r--r--pkgs/desktops/gnustep/make/gsmakeDerivation.nix19
-rw-r--r--pkgs/desktops/gnustep/make/setup-hook.sh77
-rw-r--r--pkgs/desktops/gnustep/make/wrapper.sh4
-rw-r--r--pkgs/desktops/gnustep/projectcenter/default.nix23
-rw-r--r--pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch14
-rw-r--r--pkgs/desktops/gnustep/systempreferences/default.nix17
-rw-r--r--pkgs/desktops/kde-4.14/applications/kate.nix4
-rw-r--r--pkgs/desktops/kde-4.14/kdebindings/pykde4.nix9
-rw-r--r--pkgs/desktops/kde-4.14/kdeutils/print-manager.nix4
-rw-r--r--pkgs/desktops/kde-5/applications/default.nix1
-rw-r--r--pkgs/desktops/kde-5/applications/kdenlive.nix81
-rw-r--r--pkgs/desktops/kde-5/applications/srcs.nix2112
-rw-r--r--pkgs/desktops/kde-5/plasma/breeze-gtk.nix1
-rwxr-xr-xpkgs/desktops/kde-5/plasma/startkde/startkde.sh22
-rw-r--r--pkgs/desktops/lxde/core/lxmenu-data.nix2
-rw-r--r--pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix4
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix6
-rw-r--r--pkgs/development/compilers/compcert/default.nix4
-rw-r--r--pkgs/development/compilers/factor-lang/default.nix2
-rw-r--r--pkgs/development/compilers/fpc/binary.nix4
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/6.10.2-binary.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.0.4-binary.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.10.2.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix2
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.0.1.nix14
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
-rw-r--r--pkgs/development/compilers/julia/default.nix2
-rw-r--r--pkgs/development/compilers/julia/git.nix4
-rw-r--r--pkgs/development/compilers/llvm/3.8/llvm.nix7
-rw-r--r--pkgs/development/compilers/microscheme/default.nix2
-rw-r--r--pkgs/development/compilers/mlton/default.nix8
-rw-r--r--pkgs/development/compilers/mozart/binary.nix2
-rw-r--r--pkgs/development/compilers/opa/default.nix2
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix2
-rw-r--r--pkgs/development/compilers/openjdk/7.nix2
-rw-r--r--pkgs/development/compilers/openjdk/8.nix24
-rw-r--r--pkgs/development/compilers/ponyc/default.nix2
-rw-r--r--pkgs/development/compilers/solc/default.nix24
-rw-r--r--pkgs/development/compilers/squeak/default.nix2
-rw-r--r--pkgs/development/compilers/vala/0.23.nix (renamed from pkgs/development/compilers/vala/default.nix)0
-rw-r--r--pkgs/development/compilers/vala/0.32.nix5
-rw-r--r--pkgs/development/compilers/yosys/default.nix16
-rw-r--r--pkgs/development/go-modules/generic/default.nix9
-rw-r--r--pkgs/development/go-modules/libs.json1820
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix27
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix8
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml3
-rw-r--r--pkgs/development/haskell-modules/configuration-lts.nix144
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix4716
-rw-r--r--pkgs/development/interpreters/elixir/default.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R19.nix2
-rw-r--r--pkgs/development/interpreters/lfe/default.nix2
-rw-r--r--pkgs/development/interpreters/love/0.7.nix2
-rw-r--r--pkgs/development/interpreters/pixie/default.nix18
-rw-r--r--pkgs/development/interpreters/pixie/dust.nix2
-rw-r--r--pkgs/development/interpreters/python/pypy/2.7/default.nix6
-rw-r--r--pkgs/development/interpreters/renpy/default.nix6
-rw-r--r--pkgs/development/libraries/SDL/default.nix28
-rw-r--r--pkgs/development/libraries/SDL/find-headers.patch16
-rw-r--r--pkgs/development/libraries/SDL/setup-hook.sh11
-rw-r--r--pkgs/development/libraries/SDL2/default.nix69
-rw-r--r--pkgs/development/libraries/SDL2/find-headers.patch26
-rw-r--r--pkgs/development/libraries/SDL2/setup-hook.sh11
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix37
-rw-r--r--pkgs/development/libraries/SDL2_image/default.nix19
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix17
-rw-r--r--pkgs/development/libraries/SDL2_net/default.nix13
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix15
-rw-r--r--pkgs/development/libraries/SDL_gfx/default.nix24
-rw-r--r--pkgs/development/libraries/SDL_image/default.nix14
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix8
-rw-r--r--pkgs/development/libraries/SDL_net/default.nix19
-rw-r--r--pkgs/development/libraries/SDL_sound/default.nix13
-rw-r--r--pkgs/development/libraries/SDL_stretch/default.nix13
-rw-r--r--pkgs/development/libraries/apache-activemq/default.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix4
-rw-r--r--pkgs/development/libraries/armadillo/default.nix7
-rw-r--r--pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch14
-rw-r--r--pkgs/development/libraries/cairo/default.nix13
-rw-r--r--pkgs/development/libraries/cppzmq/default.nix6
-rw-r--r--pkgs/development/libraries/cxx-prettyprint/default.nix29
-rw-r--r--pkgs/development/libraries/cxxtools/default.nix21
-rw-r--r--pkgs/development/libraries/czmq/default.nix8
-rw-r--r--pkgs/development/libraries/fftw/default.nix4
-rw-r--r--pkgs/development/libraries/folly/default.nix12
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/confd.nix40
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/default.nix45
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/rendering.nix212
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix2
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.xsl2
-rw-r--r--pkgs/development/libraries/freetype/default.nix64
-rw-r--r--pkgs/development/libraries/gdbm/default.nix2
-rw-r--r--pkgs/development/libraries/gdcm/default.nix4
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/glibc/common.nix12
-rw-r--r--pkgs/development/libraries/glibc/cve-2016-1234.patch372
-rw-r--r--pkgs/development/libraries/glibc/cve-2016-3075.patch35
-rw-r--r--pkgs/development/libraries/glibc/cve-2016-3706.patch181
-rw-r--r--pkgs/development/libraries/glibc/default.nix2
-rw-r--r--pkgs/development/libraries/glibc/fix_warnings.patch36
-rw-r--r--pkgs/development/libraries/glibc/glob-simplify-interface.patch216
-rw-r--r--pkgs/development/libraries/gnutls/3.3.nix4
-rw-r--r--pkgs/development/libraries/gnutls/3.4.nix11
-rw-r--r--pkgs/development/libraries/gnutls/3.5.nix11
-rw-r--r--pkgs/development/libraries/granite/default.nix4
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/gusb/default.nix4
-rw-r--r--pkgs/development/libraries/icu/default.nix4
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix5
-rw-r--r--pkgs/development/libraries/kdevplatform/default.nix5
-rw-r--r--pkgs/development/libraries/kdevplatform/dependency.patch12
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libbsd/default.nix6
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix4
-rw-r--r--pkgs/development/libraries/libdynd/default.nix28
-rw-r--r--pkgs/development/libraries/libfm/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libindicate/default.nix4
-rw-r--r--pkgs/development/libraries/libircclient/default.nix31
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libraw/default.nix4
-rw-r--r--pkgs/development/libraries/libsecret/default.nix4
-rw-r--r--pkgs/development/libraries/libsidplayfp/default.nix39
-rw-r--r--pkgs/development/libraries/libsoup/default.nix4
-rw-r--r--pkgs/development/libraries/libunity/default.nix4
-rw-r--r--pkgs/development/libraries/libvdpau-va-gl/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix8
-rw-r--r--pkgs/development/libraries/mlt/default.nix21
-rw-r--r--pkgs/development/libraries/mlt/qt-4.nix39
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix4
-rw-r--r--pkgs/development/libraries/pcl/default.nix13
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix2
-rw-r--r--pkgs/development/libraries/physics/geant4/g4py/default.nix22
-rw-r--r--pkgs/development/libraries/poppler/datadir_env.patch13
-rw-r--r--pkgs/development/libraries/poppler/default.nix22
-rw-r--r--pkgs/development/libraries/protobuf/3.0.0-beta-2.nix43
-rw-r--r--pkgs/development/libraries/protobuf/3.0.nix4
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix3
-rwxr-xr-xpkgs/development/libraries/qt-5/5.5/fetchsrcs.sh15
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.5/srcs.nix250
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh5
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch53
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch31
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix35
-rw-r--r--pkgs/development/libraries/qt-5/5.6/srcs.nix254
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix1
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh5
-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/srcs.nix24
-rw-r--r--pkgs/development/libraries/qtwebkit-plugins/default.nix29
-rw-r--r--pkgs/development/libraries/science/math/clblas/cuda/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix8
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix26
-rw-r--r--pkgs/development/libraries/talloc/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix4
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix10
-rw-r--r--pkgs/development/libraries/tntdb/default.nix22
-rw-r--r--pkgs/development/libraries/tntnet/default.nix22
-rw-r--r--pkgs/development/libraries/torch/default.nix28
-rw-r--r--pkgs/development/libraries/torch/src.json6
-rw-r--r--pkgs/development/libraries/vtk/default.nix15
-rw-r--r--pkgs/development/libraries/wt/cmake.patch10
-rw-r--r--pkgs/development/libraries/wt/default.nix40
-rw-r--r--pkgs/development/libraries/xgboost/default.nix8
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix4
-rw-r--r--pkgs/development/mobile/androidenv/androidndk_r8e.nix2
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix6
-rw-r--r--pkgs/development/mobile/flashtool/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bitstring/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/magick/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/topkg/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/uucd/default.nix10
-rw-r--r--pkgs/development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch22
-rw-r--r--pkgs/development/python-modules/generic/wrap.sh46
-rw-r--r--pkgs/development/python-modules/libgpuarray/cuda/default.nix2
-rw-r--r--pkgs/development/python-modules/pycuda/default.nix2
-rw-r--r--pkgs/development/python-modules/pyqt/4.x.nix26
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix20
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix28
-rw-r--r--pkgs/development/python-modules/sip/default.nix9
-rw-r--r--pkgs/development/ruby-modules/gem/gem-post-build.rb13
-rw-r--r--pkgs/development/tools/build-managers/gnustep/make/default.nix38
-rw-r--r--pkgs/development/tools/build-managers/gnustep/xcode/default.nix23
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix13
-rw-r--r--pkgs/development/tools/build-managers/leiningen/builder.sh23
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix29
-rw-r--r--pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch4
-rw-r--r--pkgs/development/tools/build-managers/redo/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/cide/default.nix2
-rw-r--r--pkgs/development/tools/deis/deps.json31
-rw-r--r--pkgs/development/tools/go2nix/deps.json25
-rw-r--r--pkgs/development/tools/golint/deps.json15
-rw-r--r--pkgs/development/tools/gotools/deps.json15
-rw-r--r--pkgs/development/tools/gox/deps.json15
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix2
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix42
-rw-r--r--pkgs/development/tools/leaps/default.nix25
-rw-r--r--pkgs/development/tools/leaps/deps.json11
-rw-r--r--pkgs/development/tools/misc/autobuild/default.nix2
-rw-r--r--pkgs/development/tools/misc/distcc/masq.nix9
-rw-r--r--pkgs/development/tools/misc/drush/default.nix2
-rw-r--r--pkgs/development/tools/misc/indent/default.nix8
-rw-r--r--pkgs/development/tools/misc/kibana/default.nix2
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix2
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix2
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix5
-rw-r--r--pkgs/development/tools/omniorb/default.nix2
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix22
-rw-r--r--pkgs/development/tools/pypi2nix/deps.nix8
-rw-r--r--pkgs/development/tools/remarshal/deps.json25
-rw-r--r--pkgs/development/tools/textql/deps.json15
-rw-r--r--pkgs/development/tools/vagrant/default.nix11
-rw-r--r--pkgs/development/web/minify/deps.json81
-rw-r--r--pkgs/development/web/valum/default.nix4
-rw-r--r--pkgs/games/0ad/default.nix2
-rw-r--r--pkgs/games/armagetronad/default.nix10
-rw-r--r--pkgs/games/arx-libertatis/default.nix8
-rw-r--r--pkgs/games/brogue/default.nix2
-rw-r--r--pkgs/games/commandergenius/default.nix40
-rw-r--r--pkgs/games/crawl/crawl_purify.patch2
-rw-r--r--pkgs/games/crawl/default.nix6
-rw-r--r--pkgs/games/dwarf-fortress/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix12
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch42
-rw-r--r--pkgs/games/dwarf-fortress/game.nix24
-rw-r--r--pkgs/games/dwarf-fortress/themes/cla.nix6
-rw-r--r--pkgs/games/dwarf-fortress/themes/phoebus.nix6
-rw-r--r--pkgs/games/dwarf-fortress/unfuck.nix16
-rw-r--r--pkgs/games/factorio/fetch.nix4
-rw-r--r--pkgs/games/factorio/fetch.sh21
-rw-r--r--pkgs/games/hedgewars/default.nix2
-rw-r--r--pkgs/games/mnemosyne/default.nix4
-rw-r--r--pkgs/games/openmw/default.nix4
-rw-r--r--pkgs/games/openttd/default.nix23
-rw-r--r--pkgs/games/performous/default.nix13
-rw-r--r--pkgs/games/pokerth/default.nix41
-rw-r--r--pkgs/games/quake3/ioquake/default.nix6
-rw-r--r--pkgs/games/spring/default.nix2
-rw-r--r--pkgs/games/steam/runtime-generated.nix18
-rw-r--r--pkgs/games/steam/runtime.nix2
-rw-r--r--pkgs/games/super-tux-kart/default.nix4
-rw-r--r--pkgs/games/the-powder-toy/default.nix14
-rw-r--r--pkgs/games/tibia/default.nix2
-rw-r--r--pkgs/games/wesnoth/dev.nix4
-rw-r--r--pkgs/games/xpilot/bloodspilot-client.nix19
-rw-r--r--pkgs/games/xpilot/default.nix4
-rw-r--r--pkgs/misc/cups/default.nix8
-rw-r--r--pkgs/misc/cups/drivers/samsung/default.nix4
-rw-r--r--pkgs/misc/cups/filters.nix6
-rw-r--r--pkgs/misc/drivers/hplip/3.15.9.nix2
-rw-r--r--pkgs/misc/drivers/hplip/default.nix2
-rw-r--r--pkgs/misc/drivers/m33-linux/default.nix (renamed from pkgs/misc/drivers/m3d-linux/default.nix)10
-rw-r--r--pkgs/misc/emulators/cdemu/client.nix4
-rw-r--r--pkgs/misc/emulators/higan/default.nix12
-rw-r--r--pkgs/misc/emulators/retrofe/default.nix2
-rw-r--r--pkgs/misc/emulators/wine/sources.nix6
-rw-r--r--pkgs/misc/frescobaldi/default.nix2
-rw-r--r--pkgs/misc/jackaudio/default.nix7
-rw-r--r--pkgs/misc/jackaudio/git.nix7
-rw-r--r--pkgs/misc/long-shebang/default.nix6
-rw-r--r--pkgs/misc/seafile-shared/default.nix4
-rw-r--r--pkgs/misc/themes/greybird/default.nix20
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix8
-rw-r--r--pkgs/os-specific/linux/autofs/default.nix30
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix8
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5_28.nix10
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix13
-rw-r--r--pkgs/os-specific/linux/btfs/default.nix6
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix4
-rw-r--r--pkgs/os-specific/linux/gradm/default.nix4
-rw-r--r--pkgs/os-specific/linux/hd-idle/default.nix25
-rw-r--r--pkgs/os-specific/linux/hwdata/default.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.5.nix19
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.6.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.7.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/qat_common_Makefile.patch10
-rw-r--r--pkgs/os-specific/linux/kmod/aggregator.nix2
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix32
-rw-r--r--pkgs/os-specific/linux/kmod/module-dir.patch151
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix6
-rw-r--r--pkgs/os-specific/linux/pam_pgsql/default.nix2
-rw-r--r--pkgs/os-specific/linux/pam_usb/default.nix5
-rw-r--r--pkgs/os-specific/linux/spl/default.nix8
-rw-r--r--pkgs/os-specific/linux/systemd/cryptsetup-generator.nix4
-rw-r--r--pkgs/os-specific/linux/wireguard/default.nix23
-rwxr-xr-xpkgs/servers/apache-kafka/default.nix4
-rw-r--r--pkgs/servers/caddy/default.nix16
-rw-r--r--pkgs/servers/caddy/deps.json199
-rw-r--r--pkgs/servers/dico/default.nix8
-rw-r--r--pkgs/servers/elasticmq/default.nix2
-rw-r--r--pkgs/servers/emby/default.nix4
-rw-r--r--pkgs/servers/etcd/deps.json25
-rw-r--r--pkgs/servers/gotty/deps.json85
-rw-r--r--pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_fastcgi/default.nix2
-rw-r--r--pkgs/servers/http/redstore/default.nix14
-rw-r--r--pkgs/servers/interlock/deps.json75
-rw-r--r--pkgs/servers/mail/dspam/default.nix2
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix29
-rw-r--r--pkgs/servers/mattermost/matterircd.nix23
-rw-r--r--pkgs/servers/mesos-dns/deps.json115
-rw-r--r--pkgs/servers/misc/taskserver/default.nix2
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/cli_deps.json15
-rw-r--r--pkgs/servers/monitoring/prometheus/collectd-exporter_deps.json75
-rw-r--r--pkgs/servers/monitoring/prometheus/haproxy-exporter_deps.json75
-rw-r--r--pkgs/servers/monitoring/prometheus/mesos-exporter_deps.json95
-rw-r--r--pkgs/servers/monitoring/prometheus/mysqld-exporter_deps.json85
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter_deps.json95
-rw-r--r--pkgs/servers/monitoring/prometheus/prom2json_deps.json45
-rw-r--r--pkgs/servers/monitoring/prometheus/pushgateway_deps.json85
-rw-r--r--pkgs/servers/monitoring/prometheus/statsd-bridge_deps.json85
-rw-r--r--pkgs/servers/neard/default.nix2
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix2
-rw-r--r--pkgs/servers/nosql/influxdb/deps-0.13.0.json (renamed from pkgs/servers/nosql/influxdb/deps.json)0
-rw-r--r--pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.json155
-rw-r--r--pkgs/servers/nosql/influxdb/v1.nix13
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/nsq/deps.json95
-rw-r--r--pkgs/servers/oauth2_proxy/deps.json95
-rw-r--r--pkgs/servers/openpts/default.nix4
-rw-r--r--pkgs/servers/rpcbind/default.nix2
-rw-r--r--pkgs/servers/serf/deps.json156
-rw-r--r--pkgs/servers/skydns/deps.json145
-rw-r--r--pkgs/servers/sql/mariadb/default.nix10
-rw-r--r--pkgs/servers/sql/postgresql/default.nix20
-rw-r--r--pkgs/servers/uftp/default.nix35
-rw-r--r--pkgs/servers/uwsgi/default.nix2
-rw-r--r--pkgs/servers/x11/xorg/default.nix11
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix4
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list1
-rw-r--r--pkgs/servers/x11/xorg/xcb-util-xrm.nix22
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix9
-rw-r--r--pkgs/shells/elvish/deps.json25
-rw-r--r--pkgs/shells/oh/deps.json35
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix10
-rw-r--r--pkgs/tools/X11/go-sct/deps.json15
-rw-r--r--pkgs/tools/X11/primus/lib.nix4
-rw-r--r--pkgs/tools/X11/virtualgl/lib.nix2
-rw-r--r--pkgs/tools/X11/xpra/default.nix15
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix4
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix4
-rw-r--r--pkgs/tools/admin/lxd/deps.json195
-rw-r--r--pkgs/tools/admin/salt/default.nix2
-rw-r--r--pkgs/tools/archivers/unar/default.nix63
-rw-r--r--pkgs/tools/audio/darkice/default.nix8
-rw-r--r--pkgs/tools/audio/darkice/fix-undeclared-memmove.patch13
-rw-r--r--pkgs/tools/audio/mpdris2/default.nix8
-rw-r--r--pkgs/tools/backup/bareos/default.nix2
-rw-r--r--pkgs/tools/backup/btrbk/default.nix2
-rw-r--r--pkgs/tools/backup/duplicity/default.nix9
-rw-r--r--pkgs/tools/backup/obnam/default.nix6
-rw-r--r--pkgs/tools/backup/store-backup/default.nix2
-rw-r--r--pkgs/tools/backup/znapzend/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix6
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix2
-rw-r--r--pkgs/tools/filesystems/bcache-tools/default.nix2
-rw-r--r--pkgs/tools/filesystems/fuseiso/default.nix2
-rw-r--r--pkgs/tools/filesystems/go-mtpfs/deps.json31
-rw-r--r--pkgs/tools/filesystems/lizardfs/default.nix2
-rw-r--r--pkgs/tools/graphics/imgurbash2/default.nix2
-rw-r--r--pkgs/tools/graphics/pdfread/default.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix8
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-unikey/default.nix31
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--pkgs/tools/misc/asciinema/default.nix33
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix11
-rw-r--r--pkgs/tools/misc/disper/default.nix2
-rw-r--r--pkgs/tools/misc/gawp/deps.json31
-rw-r--r--pkgs/tools/misc/gparted/default.nix2
-rw-r--r--pkgs/tools/misc/grub4dos/default.nix6
-rw-r--r--pkgs/tools/misc/i3cat/deps.json15
-rw-r--r--pkgs/tools/misc/mongodb-tools/deps.json55
-rw-r--r--pkgs/tools/misc/plowshare/default.nix2
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix2
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix10
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix2
-rw-r--r--pkgs/tools/misc/upower-notify/deps.json15
-rw-r--r--pkgs/tools/networking/ccnet/default.nix4
-rw-r--r--pkgs/tools/networking/connman-notify/default.nix2
-rw-r--r--pkgs/tools/networking/dhcp/default.nix2
-rw-r--r--pkgs/tools/networking/lftp/default.nix2
-rw-r--r--pkgs/tools/networking/logmein-hamachi/default.nix11
-rw-r--r--pkgs/tools/networking/mosh/default.nix17
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/0.9.8/default.nix8
-rw-r--r--pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch4
-rw-r--r--pkgs/tools/networking/network-manager/default.nix6
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix6
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix6
-rw-r--r--pkgs/tools/networking/network-manager/vpnc.nix6
-rw-r--r--pkgs/tools/networking/ngrok/deps.json116
-rw-r--r--pkgs/tools/networking/offlineimap/default.nix4
-rw-r--r--pkgs/tools/networking/openvpn/openvpn_learnaddress.nix2
-rw-r--r--pkgs/tools/networking/openvpn/update-resolv-conf.nix27
-rw-r--r--pkgs/tools/networking/s3gof3r/deps.json15
-rw-r--r--pkgs/tools/networking/snabb/default.nix4
-rw-r--r--pkgs/tools/networking/srelay/default.nix2
-rw-r--r--pkgs/tools/networking/wget/default.nix9
-rw-r--r--pkgs/tools/networking/wicd/default.nix32
-rw-r--r--pkgs/tools/networking/wrk/default.nix19
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix76
-rw-r--r--pkgs/tools/package-management/nox/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix24
-rw-r--r--pkgs/tools/security/crunch/default.nix29
-rw-r--r--pkgs/tools/security/fail2ban/default.nix5
-rw-r--r--pkgs/tools/security/gencfsm/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/1.nix4
-rw-r--r--pkgs/tools/security/gnupg/1compat.nix2
-rw-r--r--pkgs/tools/security/gnupg/21.nix6
-rw-r--r--pkgs/tools/security/gnupg/fix-gpgsm-linking.patch11
-rw-r--r--pkgs/tools/security/hologram/deps.json116
-rw-r--r--pkgs/tools/security/knockknock/default.nix6
-rw-r--r--pkgs/tools/security/nmap/default.nix11
-rw-r--r--pkgs/tools/security/prey/default.nix2
-rw-r--r--pkgs/tools/security/shc/default.nix21
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix6
-rw-r--r--pkgs/tools/security/volatility/default.nix8
-rw-r--r--pkgs/tools/system/collectd/default.nix3
-rw-r--r--pkgs/tools/system/confd/deps.json85
-rw-r--r--pkgs/tools/system/datefudge/default.nix40
-rw-r--r--pkgs/tools/system/efibootmgr/default.nix19
-rw-r--r--pkgs/tools/system/efivar/default.nix14
-rw-r--r--pkgs/tools/system/proot/default.nix4
-rw-r--r--pkgs/tools/system/wsmancli/default.nix2
-rw-r--r--pkgs/tools/text/platinum-searcher/deps.json95
-rw-r--r--pkgs/tools/text/sift/deps.json35
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix2
-rw-r--r--pkgs/tools/typesetting/djvu2pdf/default.nix2
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix10
-rw-r--r--pkgs/tools/typesetting/tex/texlive-new/pkgs.nix2
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix2
-rw-r--r--pkgs/tools/video/mjpegtools/default.nix4
-rw-r--r--pkgs/tools/virtualization/ec2-ami-tools/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix10
-rw-r--r--pkgs/top-level/all-packages.nix464
-rw-r--r--pkgs/top-level/dotnet-packages.nix48
-rw-r--r--pkgs/top-level/perl-packages.nix18
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix406
812 files changed, 16705 insertions, 9027 deletions
diff --git a/.travis.yml b/.travis.yml
index 77881dbc492..e1cc9890df2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,10 +11,10 @@ matrix:
           dist: trusty
           before_script:
               - sudo mount -o remount,exec,size=2G,mode=755 /run/user
-          script: ./maintainers/scripts/travis-nox-review-pr.sh pr
+          script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
         - os: osx
           osx_image: xcode7.3
-          script: ./maintainers/scripts/travis-nox-review-pr.sh pr
+          script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
 git:
     depth: 1
 env:
diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml
index 8105611f2ba..4348dc8bf72 100644
--- a/doc/coding-conventions.xml
+++ b/doc/coding-conventions.xml
@@ -659,4 +659,22 @@ src = fetchFromGitHub {
     </itemizedlist>
   </para>
 </section>
+
+<section xml:id="sec-patches"><title>Patches</title>
+  <para>Only patches that are unique to <literal>nixpkgs</literal> should be 
+    included in <literal>nixpkgs</literal> source.</para>
+  <para>Patches available online should be retrieved using 
+    <literal>fetchpatch</literal>.</para>
+  <para>
+<programlisting>
+patches = [
+  (fetchpatch {
+    name = "fix-check-for-using-shared-freetype-lib.patch";
+    url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285";
+    sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr";
+  })
+];
+</programlisting>
+  </para>
+</section>
 </chapter>
diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml
index 7365f5abe68..e56d7dd389d 100644
--- a/doc/languages-frameworks/go.xml
+++ b/doc/languages-frameworks/go.xml
@@ -86,13 +86,6 @@ the following arguments are of special significance to the function:
           "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
           "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
         }
-    },
-    {
-    "include": "../../libs.json", <co xml:id='ex-goDeps-4' />
-    "packages": [ <co xml:id='ex-goDeps-5' />
-            "github.com/docopt/docopt-go",
-            "golang.org/x/crypto",
-        ]
     }
 ]
 </programlisting>
@@ -122,20 +115,6 @@ the following arguments are of special significance to the function:
     </para>
   </callout>
 
-  <callout arearefs='ex-goDeps-4'>
-    <para>
-      <varname>include</varname> could be used to reuse <varname>goDeps</varname> between Go programs.
-      There is a common libs set in <varname>&lt;nixpkgs/pkgs/development/go-modules/libs.json&gt;</varname>
-      with pinned versions of many packages that you can reuse.
-    </para>
-  </callout>
-
-  <callout arearefs='ex-goDeps-5'>
-    <para>
-      <varname>packages</varname> enumerates all Go packages that will be imported from included file.
-    </para>
-  </callout>
-
 </calloutlist>
 
 </para>
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md
index 3da13dd9ed6..18b2fd65f44 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.md
@@ -740,7 +740,7 @@ to the `stack.yaml` like the following:
       enable: true
 	  packages: [ zlib ]
 
-Stack's Nix support knows to add `${zlib}/lib` and `${zlib}/include` as an
+Stack's Nix support knows to add `${zlib.out}/lib` and `${zlib.dev}/include` as an
 `--extra-lib-dirs` and `extra-include-dirs`, respectively. Alternatively, you
 can achieve the same effect by hand. First of all, run
 
diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md
index 6f5054c177b..36611394242 100644
--- a/doc/languages-frameworks/python.md
+++ b/doc/languages-frameworks/python.md
@@ -291,8 +291,8 @@ pyfftw = buildPythonPackage rec {
   # Tests cannot import pyfftw. pyfftw works fine though.
   doCheck = false;
 
-  LDFLAGS="-L${pkgs.fftw}/lib -L${pkgs.fftwFloat}/lib -L${pkgs.fftwLongDouble}/lib"
-  CFLAGS="-I${pkgs.fftw}/include -I${pkgs.fftwFloat}/include -I${pkgs.fftwLongDouble}/include"
+  LDFLAGS="-L${pkgs.fftw.dev}/lib -L${pkgs.fftwFloat.out}/lib -L${pkgs.fftwLongDouble.out}/lib"
+  CFLAGS="-I${pkgs.fftw.dev}/include -I${pkgs.fftwFloat.dev}/include -I${pkgs.fftwLongDouble.dev}/include"
   '';
 
   meta = {
@@ -503,9 +503,12 @@ and can be used as:
 
 The `buildPythonPackage` mainly does four things:
 
-* In the `buildPhase`, it calls `${python.interpreter} setup.py bdist_wheel` to build a wheel binary zipfile.
+* In the `buildPhase`, it calls `${python.interpreter} setup.py bdist_wheel` to
+  build a wheel binary zipfile.
 * In the `installPhase`, it installs the wheel file using `pip install *.whl`.
-* In the `postFixup` phase, the `wrapPythonPrograms` bash function is called to wrap all programs in the `$out/bin/*` directory to include `$PYTHONPATH` and `$PATH` environment variables.
+* In the `postFixup` phase, the `wrapPythonPrograms` bash function is called to
+  wrap all programs in the `$out/bin/*` directory to include `$PATH`
+  environment variable and add dependent libraries to script's `sys.path`.
 * In the `installCheck` phase, `${python.interpreter} setup.py test` is ran.
 
 As in Perl, dependencies on other Python packages can be specified in the
@@ -566,7 +569,7 @@ running `nix-shell` with the following `shell.nix`
     with import <nixpkgs> {};
 
     (python3.buildEnv.override {
-      extraLibs = with python3Packages; [ numpy requests ];
+      extraLibs = with python3Packages; [ numpy requests2 ];
     }).env
 
 will drop you into a shell where Python will have the
@@ -605,7 +608,7 @@ attribute. The `shell.nix` file from the previous section can thus be also writt
 
     with import <nixpkgs> {};
 
-    (python33.withPackages (ps: [ps.numpy ps.requests])).env
+    (python33.withPackages (ps: [ps.numpy ps.requests2])).env
 
 In contrast to `python.buildEnv`, `python.withPackages` does not support the more advanced options
 such as `ignoreCollisions = true` or `postBuild`. If you need them, you have to use `python.buildEnv`.
@@ -748,6 +751,23 @@ in newpkgs.python35.withPackages (ps: [ps.blaze])
 ```
 The requested package `blaze` depends upon `pandas` which itself depends on `scipy`.
 
+### `python setup.py bdist_wheel` cannot create .whl
+
+Executing `python setup.py bdist_wheel` fails with
+```
+ValueError: ZIP does not support timestamps before 1980
+```
+This is because files are included that depend on items in the Nix store which have a timestamp of, that is, it corresponds to January the 1st, 1970 at 00:00:00. And as the error informs you, ZIP does not support that.
+Fortunately `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`. On Nix this value is set to 1. By setting it to a value correspond to 1980 or later it is possible to build wheels.
+
+Use 1980 as timestamp:
+```
+SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel
+```
+or the current time:
+```
+SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel
+```
 
 ### `install_data` / `data_files` problems
 
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 7f6c823d68b..def9709d1ee 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -39,6 +39,7 @@
   aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
   arobyn = "Alexei Robyn <shados@shados.net>";
   artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
+  ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
   asppsa = "Alastair Pharo <asppsa@gmail.com>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   aszlig = "aszlig <aszlig@redmoonstudios.org>";
@@ -99,6 +100,7 @@
   davidak = "David Kleuker <post@davidak.de>";
   davidrusu = "David Rusu <davidrusu.me@gmail.com>";
   dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
+  dbrock = "Daniel Brockman <daniel@brockman.se>";
   deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>";
   demin-dmitriy = "Dmitriy Demin <demindf@gmail.com>";
   DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
@@ -127,7 +129,7 @@
   ericbmerritt = "Eric Merritt <eric@afiniate.com>";
   ericsagnes = "Eric Sagnes <eric.sagnes@gmail.com>";
   erikryb = "Erik Rybakken <erik.rybakken@math.ntnu.no>";
-  ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
+  ertes = "Ertugrul Söylemez <esz@posteo.de>";
   exi = "Reno Reckling <nixos@reckling.org>";
   exlevan = "Alexey Levan <exlevan@gmail.com>";
   expipiplus1 = "Joe Hermaszewski <nix@monoid.al>";
@@ -240,7 +242,7 @@
   mathnerd314 = "Mathnerd314 <mathnerd314.gph+hs@gmail.com>";
   matthiasbeyer = "Matthias Beyer <mail@beyermatthias.de>";
   maurer = "Matthew Maurer <matthew.r.maurer+nix@gmail.com>";
-  mbakke = "Marius Bakke <ymse@tuta.io>";
+  mbakke = "Marius Bakke <mbakke@fastmail.com>";
   matthewbauer = "Matthew Bauer <mjbauer95@gmail.com>";
   mbe = "Brandon Edens <brandonedens@gmail.com>";
   mboes = "Mathieu Boespflug <mboes@tweag.net>";
@@ -248,6 +250,7 @@
   meditans = "Carlo Nucera <meditans@gmail.com>";
   meisternu = "Matt Miemiec <meister@krutt.org>";
   michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
+  michalrus = "Michal Rus <m@michalrus.com>";
   michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
   mimadrid = "Miguel Madrid <mimadrid@ucm.es>";
   mingchuan = "Ming Chuan <ming@culpring.com>";
diff --git a/lib/strings.nix b/lib/strings.nix
index 112165df82a..86af4d43834 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -248,7 +248,7 @@ rec {
   /* Converts an ASCII string to upper-case.
 
      Example:
-       toLower "home"
+       toUpper "home"
        => "HOME"
   */
   toUpper = replaceChars lowerChars upperChars;
@@ -372,7 +372,12 @@ rec {
        getVersion pkgs.youtube-dl
        => "2016.01.01"
   */
-  getVersion = x: (builtins.parseDrvName (x.name or x)).version;
+  getVersion = x:
+   let
+     parse = drv: (builtins.parseDrvName drv).version;
+   in if isString x
+      then parse x
+      else x.version or (parse x.name);
 
   /* Extract name with version from URL. Ask for separator which is
      supposed to start extension.
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 21642ca0bdc..25ce35570fd 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -98,4 +98,19 @@ rec {
   */
   importJSON = path:
     builtins.fromJSON (builtins.readFile path);
+
+  /* See https://github.com/NixOS/nix/issues/749. Eventually we'd like these
+     to expand to Nix builtins that carry metadata so that Nix can filter out
+     the INFO messages without parsing the message string.
+
+     Usage:
+     {
+       foo = lib.warn "foo is deprecated" oldFoo;
+     }
+
+     TODO: figure out a clever way to integrate location information from
+     something like __unsafeGetAttrPos.
+  */
+  warn = msg: builtins.trace "WARNING: ${msg}";
+  info = msg: builtins.trace "INFO: ${msg}";
 }
diff --git a/maintainers/scripts/generate-kde-applications.sh b/maintainers/scripts/generate-kde-applications.sh
index b4073a05b88..eee0c2749a0 100755
--- a/maintainers/scripts/generate-kde-applications.sh
+++ b/maintainers/scripts/generate-kde-applications.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
 
 ./maintainers/scripts/fetch-kde-qt.sh \
-    http://download.kde.org/stable/applications/16.04.3/ -A '*.tar.xz' \
+    http://download.kde.org/stable/applications/16.08.0/ -A '*.tar.xz' \
     >pkgs/desktops/kde-5/applications/srcs.nix
diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh
index 13df5087fad..5fc932f10d0 100755
--- a/maintainers/scripts/travis-nox-review-pr.sh
+++ b/maintainers/scripts/travis-nox-review-pr.sh
@@ -44,6 +44,13 @@ while test -n "$1"; do
             nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR"
             ;;
 
+        nox)
+            echo "=== Fetching Nox from binary cache"
+
+            # build nox silently so it's not in the log
+            nix-build "<nixpkgs>" -A nox -A stdenv
+            ;;
+
         pr)
             if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
                 echo "=== No pull request found"
@@ -55,7 +62,7 @@ while test -n "$1"; do
                     token="--token $GITHUB_TOKEN"
                 fi
 
-                nix-shell --packages nox git --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
+                nix-shell --packages nox --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
             fi
             ;;
 
diff --git a/nixos/doc/manual/configuration/grsecurity.xml b/nixos/doc/manual/configuration/grsecurity.xml
index 3c17fc19397..28415e89bfa 100644
--- a/nixos/doc/manual/configuration/grsecurity.xml
+++ b/nixos/doc/manual/configuration/grsecurity.xml
@@ -265,6 +265,11 @@
   <sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title>
 
   <itemizedlist>
+    <listitem><para>User namespaces require <literal>CAP_SYS_ADMIN</literal>:
+    consequently, unprivileged namespaces are unsupported. Applications that
+    rely on namespaces for sandboxing must use a privileged helper. For chromium
+    there is <option>security.chromiumSuidSandbox.enable</option>.</para></listitem>
+
     <listitem><para>Access to EFI runtime services is disabled by default:
     this plugs a potential code injection attack vector; use
     <option>security.grsecurity.disableEfiRuntimeServices</option> to override
diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml
index a8d20c0f657..d01e2e060bd 100644
--- a/nixos/doc/manual/man-nixos-rebuild.xml
+++ b/nixos/doc/manual/man-nixos-rebuild.xml
@@ -29,7 +29,7 @@
     </group>
     <sbr />
     <arg><option>--upgrade</option></arg>
-    <arg><option>--install-grub</option></arg>
+    <arg><option>--install-bootloader</option></arg>
     <arg><option>--no-build-nix</option></arg>
     <arg><option>--fast</option></arg>
     <arg><option>--rollback</option></arg>
@@ -212,12 +212,11 @@ $ ./result/bin/run-*-vm
   </varlistentry>
 
   <varlistentry>
-    <term><option>--install-grub</option></term>
+    <term><option>--install-bootloader</option></term>
     <listitem>
-      <para>Causes the GRUB boot loader to be (re)installed on the
-      device specified by the
-      <varname>boot.loader.grub.device</varname> configuration
-      option.</para>
+      <para>Causes the boot loader to be (re)installed on the
+      device specified by the relevant configuration options.
+      </para>
     </listitem>
   </varlistentry>
 
diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml
index 8dd4e1a9f64..1245411be17 100644
--- a/nixos/doc/manual/release-notes/rl-1609.xml
+++ b/nixos/doc/manual/release-notes/rl-1609.xml
@@ -58,6 +58,14 @@ following incompatible changes:</para>
     official documentation</link>.</para>
   </listitem>
 
+  <listitem>
+    <para><literal>fonts.fontconfig.ultimate.rendering</literal> was removed
+    because our presets were obsolete for some time. New presets are hardcoded
+    into freetype; one selects a preset via <literal>fonts.fontconfig.ultimate.preset</literal>.
+    You can customize those presets via ordinary environment variables, using
+    <literal>environment.variables</literal>.</para>
+  </listitem>
+
 </itemizedlist>
 
 
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 63666c99b23..58d0cb38d75 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -12,6 +12,9 @@
   # directly.
   partitioned ? true
 
+  # Whether to invoke switch-to-configuration boot during image creation
+, installBootLoader ? true
+
 , # The root file system type.
   fsType ? "ext4"
 
@@ -64,40 +67,24 @@ pkgs.vmTools.runInLinuxVM (
       mkdir /mnt
       mount $rootDisk /mnt
 
-      # The initrd expects these directories to exist.
-      mkdir /mnt/dev /mnt/proc /mnt/sys
-
-      mount -o bind /proc /mnt/proc
-      mount -o bind /dev /mnt/dev
-      mount -o bind /sys /mnt/sys
-
-      # Copy all paths in the closure to the filesystem.
-      storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
-
-      mkdir -p /mnt/nix/store
-      echo "copying everything (will take a while)..."
-      set -f
-      cp -prd $storePaths /mnt/nix/store/
-
       # Register the paths in the Nix database.
       printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
-          chroot /mnt ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group ""
+          ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group ""
 
       # Add missing size/hash fields to the database. FIXME:
       # exportReferencesGraph should provide these directly.
-      chroot /mnt ${config.nix.package.out}/bin/nix-store --verify --check-contents
+      ${config.nix.package.out}/bin/nix-store --verify --check-contents --option build-users-group ""
 
-      # Create the system profile to allow nixos-rebuild to work.
-      chroot /mnt ${config.nix.package.out}/bin/nix-env --option build-users-group "" \
-          -p /nix/var/nix/profiles/system --set ${config.system.build.toplevel}
-
-      # `nixos-rebuild' requires an /etc/NIXOS.
-      mkdir -p /mnt/etc
-      touch /mnt/etc/NIXOS
+      # In case the bootloader tries to write to /dev/sda…
+      ln -s vda /dev/xvda
+      ln -s vda /dev/sda
 
-      # `switch-to-configuration' requires a /bin/sh
-      mkdir -p /mnt/bin
-      ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
+      # Install the closure onto the image
+      USER=root ${config.system.build.nixos-install}/bin/nixos-install \
+        --closure ${config.system.build.toplevel} \
+        --no-channel-copy \
+        --no-root-passwd \
+        ${optionalString (!installBootLoader) "--no-bootloader"}
 
       # Install a configuration.nix.
       mkdir -p /mnt/etc/nixos
@@ -105,12 +92,9 @@ pkgs.vmTools.runInLinuxVM (
         cp ${configFile} /mnt/etc/nixos/configuration.nix
       ''}
 
-      # Generate the GRUB menu.
-      ln -s vda /dev/xvda
-      ln -s vda /dev/sda
-      chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
+      # Remove /etc/machine-id so that each machine cloning this image will get its own id
+      rm -f /mnt/etc/machine-id
 
-      umount /mnt/proc /mnt/dev /mnt/sys
       umount /mnt
 
       # Do a fsck to make sure resize2fs works.
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 5f463c09284..61b214bfba8 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -29,7 +29,7 @@ rec {
         cp ${./test-driver/Logger.pm} $libDir/Logger.pm
 
         wrapProgram $out/bin/nixos-test-driver \
-          --prefix PATH : "${qemu_kvm}/bin:${vde2}/bin:${netpbm}/bin:${coreutils}/bin" \
+          --prefix PATH : "${lib.makeBinPath [ qemu_kvm vde2 netpbm coreutils ]}" \
           --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl"
       '';
   };
diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix
index 02568f9de51..a3f52fbd919 100644
--- a/nixos/modules/config/fonts/fontconfig-ultimate.nix
+++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix
@@ -3,6 +3,95 @@
 with lib;
 
 let fcBool = x: if x then "<bool>true</bool>" else "<bool>false</bool>";
+
+    cfg = config.fonts.fontconfig.ultimate;
+
+    latestVersion  = pkgs.fontconfig.configVersion;
+
+    # fontconfig ultimate main configuration file
+    # priority 52
+    fontconfigUltimateConf = pkgs.writeText "fc-52-fontconfig-ultimate.conf" ''
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+      <fontconfig>
+
+        ${optionalString (!cfg.allowBitmaps) ''
+        <!-- Reject bitmap fonts -->
+        <selectfont>
+          <rejectfont>
+            <pattern>
+              <patelt name="scalable"><bool>false</bool></patelt>
+            </pattern>
+          </rejectfont>
+        </selectfont>
+        ''}
+
+        ${optionalString cfg.allowType1 ''
+        <!-- Reject Type 1 fonts -->
+        <selectfont>
+          <rejectfont>
+            <pattern>
+              <patelt name="fontformat">
+                <string>Type 1</string>
+              </patelt>
+            </pattern>
+          </rejectfont>
+        </selectfont>
+        ''}
+
+        <!-- Use embedded bitmaps in fonts like Calibri? -->
+        <match target="font">
+          <edit name="embeddedbitmap" mode="assign">
+            ${fcBool cfg.useEmbeddedBitmaps}
+          </edit>
+        </match>
+
+        <!-- Force autohint always -->
+        <match target="font">
+          <edit name="force_autohint" mode="assign">
+            ${fcBool cfg.forceAutohint}
+          </edit>
+        </match>
+
+        <!-- Render some monospace TTF fonts as bitmaps -->
+        <match target="pattern">
+          <edit name="bitmap_monospace" mode="assign">
+            ${fcBool cfg.renderMonoTTFAsBitmap}
+          </edit>
+        </match>
+
+      </fontconfig>
+    '';
+
+    # The configuration to be included in /etc/font/
+    confPkg = pkgs.runCommand "font-ultimate-conf" {} ''
+      support_folder=$out/etc/fonts/conf.d
+      latest_folder=$out/etc/fonts/${latestVersion}/conf.d
+
+      mkdir -p $support_folder
+      mkdir -p $latest_folder
+
+      # 52-fontconfig-ultimate.conf
+      ln -s ${fontconfigUltimateConf} \
+            $support_folder/52-fontconfig-ultimate.conf
+      ln -s ${fontconfigUltimateConf} \
+            $latest_folder/52-fontconfig-ultimate.conf
+
+      # fontconfig ultimate substitutions
+      ${optionalString (cfg.substitutions != "none") ''
+      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
+            $support_folder
+      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
+            $latest_folder
+      ''}
+
+      # fontconfig ultimate various configuration files
+      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/conf.d/*.conf \
+            $support_folder
+      ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/conf.d/*.conf \
+            $latest_folder
+    '';
+
 in
 {
 
@@ -64,9 +153,7 @@ in
           };
 
           substitutions = mkOption {
-            type = types.str // {
-              check = flip elem ["none" "free" "combi" "ms"];
-            };
+            type = types.nullOr (types.enum ["free" "combi" "ms"]);
             default = "free";
             description = ''
               Font substitutions to replace common Type 1 fonts with nicer
@@ -77,35 +164,12 @@ in
             '';
           };
 
-          rendering = mkOption {
-            type = types.attrs;
-            default = pkgs.fontconfig-ultimate.rendering.ultimate;
+          preset = mkOption {
+            type = types.enum ["ultimate1" "ultimate2" "ultimate3" "ultimate4" "ultimate5" "osx" "windowsxp"];
+            default = "ultimate3";
             description = ''
-              FreeType rendering settings presets. The default is
-              <literal>pkgs.fontconfig-ultimate.rendering.ultimate</literal>.
-              The other available styles are:
-              <literal>ultimate-lighter</literal>,
-              <literal>ultimate-darker</literal>,
-              <literal>ultimate-lightest</literal>,
-              <literal>ultimate-darkest</literal>,
-              <literal>default</literal> (the original Infinality default),
-              <literal>osx</literal>,
-              <literal>ipad</literal>,
-              <literal>ubuntu</literal>,
-              <literal>linux</literal>,
-              <literal>winxplight</literal>,
-              <literal>win7light</literal>,
-              <literal>winxp</literal>,
-              <literal>win7</literal>,
-              <literal>vanilla</literal>,
-              <literal>classic</literal>,
-              <literal>nudge</literal>,
-              <literal>push</literal>,
-              <literal>shove</literal>,
-              <literal>sharpened</literal>,
-              <literal>infinality</literal>. Any of the presets may be
-              customized by editing the attributes. To disable, set this option
-              to the empty attribute set <literal>{}</literal>.
+              FreeType rendering settings preset. Any of the presets may be
+              customized by setting environment variables.
             '';
           };
         };
@@ -114,80 +178,11 @@ in
 
   };
 
+  config = mkIf (config.fonts.fontconfig.enable && cfg.enable) {
 
-  config =
-    let ultimate = config.fonts.fontconfig.ultimate;
-        fontconfigUltimateConf = ''
-          <?xml version="1.0"?>
-          <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-          <fontconfig>
-
-            ${optionalString (!ultimate.allowBitmaps) ''
-            <!-- Reject bitmap fonts -->
-            <selectfont>
-              <rejectfont>
-                <pattern>
-                  <patelt name="scalable"><bool>false</bool></patelt>
-                </pattern>
-              </rejectfont>
-            </selectfont>
-            ''}
-
-            ${optionalString ultimate.allowType1 ''
-            <!-- Reject Type 1 fonts -->
-            <selectfont>
-              <rejectfont>
-                <pattern>
-                  <patelt name="fontformat">
-                    <string>Type 1</string>
-                  </patelt>
-                </pattern>
-              </rejectfont>
-            </selectfont>
-            ''}
-
-            <!-- Use embedded bitmaps in fonts like Calibri? -->
-            <match target="font">
-              <edit name="embeddedbitmap" mode="assign">
-                ${fcBool ultimate.useEmbeddedBitmaps}
-              </edit>
-            </match>
-
-            <!-- Force autohint always -->
-            <match target="font">
-              <edit name="force_autohint" mode="assign">
-                ${fcBool ultimate.forceAutohint}
-              </edit>
-            </match>
-
-            <!-- Render some monospace TTF fonts as bitmaps -->
-            <match target="pattern">
-              <edit name="bitmap_monospace" mode="assign">
-                ${fcBool ultimate.renderMonoTTFAsBitmap}
-              </edit>
-            </match>
-
-            ${optionalString (ultimate.substitutions != "none") ''
-            <!-- Type 1 font substitutions -->
-            <include ignore_missing="yes">${pkgs.fontconfig-ultimate.confd}/etc/fonts/presets/${ultimate.substitutions}</include>
-            ''}
-
-            <include ignore_missing="yes">${pkgs.fontconfig-ultimate.confd}/etc/fonts/conf.d</include>
-
-          </fontconfig>
-        '';
-    in mkIf (config.fonts.fontconfig.enable && ultimate.enable) {
-
-      environment.etc."fonts/conf.d/52-fontconfig-ultimate.conf" = {
-        text = fontconfigUltimateConf;
-      };
-
-      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/52-fontconfig-ultimate.conf" = {
-        text = fontconfigUltimateConf;
-      };
-
-      environment.variables = ultimate.rendering;
+    fonts.fontconfig.confPackages = [ confPkg ];
+    environment.variables."INFINALITY_FT" = cfg.preset;
 
-    };
+  };
 
 }
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 1eaebe4b2bb..770c3a03f9d 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -1,7 +1,207 @@
+/*
+
+NixOS support 2 fontconfig versions, "support" and "latest".
+
+- "latest" refers to default fontconfig package (pkgs.fontconfig).
+  configuration files are linked to /etc/fonts/VERSION/conf.d/
+- "support" refers to supportPkg (pkgs."fontconfig_${supportVersion}").
+  configuration files are linked to /etc/fonts/conf.d/
+
+This module generates a package containing configuration files and link it in /etc/fonts.
+
+Fontconfig reads files in folder name / file name order, so the number prepended to the configuration file name decide the order of parsing.
+Low number means high priority.
+
+*/
+
 { config, lib, pkgs, ... }:
 
 with lib;
 
+let cfg = config.fonts.fontconfig;
+
+    fcBool = x: "<bool>" + (if x then "true" else "false") + "</bool>";
+
+    # back-supported fontconfig version and package
+    # version is used for font cache generation
+    supportVersion = "210";
+    supportPkg     = pkgs."fontconfig_${supportVersion}";
+
+    # latest fontconfig version and package
+    # version is used for configuration folder name, /etc/fonts/VERSION/
+    # note: format differs from supportVersion and can not be used with makeCacheConf
+    latestVersion  = pkgs.fontconfig.configVersion;
+    latestPkg      = pkgs.fontconfig;
+
+    # supported version fonts.conf
+    supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; };
+
+    # configuration file to read fontconfig cache
+    # version dependent
+    # priority 0
+    cacheConfSupport = makeCacheConf { version = supportVersion; };
+    cacheConfLatest  = makeCacheConf {};
+    
+    # generate the font cache setting file for a fontconfig version
+    # use latest when no version is passed
+    makeCacheConf = { version ? null }:
+      let 
+        fcPackage = if builtins.isNull version
+                    then "fontconfig"
+                    else "fontconfig_${version}";
+        makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
+        cache     = makeCache pkgs."${fcPackage}";
+        cache32   = makeCache pkgs.pkgsi686Linux."${fcPackage}";
+      in
+      pkgs.writeText "fc-00-nixos-cache.conf" ''
+        <?xml version='1.0'?>
+        <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+        <fontconfig>
+          <!-- Font directories -->
+          ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
+          <!-- Pre-generated font caches -->
+          <cachedir>${cache}</cachedir>
+          ${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) ''
+            <cachedir>${cache32}</cachedir>
+          ''}
+        </fontconfig>
+      '';
+
+    # rendering settings configuration file
+    # priority 10
+    renderConf = pkgs.writeText "fc-10-nixos-rendering.conf" ''
+      <?xml version='1.0'?>
+      <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+      <fontconfig>
+
+        <!-- Default rendering settings -->
+        <match target="font">
+          <edit mode="assign" name="hinting">
+            ${fcBool cfg.hinting.enable}
+          </edit>
+          <edit mode="assign" name="autohint">
+            ${fcBool cfg.hinting.autohint}
+          </edit>
+          <edit mode="assign" name="hintstyle">
+            <const>hint${cfg.hinting.style}</const>
+          </edit>
+          <edit mode="assign" name="antialias">
+            ${fcBool cfg.antialias}
+          </edit>
+          <edit mode="assign" name="rgba">
+            <const>${cfg.subpixel.rgba}</const>
+          </edit>
+          <edit mode="assign" name="lcdfilter">
+            <const>lcd${cfg.subpixel.lcdfilter}</const>
+          </edit>
+        </match>
+
+        ${optionalString (cfg.dpi != 0) ''
+        <match target="pattern">
+          <edit name="dpi" mode="assign">
+            <double>${toString cfg.dpi}</double>
+          </edit>
+        </match>
+        ''}
+
+      </fontconfig>
+    '';
+
+    # local configuration file
+    # priority 51
+    localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
+
+    # default fonts configuration file
+    # priority 52
+    defaultFontsConf = 
+      let genDefault = fonts: name:
+        optionalString (fonts != []) ''
+          <alias>
+            <family>${name}</family>
+            <prefer>
+            ${concatStringsSep ""
+            (map (font: ''
+              <family>${font}</family>
+            '') fonts)}
+            </prefer>
+          </alias>
+        '';
+      in
+      pkgs.writeText "fc-52-nixos-default-fonts.conf" ''
+      <?xml version='1.0'?>
+      <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+      <fontconfig>
+
+        <!-- Default fonts -->
+        ${genDefault cfg.defaultFonts.sansSerif "sans-serif"}
+
+        ${genDefault cfg.defaultFonts.serif     "serif"}
+
+        ${genDefault cfg.defaultFonts.monospace "monospace"}
+
+      </fontconfig>
+    '';
+
+    # fontconfig configuration package 
+    confPkg = pkgs.runCommand "fontconfig-conf" {} ''
+      support_folder=$out/etc/fonts
+      latest_folder=$out/etc/fonts/${latestVersion}
+
+      mkdir -p $support_folder/conf.d
+      mkdir -p $latest_folder/conf.d
+
+      # fonts.conf
+      ln -s ${supportFontsConf} $support_folder/fonts.conf
+      ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
+            $latest_folder/fonts.conf
+
+      # fontconfig default config files
+      ln -s ${supportPkg.out}/etc/fonts/conf.d/*.conf \
+            $support_folder/conf.d/
+      ln -s ${latestPkg.out}/etc/fonts/conf.d/*.conf \
+            $latest_folder/conf.d/
+
+      # update latest 51-local.conf path to look at the latest local.conf
+      rm    $latest_folder/conf.d/51-local.conf
+
+      substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \
+                 $latest_folder/conf.d/51-local.conf \
+                 --replace local.conf /etc/fonts/${latestVersion}/local.conf 
+
+      # 00-nixos-cache.conf
+      ln -s ${cacheConfSupport} \
+            $support_folder/conf.d/00-nixos-cache.conf
+      ln -s ${cacheConfLatest}  $latest_folder/conf.d/00-nixos-cache.conf
+
+      # 10-nixos-rendering.conf
+      ln -s ${renderConf}       $support_folder/conf.d/10-nixos-rendering.conf
+      ln -s ${renderConf}       $latest_folder/conf.d/10-nixos-rendering.conf
+
+      # 50-user.conf
+      ${optionalString (! cfg.includeUserConf) ''
+      rm    $support_folder/conf.d/50-user.conf
+      rm    $latest_folder/conf.d/50-user.conf
+      ''}
+
+      # local.conf (indirect priority 51)
+      ${optionalString (cfg.localConf != "") ''
+      ln -s ${localConf}        $support_folder/local.conf
+      ln -s ${localConf}        $latest_folder/local.conf
+      ''}
+
+      # 52-nixos-default-fonts.conf
+      ln -s ${defaultFontsConf} $support_folder/conf.d/52-nixos-default-fonts.conf
+      ln -s ${defaultFontsConf} $latest_folder/conf.d/52-nixos-default-fonts.conf
+    '';
+
+    # Package with configuration files
+    # this merge all the packages in the fonts.fontconfig.confPackages list
+    fontconfigEtc = pkgs.buildEnv {
+      name  = "fontconfig-etc";
+      paths = cfg.confPackages;
+      ignoreCollisions = true;
+    };
+in
 {
 
   options = {
@@ -21,6 +221,15 @@ with lib;
           '';
         };
 
+        confPackages = mkOption {
+          internal = true;
+          type     = with types; listOf path;
+          default  = [ ];
+          description = ''
+            Fontconfig configuration packages.
+          '';
+        };
+
         antialias = mkOption {
           type = types.bool;
           default = true;
@@ -36,6 +245,15 @@ with lib;
           '';
         };
 
+        localConf = mkOption {
+          type = types.lines;
+          default = "";
+          description = ''
+            System-wide customization file contents, has higher priority than 
+            <literal>defaultFonts</literal> settings.
+          '';
+        };
+
         defaultFonts = {
           monospace = mkOption {
             type = types.listOf types.str;
@@ -142,136 +360,11 @@ with lib;
     };
 
   };
+  config = mkIf cfg.enable {
+    fonts.fontconfig.confPackages = [ confPkg ];
 
-  config =
-    let fontconfig = config.fonts.fontconfig;
-        fcBool = x: "<bool>" + (if x then "true" else "false") + "</bool>";
-        renderConf = ''
-          <?xml version='1.0'?>
-          <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-          <fontconfig>
-
-            <!-- Default rendering settings -->
-            <match target="font">
-              <edit mode="assign" name="hinting">
-                ${fcBool fontconfig.hinting.enable}
-              </edit>
-              <edit mode="assign" name="autohint">
-                ${fcBool fontconfig.hinting.autohint}
-              </edit>
-              <edit mode="assign" name="hintstyle">
-                <const>hint${fontconfig.hinting.style}</const>
-              </edit>
-              <edit mode="assign" name="antialias">
-                ${fcBool fontconfig.antialias}
-              </edit>
-              <edit mode="assign" name="rgba">
-                <const>${fontconfig.subpixel.rgba}</const>
-              </edit>
-              <edit mode="assign" name="lcdfilter">
-                <const>lcd${fontconfig.subpixel.lcdfilter}</const>
-              </edit>
-            </match>
-
-            ${optionalString (fontconfig.dpi != 0) ''
-            <match target="pattern">
-              <edit name="dpi" mode="assign">
-                <double>${toString fontconfig.dpi}</double>
-              </edit>
-            </match>
-            ''}
-
-          </fontconfig>
-        '';
-        genericAliasConf = ''
-          <?xml version='1.0'?>
-          <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-          <fontconfig>
-
-            <!-- Default fonts -->
-            ${optionalString (fontconfig.defaultFonts.sansSerif != []) ''
-            <alias>
-              <family>sans-serif</family>
-              <prefer>
-                ${concatStringsSep "\n"
-                  (map (font: "<family>${font}</family>")
-                    fontconfig.defaultFonts.sansSerif)}
-              </prefer>
-            </alias>
-            ''}
-            ${optionalString (fontconfig.defaultFonts.serif != []) ''
-            <alias>
-              <family>serif</family>
-              <prefer>
-                ${concatStringsSep "\n"
-                  (map (font: "<family>${font}</family>")
-                    fontconfig.defaultFonts.serif)}
-              </prefer>
-            </alias>
-            ''}
-            ${optionalString (fontconfig.defaultFonts.monospace != []) ''
-            <alias>
-              <family>monospace</family>
-              <prefer>
-                ${concatStringsSep "\n"
-                  (map (font: "<family>${font}</family>")
-                    fontconfig.defaultFonts.monospace)}
-              </prefer>
-            </alias>
-            ''}
-
-          </fontconfig>
-        '';
-    in mkIf fontconfig.enable {
-
-      # Fontconfig 2.10 backward compatibility
-
-      # Bring in the default (upstream) fontconfig configuration, only for fontconfig 2.10
-      environment.etc."fonts/fonts.conf".source =
-        pkgs.makeFontsConf { fontconfig = pkgs.fontconfig_210; fontDirectories = config.fonts.fonts; };
-
-      environment.etc."fonts/conf.d/10-nixos-rendering.conf".text = renderConf;
-      environment.etc."fonts/conf.d/60-nixos-generic-alias.conf".text = genericAliasConf;
-
-      # Versioned fontconfig > 2.10. Take shared fonts.conf from fontconfig.
-      # Otherwise specify only font directories.
-      environment.etc."fonts/${pkgs.fontconfig.configVersion}/fonts.conf".source =
-        "${pkgs.fontconfig.out}/etc/fonts/fonts.conf";
-
-      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/00-nixos.conf".text =
-        let
-          cache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
-        in ''
-          <?xml version='1.0'?>
-          <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-          <fontconfig>
-            <!-- Font directories -->
-            ${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
-            <!-- Pre-generated font caches -->
-            <cachedir>${cache pkgs.fontconfig}</cachedir>
-            ${optionalString (pkgs.stdenv.isx86_64 && config.fonts.fontconfig.cache32Bit) ''
-              <cachedir>${cache pkgs.pkgsi686Linux.fontconfig}</cachedir>
-            ''}
-          </fontconfig>
-        '';
-
-      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/10-nixos-rendering.conf".text = renderConf;
-      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/60-nixos-generic-alias.conf".text = genericAliasConf;
-
-      environment.etc."fonts/${pkgs.fontconfig.configVersion}/conf.d/99-user.conf" = {
-        enable = fontconfig.includeUserConf;
-        text = ''
-          <?xml version="1.0"?>
-          <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-          <fontconfig>
-            <include ignore_missing="yes" prefix="xdg">fontconfig/conf.d</include>
-            <include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>
-          </fontconfig>
-        '';
-      };
-
-      environment.systemPackages = [ pkgs.fontconfig ];
-
-    };
+    environment.systemPackages    = [ pkgs.fontconfig ];
+    environment.etc.fonts.source  = "${fontconfigEtc}/etc/fonts/";
+  };
 
 }
diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix
index 7064ef64b4c..da875d6e482 100644
--- a/nixos/modules/config/ldap.nix
+++ b/nixos/modules/config/ldap.nix
@@ -62,6 +62,18 @@ in
         description = "Whether to enable authentication against an LDAP server.";
       };
 
+      loginPam = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Whether to include authentication against LDAP in login PAM";
+      };
+
+      nsswitch = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Whether to include lookup against LDAP in NSS";
+      };
+
       server = mkOption {
         example = "ldap://ldap.example.org/";
         description = "The URL of the LDAP server.";
diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix
index a39c2895bf8..f30136be44e 100644
--- a/nixos/modules/config/nsswitch.nix
+++ b/nixos/modules/config/nsswitch.nix
@@ -8,7 +8,7 @@ let
 
   inherit (config.services.avahi) nssmdns;
   inherit (config.services.samba) nsswins;
-  ldap = config.users.ldap.enable;
+  ldap = (config.users.ldap.enable && config.users.ldap.nsswitch);
 
 in
 
diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix
index 019932b04e8..ad41ad4f3d7 100644
--- a/nixos/modules/config/zram.nix
+++ b/nixos/modules/config/zram.nix
@@ -8,7 +8,7 @@ let
 
   devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1));
 
-  modprobe = "${config.system.sbin.modprobe}/sbin/modprobe";
+  modprobe = "${pkgs.kmod}/bin/modprobe";
 
 in
 
diff --git a/nixos/modules/hardware/video/amdgpu.nix b/nixos/modules/hardware/video/amdgpu.nix
new file mode 100644
index 00000000000..42fc8fa362d
--- /dev/null
+++ b/nixos/modules/hardware/video/amdgpu.nix
@@ -0,0 +1,9 @@
+{ config, lib, ... }:
+
+with lib;
+{
+  config = mkIf (elem "amdgpu" config.services.xserver.videoDrivers) {
+    boot.blacklistedKernelModules = [ "radeon" ];
+  };
+}
+
diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix
index b10846ac18a..69db518ab21 100644
--- a/nixos/modules/hardware/video/bumblebee.nix
+++ b/nixos/modules/hardware/video/bumblebee.nix
@@ -75,7 +75,6 @@ in
       serviceConfig = {
         ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver}";
       };
-      environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/";
     };
   };
 }
diff --git a/nixos/modules/hardware/video/webcam/facetimehd.nix b/nixos/modules/hardware/video/webcam/facetimehd.nix
index 2a2fcf3057d..d311f600c31 100644
--- a/nixos/modules/hardware/video/webcam/facetimehd.nix
+++ b/nixos/modules/hardware/video/webcam/facetimehd.nix
@@ -36,7 +36,6 @@ in
 
     # and load it back on resume
     powerManagement.resumeCommands = ''
-      export MODULE_DIR=/run/current-system/kernel-modules/lib/modules
       ${pkgs.kmod}/bin/modprobe -v facetimehd
     '';
 
diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml
index c55ac1ec245..a32ed100df3 100644
--- a/nixos/modules/i18n/input-method/default.xml
+++ b/nixos/modules/i18n/input-method/default.xml
@@ -88,6 +88,8 @@ i18n.inputMethod = {
       methods among Traditional Chinese Unix users.</para></listitem>
   <listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input 
       method.</para></listitem>
+  <listitem><para>Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese input 
+      method.</para></listitem>
   <listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input 
       method that uses input methods and corresponding icons in the m17n 
       database.</para></listitem>
diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh
index 0247925f414..3b3a7bd27fe 100644
--- a/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixos/modules/installer/tools/nixos-install.sh
@@ -24,7 +24,7 @@ fi
 # Parse the command line for the -I flag
 extraBuildFlags=()
 chrootCommand=(/run/current-system/sw/bin/bash)
-bootLoader=1
+buildUsersGroup="nixbld"
 
 while [ "$#" -gt 0 ]; do
     i="$1"; shift 1
@@ -43,6 +43,7 @@ while [ "$#" -gt 0 ]; do
             ;;
         --closure)
             closure="$1"; shift 1
+            buildUsersGroup=""
             ;;
         --no-channel-copy)
             noChannelCopy=1
@@ -51,7 +52,7 @@ while [ "$#" -gt 0 ]; do
             noRootPasswd=1
             ;;
         --no-bootloader)
-            bootLoader=0
+            noBootLoader=1
             ;;
         --show-trace)
             extraBuildFlags+=("$i")
@@ -101,8 +102,8 @@ mount -t tmpfs -o "mode=0755" none $mountPoint/run
 mount -t tmpfs -o "mode=0755" none $mountPoint/var/setuid-wrappers
 rm -rf $mountPoint/var/run
 ln -s /run $mountPoint/var/run
-rm -f $mountPoint/etc/{resolv.conf,hosts}
-cp -Lf /etc/resolv.conf /etc/hosts $mountPoint/etc/
+for f in /etc/resolv.conf /etc/hosts; do rm -f $mountPoint/$f; [ -f "$f" ] && cp -Lf $f $mountPoint/etc/; done
+for f in /etc/passwd /etc/group;      do touch $mountPoint/$f; [ -f "$f" ] && mount --rbind -o ro $f $mountPoint/$f; done
 
 cp -Lf "@cacert@" "$mountPoint/tmp/ca-cert.crt"
 export SSL_CERT_FILE=/tmp/ca-cert.crt
@@ -142,7 +143,7 @@ mkdir -m 0755 -p \
     $mountPoint/nix/var/log/nix/drvs
 
 mkdir -m 1775 -p $mountPoint/nix/store
-chown root:nixbld $mountPoint/nix/store
+chown @root_uid@:@nixbld_gid@ $mountPoint/nix/store
 
 
 # There is no daemon in the chroot.
@@ -155,18 +156,13 @@ export LC_ALL=
 export LC_TIME=
 
 
-# Create a temporary Nix config file that causes the nixbld users to
-# be used.
-echo "build-users-group = nixbld" > $mountPoint/tmp/nix.conf # FIXME: remove in Nix 1.8
-binary_caches=$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')
-if test -n "$binary_caches"; then
-    echo "binary-caches = $binary_caches" >> $mountPoint/tmp/nix.conf
-fi
-export NIX_CONF_DIR=/tmp
+# Builds will use users that are members of this group
+extraBuildFlags+=(--option "build-users-group" "$buildUsersGroup")
+
 
-touch $mountPoint/etc/passwd $mountPoint/etc/group
-mount --bind -o ro /etc/passwd $mountPoint/etc/passwd
-mount --bind -o ro /etc/group $mountPoint/etc/group
+# Inherit binary caches from the host
+binary_caches="$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')"
+extraBuildFlags+=(--option "binary-caches" "$binary_caches")
 
 
 # Copy Nix to the Nix store on the target device, unless it's already there.
@@ -247,7 +243,7 @@ ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defex
 
 
 # Get rid of the /etc bind mounts.
-umount $mountPoint/etc/passwd $mountPoint/etc/group
+for f in /etc/passwd /etc/group; do [ -f "$f" ] && umount $mountPoint/$f; done
 
 
 # Grub needs an mtab.
@@ -263,16 +259,17 @@ touch $mountPoint/etc/NIXOS
 # a menu default pointing at the kernel/initrd/etc of the new
 # configuration.
 echo "finalising the installation..."
-NIXOS_INSTALL_GRUB="$bootLoader" chroot $mountPoint \
-    /nix/var/nix/profiles/system/bin/switch-to-configuration boot
-
+if [ -z "$noBootLoader" ]; then
+  NIXOS_INSTALL_BOOTLOADER=1 chroot $mountPoint \
+      /nix/var/nix/profiles/system/bin/switch-to-configuration boot
+fi
 
 # Run the activation script.
 chroot $mountPoint /nix/var/nix/profiles/system/activate
 
 
 # Ask the user to set a root password.
-if [ -z "$noRootPasswd" ] && [ "$(chroot $mountPoint /run/current-system/sw/bin/sh -l -c "nix-instantiate --eval '<nixpkgs/nixos>' -A config.users.mutableUsers")" = true ] && [ -t 0 ] ; then
+if [ -z "$noRootPasswd" ] && [ -x $mountPoint/var/setuid-wrappers/passwd ] && [ -t 0 ]; then
     echo "setting root password..."
     chroot $mountPoint /var/setuid-wrappers/passwd
 fi
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index e26a9f6cf63..80398978983 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -33,7 +33,11 @@ while [ "$#" -gt 0 ]; do
         action="$i"
         ;;
       --install-grub)
-        export NIXOS_INSTALL_GRUB=1
+        echo "$0: --install-grub deprecated, use --install-bootloader instead" >&2
+        export NIXOS_INSTALL_BOOTLOADER=1
+        ;;
+      --install-bootloader)
+        export NIXOS_INSTALL_BOOTLOADER=1
         ;;
       --no-build-nix)
         buildNix=
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index a55c03bd952..fc39a653abd 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -24,6 +24,8 @@ let
     inherit (pkgs) perl pathsFromGraph rsync;
     nix = config.nix.package.out;
     cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
+    root_uid = config.ids.uids.root;
+    nixbld_gid = config.ids.gids.nixbld;
 
     nixClosure = pkgs.runCommand "closure"
       { exportReferencesGraph = ["refs" config.nix.package.out]; }
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 83b47728639..31c93028bc5 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -274,6 +274,7 @@
       gocd-agent = 251;
       gocd-server = 252;
       terraria = 253;
+      mattermost = 254;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -518,6 +519,7 @@
       gocd-agent = 251;
       gocd-server = 252;
       terraria = 253;
+      mattermost = 254;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 36ec2651965..eb89ff83e2c 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -37,9 +37,10 @@
   ./hardware/network/rtl8192c.nix
   ./hardware/opengl.nix
   ./hardware/pcmcia.nix
+  ./hardware/video/amdgpu.nix
+  ./hardware/video/ati.nix
   ./hardware/video/bumblebee.nix
   ./hardware/video/nvidia.nix
-  ./hardware/video/ati.nix
   ./hardware/video/webcam/facetimehd.nix
   ./i18n/input-method/default.nix
   ./i18n/input-method/fcitx.nix
@@ -136,7 +137,6 @@
   ./services/continuous-integration/jenkins/slave.nix
   ./services/databases/4store-endpoint.nix
   ./services/databases/4store.nix
-  ./services/databases/cassandra.nix
   ./services/databases/couchdb.nix
   ./services/databases/firebird.nix
   ./services/databases/hbase.nix
@@ -341,6 +341,7 @@
   ./services/networking/freenet.nix
   ./services/networking/gale.nix
   ./services/networking/gateone.nix
+  ./services/networking/gdomap.nix
   ./services/networking/git-daemon.nix
   ./services/networking/gnunet.nix
   ./services/networking/gogoclient.nix
@@ -464,6 +465,7 @@
   ./services/ttys/agetty.nix
   ./services/ttys/gpm.nix
   ./services/ttys/kmscon.nix
+  ./services/web-apps/mattermost.nix
   ./services/web-apps/pump.io.nix
   ./services/web-apps/tt-rss.nix
   ./services/web-servers/apache-httpd/default.nix
diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix
index 6398509357a..878c9cc0cf0 100644
--- a/nixos/modules/programs/shadow.nix
+++ b/nixos/modules/programs/shadow.nix
@@ -103,10 +103,9 @@ in
       };
 
     security.setuidPrograms = [ "su" "chfn" ]
+      ++ [ "newuidmap" "newgidmap" ] # new in shadow 4.2.x
       ++ lib.optionals config.users.mutableUsers
-      [ "passwd" "sg" "newgrp"
-        "newuidmap" "newgidmap" # new in shadow 4.2.x
-      ];
+      [ "passwd" "sg" "newgrp" ];
 
   };
 
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 3f8a770cbce..3caac6c4ee6 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -137,6 +137,9 @@ with lib;
     # Unity3D
     (mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
 
+    # fontconfig-ultimate
+    (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "rendering" ] [ "fonts" "fontconfig" "ultimate" "preset" ])
+
     # Options that are obsolete and have no replacement.
     (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ])
     (mkRemovedOptionModule [ "programs" "bash" "enable" ])
diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix
index 60e9058dd69..9a2f62a1488 100644
--- a/nixos/modules/security/grsecurity.nix
+++ b/nixos/modules/security/grsecurity.nix
@@ -119,11 +119,13 @@ in
       "kernel.grsecurity.chroot_deny_chroot" = mkForce 0;
       "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
       "kernel.grsecurity.chroot_deny_pivot" = mkForce 0;
+      "kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
     } // optionalAttrs containerSupportRequired {
       # chroot(2) restrictions that conflict with NixOS lightweight containers
       "kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
       "kernel.grsecurity.chroot_deny_mount" = mkForce 0;
       "kernel.grsecurity.chroot_restrict_nice" = mkForce 0;
+      "kernel.grsecurity.chroot_caps" = mkForce 0;
     };
 
     assertions = [
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 231a1890e0c..77815cd6dcc 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -221,7 +221,7 @@ let
         (''
           # Account management.
           account sufficient pam_unix.so
-          ${optionalString config.users.ldap.enable
+          ${optionalString use_ldap
               "account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
           ${optionalString config.krb5.enable
               "account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
@@ -261,7 +261,7 @@ let
               "auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so"}
           ${let oath = config.security.pam.oath; in optionalString cfg.oathAuth
               "auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
-          ${optionalString config.users.ldap.enable
+          ${optionalString use_ldap
               "auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
           ${optionalString config.krb5.enable ''
             auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
@@ -276,7 +276,7 @@ let
               "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
           ${optionalString cfg.pamMount
               "password optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
-          ${optionalString config.users.ldap.enable
+          ${optionalString use_ldap
               "password sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
           ${optionalString config.krb5.enable
               "password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
@@ -296,7 +296,7 @@ let
               "session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"}
           ${optionalString config.security.pam.enableEcryptfs
               "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
-          ${optionalString config.users.ldap.enable
+          ${optionalString use_ldap
               "session optional ${pam_ldap}/lib/security/pam_ldap.so"}
           ${optionalString config.krb5.enable
               "session optional ${pam_krb5}/lib/security/pam_krb5.so"}
@@ -322,6 +322,7 @@ let
 
   inherit (pkgs) pam_krb5 pam_ccreds;
 
+  use_ldap = (config.users.ldap.enable && config.users.ldap.loginPam);
   pam_ldap = if config.users.ldap.daemon.enable then pkgs.nss_pam_ldapd else pkgs.pam_ldap;
 
   # Create a limits.conf(5) file.
diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix
index a69526f968b..38cf8eb72fb 100644
--- a/nixos/modules/services/backup/crashplan.nix
+++ b/nixos/modules/services/backup/crashplan.nix
@@ -28,7 +28,7 @@ with lib;
       description = "CrashPlan Backup Engine";
 
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network.target" ];
+      after    = [ "network.target" "local-fs.target" ];
 
       preStart = ''
         ensureDir() {
diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix
index b1449882b04..267bc16862c 100644
--- a/nixos/modules/services/continuous-integration/buildkite-agent.nix
+++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix
@@ -77,15 +77,11 @@ in
         preStart = ''
             ${pkgs.coreutils}/bin/mkdir -m 0700 -p /var/lib/buildkite-agent/.ssh
 
-            if ! [ -f /var/lib/buildkite-agent/.ssh/id_rsa ]; then
-              echo "${cfg.openssh.privateKey}" > /var/lib/buildkite-agent/.ssh/id_rsa
-              ${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa
-            fi
+            echo "${cfg.openssh.privateKey}" > /var/lib/buildkite-agent/.ssh/id_rsa
+            ${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa
 
-            if ! [ -f /var/lib/buildkite-agent/.ssh/id_rsa.pub ]; then
-              echo "${cfg.openssh.publicKey}" > /var/lib/buildkite-agent/.ssh/id_rsa.pub
-              ${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa.pub
-            fi
+            echo "${cfg.openssh.publicKey}" > /var/lib/buildkite-agent/.ssh/id_rsa.pub
+            ${pkgs.coreutils}/bin/chmod 600 /var/lib/buildkite-agent/.ssh/id_rsa.pub
           '';
 
         serviceConfig =
diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix
index c8edfaf1853..b1b3404add0 100644
--- a/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -166,7 +166,7 @@ in
 
       buildMachinesFiles = mkOption {
         type = types.listOf types.path;
-        default = [];
+        default = [ "/etc/nix/machines" ];
         example = [ "/etc/nix/machines" "/var/lib/hydra/provisioner/machines" ];
         description = "List of files containing build machines.";
       };
@@ -193,7 +193,9 @@ in
 
   config = mkIf cfg.enable {
 
-    users.extraGroups.hydra = { };
+    users.extraGroups.hydra = {
+      gid = config.ids.gids.hydra;
+    };
 
     users.extraUsers.hydra =
       { description = "Hydra";
@@ -201,6 +203,7 @@ in
         createHome = true;
         home = baseDir;
         useDefaultShell = true;
+        uid = config.ids.uids.hydra;
       };
 
     users.extraUsers.hydra-queue-runner =
@@ -208,12 +211,14 @@ in
         group = "hydra";
         useDefaultShell = true;
         home = "${baseDir}/queue-runner"; # really only to keep SSH happy
+        uid = config.ids.uids.hydra-queue-runner;
       };
 
     users.extraUsers.hydra-www =
       { description = "Hydra web server";
         group = "hydra";
         useDefaultShell = true;
+        uid = config.ids.uids.hydra-www;
       };
 
     nix.trustedUsers = [ "hydra-queue-runner" ];
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix
index 5ab7daafa85..281d02a8c65 100644
--- a/nixos/modules/services/hardware/tlp.nix
+++ b/nixos/modules/services/hardware/tlp.nix
@@ -72,8 +72,6 @@ in
           ExecStart = "${tlp}/bin/tlp init start";
           ExecStop = "${tlp}/bin/tlp init stop";
         };
-
-        environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/";
       };
 
       tlp-sleep = {
@@ -92,8 +90,6 @@ in
           ExecStart = "${tlp}/bin/tlp suspend";
           ExecStop = "${tlp}/bin/tlp resume";
         };
-
-        environment.MODULE_DIR="/run/current-system/kernel-modules/lib/modules/";
       };
     };
 
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index e7741083d1a..7c4c93d0fcb 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -58,7 +58,7 @@ let
       # Fix some paths in the standard udev rules.  Hacky.
       for i in $out/*.rules; do
         substituteInPlace $i \
-          --replace \"/sbin/modprobe \"${config.system.sbin.modprobe}/sbin/modprobe \
+          --replace \"/sbin/modprobe \"${pkgs.kmod}/bin/modprobe \
           --replace \"/sbin/mdadm \"${pkgs.mdadm}/sbin/mdadm \
           --replace \"/sbin/blkid \"${pkgs.utillinux}/sbin/blkid \
           --replace \"/bin/mount \"${pkgs.utillinux}/bin/mount \
@@ -316,8 +316,7 @@ in
       '';
 
     systemd.services.systemd-udevd =
-      { environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules";
-        restartTriggers = cfg.packages;
+      { restartTriggers = cfg.packages;
       };
 
   };
diff --git a/nixos/modules/services/misc/autofs.nix b/nixos/modules/services/misc/autofs.nix
index 8913030e0ea..18f0c3eb83d 100644
--- a/nixos/modules/services/misc/autofs.nix
+++ b/nixos/modules/services/misc/autofs.nix
@@ -75,9 +75,10 @@ in
     boot.kernelModules = [ "autofs4" ];
 
     systemd.services.autofs =
-      { description = "Filesystem automounter";
+      { description = "Automounts filesystems on demand";
+        after = [ "network.target" "ypbind.service" "sssd.service" "network-online.target" ];
+        wants = [ "network-online.target" ];
         wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" ];
 
         preStart = ''
           # There should be only one autofs service managed by systemd, so this should be safe.
@@ -85,7 +86,9 @@ in
         '';
 
         serviceConfig = {
-          ExecStart = "${pkgs.autofs5}/sbin/automount ${if cfg.debug then "-d" else ""} -f -t ${builtins.toString cfg.timeout} ${autoMaster} ${if cfg.debug then "-l7" else ""}";
+          Type = "forking";
+          PIDFile = "/run/autofs.pid";
+          ExecStart = "${pkgs.autofs5}/bin/automount ${optionalString cfg.debug "-d"} -p /run/autofs.pid -t ${builtins.toString cfg.timeout} ${autoMaster}";
           ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         };
       };
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index ac2e94c25c3..39283d2d943 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -41,6 +41,11 @@ let
       namespace: resque:gitlab
   '';
 
+  secretsYml = ''
+    production:
+      db_key_base: ${cfg.secrets.db_key_base}
+  '';
+
   gitlabConfig = {
     # These are the default settings from config/gitlab.example.yml
     production = flip recursiveUpdate cfg.extraConfig {
@@ -116,7 +121,7 @@ let
       makeWrapper ${cfg.packages.gitlab.env}/bin/bundle $out/bin/gitlab-bundle \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
           --set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
-          --set PATH '${pkgs.nodejs}/bin:${pkgs.gzip}/bin:${config.services.postgresql.package}/bin:$PATH' \
+          --set PATH '${stdenv.lib.makeBinPath [ pkgs.nodejs pkgs.gzip config.services.postgresql.package ]}:$PATH' \
           --set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
       makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
@@ -313,6 +318,19 @@ in {
         };
       };
 
+      secrets.db_key_base = mkOption {
+        type = types.str;
+        example = "";
+        description = ''
+          The db_key_base secrets is used to encrypt variables in the DB. If
+          you change or lose this key you will be unable to access variables
+          stored in database.
+
+          Make sure the secret is at least 30 characters and all random,
+          no regular words or you'll be exposed to dictionary attacks.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.attrs;
         default = {};
@@ -380,6 +398,7 @@ in {
         User = cfg.user;
         Group = cfg.group;
         TimeoutSec = "300";
+        Restart = "on-failure";
         WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
         ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -q post_receive -q mailers -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
       };
@@ -404,6 +423,7 @@ in {
         User = cfg.user;
         Group = cfg.group;
         TimeoutSec = "300";
+        Restart = "on-failure";
         ExecStart =
           "${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse "
           + "-listenUmask 0 "
@@ -465,6 +485,7 @@ in {
         # JSON is a subset of YAML
         ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
         ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml
+        ln -fs ${pkgs.writeText "secrets.yml" secretsYml} ${cfg.statePath}/config/secrets.yml
         ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb
 
         chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
index a8147b3a74f..83f715a50b4 100644
--- a/nixos/modules/services/misc/gitlab.xml
+++ b/nixos/modules/services/misc/gitlab.xml
@@ -62,6 +62,7 @@ services.gitlab = {
     address = "localhost";
     port = 25;
   };
+  secrets.db_key_base = "ei3eeP1ohsh0uu3ad4YeeMeeheengah3AiZee2ohl4Ooj5mie4Ohl0vishoghaes";
   extraConfig = {
     gitlab = {
       email_from = "gitlab-no-reply@example.com";
@@ -74,6 +75,12 @@ services.gitlab = {
 </programlisting>
 </para>
 
+<para>If you're setting up a new Gitlab instance, generate a new
+<literal>db_key_base</literal> secret to encrypt sensible data in the
+database. If you're restoring an existing Gitlab instance, you must
+specify the <literal>db_key_base</literal> secret from
+<literal>config/secrets.yml</literal> in your Gitlab state folder.</para>
+
 <para>Refer to <xref linkend="ch-options" /> for all available configuration
 options for the <literal>services.gitlab</literal> module.</para>
 
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index d71837737ab..fe5132d4973 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -248,7 +248,7 @@ in
         description = ''
           List of binary cache URLs that non-root users can use (in
           addition to those specified using
-          <option>nix.binaryCaches</option> by passing
+          <option>nix.binaryCaches</option>) by passing
           <literal>--option binary-caches</literal> to Nix commands.
         '';
       };
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index e50728aff8f..08fc3f04dbf 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -390,7 +390,7 @@ in {
         after = [ "network-interfaces.target" ];
         environment = carbonEnv;
         serviceConfig = {
-          ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts name}";
+          ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
           User = "graphite";
           Group = "graphite";
           PermissionsStartOnly = true;
@@ -413,7 +413,7 @@ in {
         after = [ "network-interfaces.target" ];
         environment = carbonEnv;
         serviceConfig = {
-          ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts name}";
+          ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
           User = "graphite";
           Group = "graphite";
           PIDFile="/run/${name}/${name}.pid";
@@ -429,7 +429,7 @@ in {
         after = [ "network-interfaces.target" ];
         environment = carbonEnv;
         serviceConfig = {
-          ExecStart = "${pkgs.twisted}/bin/twistd ${carbonOpts name}";
+          ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}";
           User = "graphite";
           Group = "graphite";
           PIDFile="/run/${name}/${name}.pid";
@@ -461,11 +461,11 @@ in {
               penvPack = "${penv}/${pkgs.python.sitePackages}";
               # opt/graphite/webapp contains graphite/settings.py
               # explicitly adding pycairo in path because it cannot be imported via buildEnv
-            in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pycairo}/${pkgs.python.sitePackages}";
+            in "${penvPack}/opt/graphite/webapp:${penvPack}:${pkgs.pythonPackages.pycairo}/${pkgs.python.sitePackages}";
           DJANGO_SETTINGS_MODULE = "graphite.settings";
           GRAPHITE_CONF_DIR = configDir;
           GRAPHITE_STORAGE_DIR = dataDir;
-          LD_LIBRARY_PATH = "${pkgs.cairo}/lib";
+          LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib";
         };
         serviceConfig = {
           ExecStart = ''
diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix
index 61c66bb8835..891f41c8dcd 100644
--- a/nixos/modules/services/network-filesystems/openafs-client/default.nix
+++ b/nixos/modules/services/network-filesystems/openafs-client/default.nix
@@ -80,7 +80,7 @@ in
       preStart = ''
         mkdir -p -m 0755 /afs
         mkdir -m 0700 -p ${cfg.cacheDirectory}
-        ${pkgs.kmod}/sbin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true
+        ${pkgs.kmod}/bin/insmod ${openafsPkgs}/lib/openafs/libafs-*.ko || true
         ${openafsPkgs}/sbin/afsd -confdir ${afsConfig} -cachedir ${cfg.cacheDirectory} ${if cfg.sparse then "-dynroot-sparse" else "-dynroot"} -fakestat -afsdb
         ${openafsPkgs}/bin/fs setcrypt ${if cfg.crypt then "on" else "off"}
       '';
diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix
index 8ecc16257db..82ed7fc4a83 100644
--- a/nixos/modules/services/networking/ejabberd.nix
+++ b/nixos/modules/services/networking/ejabberd.nix
@@ -111,10 +111,10 @@ in {
       description = "ejabberd server";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-      path = [ pkgs.findutils pkgs.coreutils ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
+      path = [ pkgs.findutils pkgs.coreutils pkgs.runit ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
 
       serviceConfig = {
-        Type = "forking";
+        ExecStart = ''${ectl} foreground'';
         # FIXME: runit is used for `chpst` -- can we get rid of this?
         ExecStop = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} stop'';
         ExecReload = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} reload_config'';
@@ -132,29 +132,24 @@ in {
 
         mkdir -p -m750 "${cfg.spoolDir}"
         chown -R "${cfg.user}:${cfg.group}" "${cfg.spoolDir}"
-      '';
-
-      script = ''
-        [ -z "$(ls -A '${cfg.spoolDir}')" ] && firstRun=1
 
-        ${ectl} start
+        if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
+          touch "${cfg.spoolDir}/.firstRun"
+        fi
+      '';
 
-        count=0
+      postStart = ''
         while ! ${ectl} status >/dev/null 2>&1; do
-          if [ $count -eq 30 ]; then
-            echo "ejabberd server hasn't started in 30 seconds, giving up"
-            exit 1
-          fi
-
-          count=$((count++))
-          sleep 1
+          if ! kill -0 "$MAINPID"; then exit 1; fi
+          sleep 0.1
         done
 
-        if [ -n "$firstRun" ]; then
+        if [ -e "${cfg.spoolDir}/.firstRun" ]; then
+          rm "${cfg.spoolDir}/.firstRun"
           for src in ${dumps}; do
             find "$src" -type f | while read dump; do
               echo "Loading configuration dump at $dump"
-              ${ectl} load "$dump"
+              chpst -u "${cfg.user}:${cfg.group}" ${ectl} load "$dump"
             done
           done
         fi
diff --git a/nixos/modules/services/networking/fan.nix b/nixos/modules/services/networking/fan.nix
index 3170567e5b4..7f4e3647832 100644
--- a/nixos/modules/services/networking/fan.nix
+++ b/nixos/modules/services/networking/fan.nix
@@ -5,7 +5,7 @@ with lib;
 let
 
   cfg = config.networking.fan;
-  modprobe = "${config.system.sbin.modprobe}/sbin/modprobe";
+  modprobe = "${pkgs.kmod}/bin/modprobe";
 
 in
 
diff --git a/nixos/modules/services/networking/gdomap.nix b/nixos/modules/services/networking/gdomap.nix
new file mode 100644
index 00000000000..b3fd91d037f
--- /dev/null
+++ b/nixos/modules/services/networking/gdomap.nix
@@ -0,0 +1,32 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gdomap;
+in
+{
+  #
+  # interface
+  #
+  options = {
+    services.gdomap = {
+      enable = mkEnableOption "GNUstep Distributed Objects name server";
+   };
+  };
+
+  #
+  # implementation
+  #
+  config = mkIf config.services.gdomap.enable {
+    # NOTE: gdomap runs as root
+    # TODO: extra user for gdomap?
+    systemd.services.gdomap = {
+      description = "gdomap server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      path  = [ pkgs.gnustep.base ];
+      serviceConfig.ExecStart = "${pkgs.gnustep.base}/bin/gdomap -f";
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 8aac1360526..d198e3bfc02 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -235,19 +235,13 @@ in {
 
     systemd.packages = cfg.packages;
 
-    # Create an initialisation service that both starts
-    # NetworkManager when network.target is reached,
-    # and sets up necessary directories for NM.
-    systemd.services."networkmanager-init" = {
-      description = "NetworkManager initialisation";
+    systemd.services."network-manager" = {
       wantedBy = [ "network.target" ];
-      wants = [ "network-manager.service" ];
-      before = [ "network-manager.service" ];
-      script = ''
+
+      preStart = ''
         mkdir -m 700 -p /etc/NetworkManager/system-connections
         mkdir -m 755 -p ${stateDirs}
       '';
-      serviceConfig.Type = "oneshot";
     };
 
     # Turn off NixOS' network management
diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix
index d6960a5df47..8778b0364f9 100644
--- a/nixos/modules/services/networking/strongswan.nix
+++ b/nixos/modules/services/networking/strongswan.nix
@@ -118,7 +118,7 @@ in
     systemd.services.strongswan = {
       description = "strongSwan IPSec Service";
       wantedBy = [ "multi-user.target" ];
-      path = with pkgs; [ config.system.sbin.modprobe iproute iptables utillinux ]; # XXX Linux
+      path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux
       wants = [ "keys.target" ];
       after = [ "network.target" "keys.target" ];
       environment = {
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix
index cb5a88e67aa..a8cff638d3b 100644
--- a/nixos/modules/services/networking/unifi.nix
+++ b/nixos/modules/services/networking/unifi.nix
@@ -46,6 +46,18 @@ in
       '';
     };
 
+    services.unifi.openPorts = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether or not to open the minimum required ports on the firewall.
+
+        This is necessary to allow firmware upgrades and device discovery to
+        work. For remote login, you should additionally open (or forward) port
+        8443.
+      '';
+    };
+
   };
 
   config = mkIf cfg.enable {
@@ -56,6 +68,19 @@ in
       home = "${stateDir}";
     };
 
+    networking.firewall = mkIf cfg.openPorts {
+      # https://help.ubnt.com/hc/en-us/articles/204910084-UniFi-Change-Default-Ports-for-Controller-and-UAPs
+      allowedTCPPorts = [
+        8080  # Port for UAP to inform controller.
+        8880  # Port for HTTP portal redirect, if guest portal is enabled.
+        8843  # Port for HTTPS portal redirect, ditto.
+      ];
+      allowedUDPPorts = [
+        3478  # UDP port used for STUN.
+        10001 # UDP port used for device discovery.
+      ];
+    };
+
     # We must create the binary directories as bind mounts instead of symlinks
     # This is because the controller resolves all symlinks to absolute paths
     # to be used as the working directory.
@@ -79,9 +104,9 @@ in
       environment.LD_LIBRARY_PATH = with pkgs.stdenv; "${cc.cc.lib}/lib";
 
       preStart = ''
-        # Ensure privacy of state
-        chown unifi "${stateDir}"
-        chmod 0700 "${stateDir}"
+        # Ensure privacy of state and data.
+        chown unifi "${stateDir}" "${stateDir}/data"
+        chmod 0700 "${stateDir}" "${stateDir}/data"
 
         # Create the volatile webapps
         rm -rf "${stateDir}/webapps"
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 5154aaca3bc..5b2e4ca1606 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -133,7 +133,7 @@ in
           @{PROC}/sys/kernel/random/uuid   r,
           @{PROC}/sys/vm/overcommit_memory r,
 
-          ${pkgs.openssl}/etc/**                     r,
+          ${pkgs.openssl.out}/etc/**                     r,
           ${pkgs.transmission}/share/transmission/** r,
 
           owner ${settingsDir}/** rw,
diff --git a/nixos/modules/services/web-apps/mattermost.nix b/nixos/modules/services/web-apps/mattermost.nix
new file mode 100644
index 00000000000..bf3a8eed600
--- /dev/null
+++ b/nixos/modules/services/web-apps/mattermost.nix
@@ -0,0 +1,228 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.mattermost;
+
+  defaultConfig = builtins.fromJSON (readFile "${pkgs.mattermost}/config/config.json");
+
+  mattermostConf = foldl recursiveUpdate defaultConfig
+    [ { ServiceSettings.SiteURL = cfg.siteUrl;
+        ServiceSettings.ListenAddress = cfg.listenAddress;
+        TeamSettings.SiteName = cfg.siteName;
+        SqlSettings.DriverName = "postgres";
+        SqlSettings.DataSource = "postgres://${cfg.localDatabaseUser}:${cfg.localDatabasePassword}@localhost:5432/${cfg.localDatabaseName}?sslmode=disable&connect_timeout=10";
+      }
+      cfg.extraConfig
+    ];
+
+  mattermostConfJSON = pkgs.writeText "mattermost-config-raw.json" (builtins.toJSON mattermostConf);
+
+in
+
+{
+  options = {
+    services.mattermost = {
+      enable = mkEnableOption "Mattermost chat platform";
+
+      statePath = mkOption {
+        type = types.str;
+        default = "/var/lib/mattermost";
+        description = "Mattermost working directory";
+      };
+
+      siteUrl = mkOption {
+        type = types.str;
+        example = "https://chat.example.com";
+        description = ''
+          URL this Mattermost instance is reachable under, without trailing slash.
+        '';
+      };
+
+      siteName = mkOption {
+        type = types.str;
+        default = "Mattermost";
+        description = "Name of this Mattermost site.";
+      };
+
+      listenAddress = mkOption {
+        type = types.str;
+        default = ":8065";
+        example = "[::1]:8065";
+        description = ''
+          Address and port this Mattermost instance listens to.
+        '';
+      };
+
+      mutableConfig = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether the Mattermost config.json is writeable by Mattermost.
+
+          Most of the settings can be edited in the system console of
+          Mattermost if this option is enabled. A template config using
+          the options specified in services.mattermost will be generated
+          but won't be overwritten on changes or rebuilds.
+
+          If this option is disabled, changes in the system console won't
+          be possible (default). If an config.json is present, it will be
+          overwritten!
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.attrs;
+        default = { };
+        description = ''
+          Addtional configuration options as Nix attribute set in config.json schema.
+        '';
+      };
+
+      localDatabaseCreate = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Create a local PostgreSQL database for Mattermost automatically.
+        '';
+      };
+
+      localDatabaseName = mkOption {
+        type = types.str;
+        default = "mattermost";
+        description = ''
+          Local Mattermost database name.
+        '';
+      };
+
+      localDatabaseUser = mkOption {
+        type = types.str;
+        default = "mattermost";
+        description = ''
+          Local Mattermost database username.
+        '';
+      };
+
+      localDatabasePassword = mkOption {
+        type = types.str;
+        default = "mmpgsecret";
+        description = ''
+          Password for local Mattermost database user.
+        '';
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "mattermost";
+        description = ''
+          User which runs the Mattermost service.
+        '';
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "mattermost";
+        description = ''
+          Group which runs the Mattermost service.
+        '';
+      };
+
+      matterircd = {
+        enable = mkEnableOption "Mattermost IRC bridge";
+        parameters = mkOption {
+          type = types.listOf types.str;
+          default = [ ];
+          example = [ "-mmserver chat.example.com" "-bind [::]:6667" ];
+          description = ''
+            Set commandline parameters to pass to matterircd. See
+            https://github.com/42wim/matterircd#usage for more information.
+          '';
+        };
+      };
+    };
+  };
+
+  config = mkMerge [
+    (mkIf cfg.enable {
+      users.extraUsers = optionalAttrs (cfg.user == "mattermost") (singleton {
+        name = "mattermost";
+        group = cfg.group;
+        uid = config.ids.uids.mattermost;
+        home = cfg.statePath;
+      });
+
+      users.extraGroups = optionalAttrs (cfg.group == "mattermost") (singleton {
+        name = "mattermost";
+        gid = config.ids.gids.mattermost;
+      });
+
+      services.postgresql.enable = cfg.localDatabaseCreate;
+
+      # The systemd service will fail to execute the preStart hook
+      # if the WorkingDirectory does not exist
+      system.activationScripts.mattermost = ''
+        mkdir -p ${cfg.statePath}
+      '';
+
+      systemd.services.mattermost = {
+        description = "Mattermost chat platform service";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" "postgresql.service" ];
+
+        preStart = ''
+          mkdir -p ${cfg.statePath}/{data,config,logs}
+          ln -sf ${pkgs.mattermost}/{bin,fonts,i18n,templates,webapp} ${cfg.statePath}
+        '' + lib.optionalString (!cfg.mutableConfig) ''
+          ln -sf ${mattermostConfJSON} ${cfg.statePath}/config/config.json
+        '' + lib.optionalString cfg.mutableConfig ''
+          if ! test -e "${cfg.statePath}/config/.initial-created"; then
+            rm -f ${cfg.statePath}/config/config.json
+            cp ${mattermostConfJSON} ${cfg.statePath}/config/config.json
+            touch ${cfg.statePath}/config/.initial-created
+          fi
+        '' + lib.optionalString cfg.localDatabaseCreate ''
+          if ! test -e "${cfg.statePath}/.db-created"; then
+            ${config.services.postgresql.package}/bin/psql postgres -c \
+              "CREATE ROLE ${cfg.localDatabaseUser} WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.localDatabasePassword}'"
+            ${config.services.postgresql.package}/bin/createdb \
+              --owner ${cfg.localDatabaseUser} ${cfg.localDatabaseName}
+            touch ${cfg.statePath}/.db-created
+          fi
+        '' + ''
+          chown ${cfg.user}:${cfg.group} -R ${cfg.statePath}
+          chmod u+rw,g+r,o-rwx -R ${cfg.statePath}
+        '';
+
+        serviceConfig = {
+          PermissionsStartOnly = true;
+          User = cfg.user;
+          Group = cfg.group;
+          ExecStart = "${pkgs.mattermost}/bin/mattermost-platform";
+          WorkingDirectory = "${cfg.statePath}";
+          PrivateTmp = true;
+          Restart = "always";
+          RestartSec = "10";
+          LimitNOFILE = "49152";
+        };
+      };
+    })
+    (mkIf cfg.matterircd.enable {
+      systemd.services.matterircd = {
+        description = "Mattermost IRC bridge service";
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          User = "nobody";
+          Group = "nogroup";
+          ExecStart = "${pkgs.matterircd.bin}/bin/matterircd ${concatStringsSep " " cfg.matterircd.parameters}";
+          WorkingDirectory = "/tmp";
+          PrivateTmp = true;
+          Restart = "always";
+          RestartSec = "5";
+        };
+      };
+    })
+  ];
+}
+
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index 819d0c251bf..29cfbb8e9a0 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -105,7 +105,7 @@ in {
     };
   };
 
-  config = mkIf (cfg.pools != {}) {
+  config = mkIf (cfg.pools != {} || cfg.poolConfigs != {}) {
 
     systemd.services.phpfpm = {
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix
index 86b98c2b660..bc010d1ce1c 100644
--- a/nixos/modules/services/x11/desktop-managers/kde5.nix
+++ b/nixos/modules/services/x11/desktop-managers/kde5.nix
@@ -169,7 +169,7 @@ in
       ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm
       ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa
       ++ lib.optional config.powerManagement.enable kde5.powerdevil
-      ++ lib.optional config.services.colord.enable kde5.colord-kde
+      ++ lib.optional config.services.colord.enable pkgs.colord-kde
       ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
 
     environment.pathsToLink = [ "/share" ];
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 83d679ebe01..1c928ff22a1 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -134,8 +134,9 @@ let
         (*) echo "$0: Desktop manager '$desktopManager' not found.";;
       esac
 
+      # FIXME: gdbus should not be in glib.dev!
       ${optionalString (cfg.startDbusSession && cfg.updateDbusEnvironment) ''
-        ${pkgs.glib}/bin/gdbus call --session \
+        ${pkgs.glib.dev}/bin/gdbus call --session \
           --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus \
           --method org.freedesktop.DBus.UpdateActivationEnvironment \
           "{$(env | ${pkgs.gnused}/bin/sed "s/'/\\\\'/g; s/\([^=]*\)=\(.*\)/'\1':'\2'/" \
diff --git a/nixos/modules/services/x11/redshift.nix b/nixos/modules/services/x11/redshift.nix
index 63ffa29c199..78a97df9877 100644
--- a/nixos/modules/services/x11/redshift.nix
+++ b/nixos/modules/services/x11/redshift.nix
@@ -108,7 +108,12 @@ in {
         RestartSec = 3;
         Restart = "always";
       };
-      environment = { DISPLAY = ":${toString config.services.xserver.display}"; };
+      environment = {
+        DISPLAY = ":${toString (
+          let display = config.services.xserver.display;
+          in if display != null then display else 0
+        )}";
+      };
     };
   };
 
diff --git a/nixos/modules/services/x11/window-managers/metacity.nix b/nixos/modules/services/x11/window-managers/metacity.nix
index 2957ad91be4..436eccbaf0c 100644
--- a/nixos/modules/services/x11/window-managers/metacity.nix
+++ b/nixos/modules/services/x11/window-managers/metacity.nix
@@ -20,9 +20,9 @@ in
     services.xserver.windowManager.session = singleton
       { name = "metacity";
         start = ''
-          env LD_LIBRARY_PATH=${xorg.libX11.out}/lib:${xorg.libXext.out}/lib:/usr/lib/
+          env LD_LIBRARY_PATH=${lib.makeLibraryPath [ xorg.libX11 xorg.libXext ]}:/usr/lib/
           # !!! Hack: load the schemas for Metacity.
-          GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf}/bin/gconftool-2 \
+          GCONF_CONFIG_SOURCE=xml::~/.gconf ${gnome.GConf.out}/bin/gconftool-2 \
             --makefile-install-rule ${gnome.metacity}/etc/gconf/schemas/*.schemas # */
           ${gnome.metacity}/bin/metacity &
           waitPID=$!
diff --git a/nixos/modules/system/boot/initrd-ssh.nix b/nixos/modules/system/boot/initrd-ssh.nix
index d0a4ce51148..bc899984c57 100644
--- a/nixos/modules/system/boot/initrd-ssh.nix
+++ b/nixos/modules/system/boot/initrd-ssh.nix
@@ -93,6 +93,10 @@ in
     boot.initrd.extraUtilsCommands = ''
       copy_bin_and_libs ${pkgs.dropbear}/bin/dropbear
       cp -pv ${pkgs.glibc.out}/lib/libnss_files.so.* $out/lib
+
+      ${optionalString (cfg.hostRSAKey != null) "install -D ${cfg.hostRSAKey} $out/etc/dropbear/dropbear_rsa_host_key"}
+      ${optionalString (cfg.hostDSSKey != null) "install -D ${cfg.hostDSSKey} $out/etc/dropbear/dropbear_dss_host_key"}
+      ${optionalString (cfg.hostECDSAKey != null) "install -D ${cfg.hostECDSAKey} $out/etc/dropbear/dropbear_ecdsa_host_key"}
     '';
 
     boot.initrd.extraUtilsCommandsTest = ''
@@ -108,9 +112,9 @@ in
       touch /var/log/lastlog
 
       mkdir -p /etc/dropbear
-      ${optionalString (cfg.hostRSAKey != null) "ln -s ${cfg.hostRSAKey} /etc/dropbear/dropbear_rsa_host_key"}
-      ${optionalString (cfg.hostDSSKey != null) "ln -s ${cfg.hostDSSKey} /etc/dropbear/dropbear_dss_host_key"}
-      ${optionalString (cfg.hostECDSAKey != null) "ln -s ${cfg.hostECDSAKey} /etc/dropbear/dropbear_ecdsa_host_key"}
+      ${optionalString (cfg.hostRSAKey != null) "ln -s $extraUtils/etc/dropbear/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key"}
+      ${optionalString (cfg.hostDSSKey != null) "ln -s $extraUtils/etc/dropbear/dropbear_dss_host_key /etc/dropbear/dropbear_dss_host_key"}
+      ${optionalString (cfg.hostECDSAKey != null) "ln -s $extraUtils/etc/dropbear/dropbear_ecdsa_host_key /etc/dropbear/dropbear_ecdsa_host_key"}
 
       mkdir -p /root/.ssh
       ${concatStrings (map (key: ''
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index a6bbca9b30b..0f342f44fe7 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -228,7 +228,6 @@ in
     systemd.services."systemd-modules-load" =
       { wantedBy = [ "multi-user.target" ];
         restartTriggers = [ kernelModulesConf ];
-        environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules";
         serviceConfig =
           { # Ignore failed module loads.  Typically some of the
             # modules in ‘boot.kernelModules’ are "nice to have but
@@ -238,10 +237,6 @@ in
           };
       };
 
-    systemd.services.kmod-static-nodes =
-      { environment.MODULE_DIR = "/run/booted-system/kernel-modules/lib/modules";
-      };
-
     lib.kernelConfig = {
       isYes = option: {
         assertion = config: config.isYes option;
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index 94d87b43606..4fa157641a4 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -508,7 +508,11 @@ my $nameDiffer = get("fullName") ne $prevGrubState->name;
 my $versionDiffer = get("fullVersion") ne $prevGrubState->version;
 my $efiDiffer = $efiTarget ne $prevGrubState->efi;
 my $efiMountPointDiffer = $efiSysMountPoint ne $prevGrubState->efiMountPoint;
-my $requireNewInstall = $devicesDiffer || $nameDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1");
+if (($ENV{'NIXOS_INSTALL_GRUB'} // "") eq "1") {
+    warn "NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER";
+    $ENV{'NIXOS_INSTALL_BOOTLOADER'} = "1";
+}
+my $requireNewInstall = $devicesDiffer || $nameDiffer || $versionDiffer || $efiDiffer || $efiMountPointDiffer || (($ENV{'NIXOS_INSTALL_BOOTLOADER'} // "") eq "1");
 
 # install a symlink so that grub can detect the boot drive
 my $tmpDir = File::Temp::tempdir(CLEANUP => 1) or die "Failed to create temporary space";
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index c38af1b67f1..c703a3e083b 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -7,6 +7,7 @@ import subprocess
 import glob
 import tempfile
 import errno
+import warnings
 
 def copy_if_not_exists(source, dest):
     if not os.path.exists(dest):
@@ -92,8 +93,11 @@ parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot
 parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot')
 args = parser.parse_args()
 
-# We deserve our own env var!
 if os.getenv("NIXOS_INSTALL_GRUB") == "1":
+    warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
+    os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1"
+
+if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1":
     if "@canTouchEfiVariables@" == "1":
         subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
     else:
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index 9bb10eac988..b915a98d537 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -8,41 +8,6 @@ with lib;
 
   options = {
 
-    system.sbin.modprobe = mkOption {
-      internal = true;
-      default = pkgs.stdenv.mkDerivation {
-        name = "modprobe";
-        buildCommand = ''
-          mkdir -p $out/bin
-          for i in ${pkgs.kmod}/sbin/*; do
-            name=$(basename $i)
-            echo "$text" > $out/bin/$name
-            echo 'exec '$i' "$@"' >> $out/bin/$name
-            chmod +x $out/bin/$name
-          done
-          ln -s bin $out/sbin
-        '';
-        text =
-          ''
-            #! ${pkgs.stdenv.shell}
-            export MODULE_DIR=/run/current-system/kernel-modules/lib/modules
-
-            # Fall back to the kernel modules used at boot time if the
-            # modules in the current configuration don't match the
-            # running kernel.
-            if [ ! -d "$MODULE_DIR/$(${pkgs.coreutils}/bin/uname -r)" ]; then
-                MODULE_DIR=/run/booted-system/kernel-modules/lib/modules/
-            fi
-
-          '';
-        meta.priority = 4;
-      };
-      description = ''
-        Wrapper around modprobe that sets the path to the modules
-        tree.
-      '';
-    };
-
     boot.blacklistedKernelModules = mkOption {
       type = types.listOf types.str;
       default = [];
@@ -87,7 +52,7 @@ with lib;
       '';
     environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
 
-    environment.systemPackages = [ config.system.sbin.modprobe pkgs.kmod ];
+    environment.systemPackages = [ pkgs.kmod ];
 
     system.activationScripts.modprobe =
       ''
@@ -95,11 +60,9 @@ with lib;
         # in the right location in the Nix store for kernel modules).
         # We need this when the kernel (or some module) auto-loads a
         # module.
-        echo ${config.system.sbin.modprobe}/sbin/modprobe > /proc/sys/kernel/modprobe
+        echo ${pkgs.kmod}/bin/modprobe > /proc/sys/kernel/modprobe
       '';
 
-    environment.sessionVariables.MODULE_DIR = "/run/current-system/kernel-modules/lib/modules";
-
   };
 
 }
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index fbb32901f64..65d1dcb6168 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -312,8 +312,50 @@ mountFS() {
         echo "retrying..."
         n=$((n + 1))
     done
+
+    [ "$mountPoint" == "/" ] &&
+        [ -f "/mnt-root/etc/NIXOS_LUSTRATE" ] &&
+        lustrateRoot "/mnt-root"
 }
 
+lustrateRoot () {
+    local root="$1"
+
+    echo
+    echo -e "\e[1;33m<<< NixOS is now lustrating the root filesystem (cruft goes to /old-root) >>>\e[0m"
+    echo
+
+    mkdir -m 0755 -p "$root/old-root.tmp"
+
+    echo
+    echo "Moving impurities out of the way:"
+    for d in "$root"/*
+    do
+        [ "$d" == "$root/nix"          ] && continue
+        [ "$d" == "$root/boot"         ] && continue # Don't render the system unbootable
+        [ "$d" == "$root/old-root.tmp" ] && continue
+
+        mv -v "$d" "$root/old-root.tmp"
+    done
+
+    # Use .tmp to make sure subsequent invokations don't clash
+    mv -v "$root/old-root.tmp" "$root/old-root"
+
+    mkdir -m 0755 -p "$root/etc"
+    touch "$root/etc/NIXOS"
+
+    exec 4< "$root/old-root/etc/NIXOS_LUSTRATE"
+
+    echo
+    echo "Restoring selected impurities:"
+    while read -u 4 keeper; do
+        dirname="$(dirname "$keeper")"
+        mkdir -m 0755 -p "$root/$dirname"
+        cp -av "$root/old-root/$keeper" "$root/$keeper"
+    done
+
+    exec 4>&-
+}
 
 # Function for waiting a device to appear.
 waitDevice() {
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 70429e9c0a2..9be7ad4ae07 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -131,9 +131,16 @@ let
   # The initrd only has to mount / or any FS marked as necessary for
   # booting (such as the FS containing /nix/store, or an FS needed for
   # mounting /, like / on a loopback).
-  fileSystems = filter
-    (fs: fs.neededForBoot || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ])
-    (attrValues config.fileSystems);
+  #
+  # We need to guarantee that / is the first filesystem in the list so
+  # that if and when lustrateRoot is invoked, nothing else is mounted
+  fileSystems = let
+    filterNeeded = filter
+      (fs: fs.mountPoint != "/" && (fs.neededForBoot || elem fs.mountPoint [ "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ]));
+    filterRoot = filter
+      (fs: fs.mountPoint == "/");
+    allFileSystems = attrValues config.fileSystems;
+  in (filterRoot allFileSystems) ++ (filterNeeded allFileSystems);
 
 
   udevRules = pkgs.stdenv.mkDerivation {
@@ -198,7 +205,9 @@ let
       preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;
 
     resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
-                    (filter (sd: (sd ? label || hasPrefix "/dev/" sd.device) && !sd.randomEncryption) config.swapDevices);
+                    (filter (sd: (sd ? label || hasPrefix "/dev/" sd.device) && !sd.randomEncryption 
+                    # Don't include zram devices
+                    && !(hasPrefix "/dev/zram" sd.device)) config.swapDevices);
 
     fsInfo =
       let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType (builtins.concatStringsSep "," fs.options) ];
diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh
index 4a7f073ea8a..c5a14f0766d 100644
--- a/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixos/modules/system/boot/stage-2-init.sh
@@ -207,6 +207,5 @@ exec {logOutFd}>&- {logErrFd}>&-
 # Start systemd.
 echo "starting systemd..."
 PATH=/run/current-system/systemd/lib/systemd \
-    MODULE_DIR=/run/booted-system/kernel-modules/lib/modules \
     LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive \
     exec systemd
diff --git a/nixos/modules/tasks/cpu-freq.nix b/nixos/modules/tasks/cpu-freq.nix
index 1f4d1db33ce..2fe7f4f8197 100644
--- a/nixos/modules/tasks/cpu-freq.nix
+++ b/nixos/modules/tasks/cpu-freq.nix
@@ -38,7 +38,7 @@ in
       description = "CPU Frequency Governor Setup";
       after = [ "systemd-modules-load.service" ];
       wantedBy = [ "multi-user.target" ];
-      path = [ cpupower config.system.sbin.modprobe ];
+      path = [ cpupower pkgs.kmod ];
       unitConfig.ConditionVirtualization = false;
       serviceConfig = {
         Type = "oneshot";
diff --git a/nixos/modules/tasks/filesystems/cifs.nix b/nixos/modules/tasks/filesystems/cifs.nix
index a928fcae415..47ba0c03c56 100644
--- a/nixos/modules/tasks/filesystems/cifs.nix
+++ b/nixos/modules/tasks/filesystems/cifs.nix
@@ -11,14 +11,14 @@ in
 {
   config = {
 
-    system.fsPackages = mkIf (any (fs: fs == "cifs") config.boot.supportedFilesystems) [ pkgs.cifs_utils ];
+    system.fsPackages = mkIf (any (fs: fs == "cifs") config.boot.supportedFilesystems) [ pkgs.cifs-utils ];
 
     boot.initrd.availableKernelModules = mkIf inInitrd
       [ "cifs" "nls_utf8" "hmac" "md4" "ecb" "des_generic" "sha256" ];
 
     boot.initrd.extraUtilsCommands = mkIf inInitrd
       ''
-        copy_bin_and_libs ${pkgs.cifs_utils}/sbin/mount.cifs
+        copy_bin_and_libs ${pkgs.cifs-utils}/sbin/mount.cifs
       '';
 
   };
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 05fd160f20b..4ff3ffc74b1 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -247,8 +247,18 @@ in
               esac
             done
             ''] ++ (map (pool: ''
-            echo "importing root ZFS pool \"${pool}\"..."
-            zpool import -d ${cfgZfs.devNodes} -N $ZFS_FORCE "${pool}"
+            echo -n "importing root ZFS pool \"${pool}\"..."
+            trial=0
+            until msg="$(zpool import -d ${cfgZfs.devNodes} -N $ZFS_FORCE '${pool}' 2>&1)"; do
+              sleep 0.25
+              echo -n .
+              trial=$(($trial + 1))
+              if [[ $trial -eq 60 ]]; then
+                break
+              fi
+            done
+            echo
+            if [[ -n "$msg" ]]; then echo "$msg"; fi
         '') rootPools));
       };
 
diff --git a/nixos/modules/virtualisation/brightbox-image.nix b/nixos/modules/virtualisation/brightbox-image.nix
index 456a19fc251..760a7100c6e 100644
--- a/nixos/modules/virtualisation/brightbox-image.nix
+++ b/nixos/modules/virtualisation/brightbox-image.nix
@@ -20,7 +20,7 @@ in
 
           postVM =
             ''
-              PATH=$PATH:${pkgs.gnutar}/bin:${pkgs.gzip}/bin
+              PATH=$PATH:${stdenv.lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
               pushd $out
               ${pkgs.qemu_kvm}/bin/qemu-img convert -c -O qcow2 $diskImageBase nixos.qcow2
               rm $diskImageBase
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index c99fc78d49e..ebc2be087a5 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -95,8 +95,7 @@ in
           LimitNPROC = 1048576;
         } // proxy_env;
 
-        path = [ config.system.sbin.modprobe ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs);
-        environment.MODULE_DIR = "/run/current-system/kernel-modules/lib/modules";
+        path = [ pkgs.kmod ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs);
 
         postStart = if cfg.socketActivation then "" else cfg.postStart;
 
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 2b522dbe266..59b77dde5d9 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -23,7 +23,7 @@ in
 
           postVM =
             ''
-              PATH=$PATH:${pkgs.gnutar}/bin:${pkgs.gzip}/bin
+              PATH=$PATH:${stdenv.lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
               pushd $out
               mv $diskImageBase disk.raw
               tar -Szcf $diskImageBase.tar.gz disk.raw
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index b77b319f4a2..777ee31e4dc 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -135,13 +135,13 @@ let
         }
         ''
           # Create a /boot EFI partition with 40M
-          ${pkgs.gptfdisk}/sbin/sgdisk -G /dev/vda
-          ${pkgs.gptfdisk}/sbin/sgdisk -a 1 -n 1:34:2047 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/vda
-          ${pkgs.gptfdisk}/sbin/sgdisk -a 512 -N 2 -c 2:"EFI System" -t 2:ef00 /dev/vda
-          ${pkgs.gptfdisk}/sbin/sgdisk -A 1:set:1 /dev/vda
-          ${pkgs.gptfdisk}/sbin/sgdisk -A 2:set:2 /dev/vda
-          ${pkgs.gptfdisk}/sbin/sgdisk -h 2 /dev/vda
-          ${pkgs.gptfdisk}/sbin/sgdisk -C /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -G /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -a 1 -n 1:34:2047 -c 1:"BIOS Boot Partition" -t 1:ef02 /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -a 512 -N 2 -c 2:"EFI System" -t 2:ef00 /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -A 1:set:1 /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -A 2:set:2 /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -h 2 /dev/vda
+          ${pkgs.gptfdisk}/bin/sgdisk -C /dev/vda
           ${pkgs.utillinux}/bin/sfdisk /dev/vda -A 2
           . /sys/class/block/vda2/uevent
           mknod /dev/vda2 b $MAJOR $MINOR
@@ -151,11 +151,11 @@ let
           ${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot
 
           # Mount /boot; load necessary modules first.
-          ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true
-          ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko.xz || true
-          ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/fat.ko.xz || true
-          ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true
-          ${pkgs.kmod}/sbin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true
+          ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true
+          ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko.xz || true
+          ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/fat.ko.xz || true
+          ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true
+          ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true
           mkdir /boot
           mount /dev/vda2 /boot
 
@@ -370,7 +370,7 @@ in
     boot.initrd.extraUtilsCommands =
       ''
         # We need mke2fs in the initrd.
-        copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/mke2fs
+        copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs
       '';
 
     boot.initrd.postDeviceCommands =
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 4aa023854b6..f2ca6af7e3a 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -68,6 +68,7 @@ in rec {
         (all nixos.tests.boot.uefiCdrom)
         (all nixos.tests.boot.uefiUsb)
         (all nixos.tests.boot-stage1)
+        (all nixos.tests.hibernate)
         (all nixos.tests.ecryptfs)
         (all nixos.tests.ipv6)
         (all nixos.tests.i3wm)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index fb5a97f98ab..f6e7a65fbde 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -63,7 +63,6 @@ in rec {
       imagemagick
       jdk
       linux
-      mysql51
       mysql55
       nginx
       nodejs
diff --git a/nixos/release.nix b/nixos/release.nix
index b67cd198d2e..70a7ba5af89 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -111,11 +111,20 @@ in rec {
       ];
     }).config.system.build;
   in
-    pkgs.symlinkJoin {name="netboot"; paths=[
-      build.netbootRamdisk
-      build.kernel
-      build.netbootIpxeScript
-    ];};
+    pkgs.symlinkJoin {
+      name="netboot";
+      paths=[
+        build.netbootRamdisk
+        build.kernel
+        build.netbootIpxeScript
+      ];
+      postBuild = ''
+        mkdir -p $out/nix-support
+        echo "file bzImage $out/bzImage" >> $out/nix-support/hydra-build-products
+        echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
+        echo "file ipxe $out/netboot.ipxe" >> $out/nix-support/hydra-build-products
+      '';
+    };
 
   iso_minimal = forAllSystems (system: makeIso {
     module = ./modules/installer/cd-dvd/installation-cd-minimal.nix;
@@ -211,7 +220,6 @@ in rec {
   tests.boot = callSubTests tests/boot.nix {};
   tests.boot-stage1 = callTest tests/boot-stage1.nix {};
   tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
-  tests.cassandra = callTest tests/cassandra.nix {};
   tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
   tests.cjdns = callTest tests/cjdns.nix {};
   tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix
index eceb25a0dea..db800c7bb2c 100644
--- a/nixos/tests/ecryptfs.nix
+++ b/nixos/tests/ecryptfs.nix
@@ -30,7 +30,7 @@ import ./make-test.nix ({ pkgs, ... }:
     $machine->sleep(2);
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private");
+    $machine->succeed("su alice -c ecryptfs-umount-private || true");
     $machine->sleep(1);
     $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted
 
@@ -53,7 +53,7 @@ import ./make-test.nix ({ pkgs, ... }:
     $machine->sleep(2);
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private");
+    $machine->succeed("su alice -c ecryptfs-umount-private || true");
     $machine->sleep(1);
 
     # Check that the filesystem is not accessible
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index e9bc14a6cdb..e85ff238089 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -4,12 +4,12 @@ with import ../lib/testing.nix { inherit system; };
 with pkgs.lib;
 
 let
-  testVMConfig = vmName: attrs: { config, pkgs, ... }: let
+  testVMConfig = vmName: attrs: { config, pkgs, lib, ... }: let
     guestAdditions = pkgs.linuxPackages.virtualboxGuestAdditions;
 
     miniInit = ''
       #!${pkgs.stdenv.shell} -xe
-      export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
+      export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}"
 
       mkdir -p /var/run/dbus
       cat > /etc/passwd <<EOF
diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix
index 7b0aad152ab..35954471877 100644
--- a/pkgs/applications/audio/a2jmidid/default.nix
+++ b/pkgs/applications/audio/a2jmidid/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
-, python, pythonDBus }:
+, pythonPackages}:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python dbus-python;
+in stdenv.mkDerivation rec {
   name = "a2jmidid-${version}";
   version = "8";
 
@@ -10,14 +12,14 @@ stdenv.mkDerivation rec {
     sha256 = "0pzm0qk5ilqhwz74pydg1jwrds27vm47185dakdrxidb5bv3b5ia";
   };
 
-  buildInputs = [ makeWrapper pkgconfig alsaLib dbus libjack2 python pythonDBus ];
+  buildInputs = [ makeWrapper pkgconfig alsaLib dbus libjack2 python dbus-python ];
 
-  configurePhase = "python waf configure --prefix=$out";
+  configurePhase = "${python.interpreter} waf configure --prefix=$out";
 
-  buildPhase = "python waf";
+  buildPhase = "${python.interpreter} waf";
 
   installPhase = ''
-    python waf install
+    ${python.interpreter} waf install
     wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
   '';
 
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index 193b9c1e790..e6322dd1d0a 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -1,69 +1,71 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs
-, gettext, dbus_glib, libxml2, libmad, xorg, alsaLib, libogg
-, libvorbis, libcdio, libcddb, flac, ffmpeg, makeWrapper
-, mpg123, neon, faad2, gnome3
+{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gettext, glib, gtk3
+, libmowgli, libmcs, dbus_glib, libxml2, xorg, gnome3, alsaLib
+, libpulseaudio, libjack2, fluidsynth, libmad, libogg, libvorbis
+, libcdio082, libcddb, flac, ffmpeg, mpg123, libcue, libmms, libbs2b
+, libsndfile, libmodplug, libsamplerate, soxr, lirc, curl, wavpack
+, neon, faad2, lame, libnotify, libsidplayfp
 }:
 
-let version = "3.5.2"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "audacious-${version}";
+  version = "3.7.2";
 
   src = fetchurl {
-    url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
-    sha256 = "0mhrdj76h0g6q197wgp8rxk6gqsrirrw49hfidcb5b7q5rlvj59r";
+    url = "http://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2";
+    sha256 = "1pvyxi8niy70nv13kc16g2vaywwahmg2650fa7v4rlbmykifk75z";
   };
 
   pluginsSrc = fetchurl {
-    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
-    sha256 = "1nacd8n46q3pqnwavq3i2ayls609gvxfcp3qqpcsfcdfz3bh15hp";
+    url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}-gtk3.tar.bz2";
+    sha256 = "0gxka0lp9a35k2xgq8bx69wyv83dvrqnpwcsqliy3h3yz6v1fv2v";
   };
 
-  buildInputs =
-    [ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib
-      libmad xorg.libXcomposite libogg libvorbis flac alsaLib libcdio
-      libcddb ffmpeg makeWrapper mpg123 neon faad2 gnome3.defaultIconTheme
-    ];
+  nativeBuildInputs = [
+    pkgconfig wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gettext glib gtk3 libmowgli libmcs dbus_glib libxml2
+    xorg.libXcomposite gnome3.defaultIconTheme alsaLib libjack2
+    libpulseaudio fluidsynth libmad libogg libvorbis libcdio082
+    libcddb flac ffmpeg mpg123 libcue libmms libbs2b libsndfile
+    libmodplug libsamplerate soxr lirc curl wavpack neon faad2
+    lame libnotify libsidplayfp
+  ];
 
-  # Here we build bouth audacious and audacious-plugins in one
+  configureFlags = [ "--enable-statusicon" ];
+
+  # Here we build both audacious and audacious-plugins in one
   # derivations, since they really expect to be in the same prefix.
   # This is slighly tricky.
-  builder = builtins.toFile "builder.sh"
-    ''
-      # First build audacious.
-      (
-        source $stdenv/setup
-        genericBuild
-      )
-
-      # Then build the plugins.
-      (
-        nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
-        source $stdenv/setup
-        rm -rfv audacious-*
-        src=$pluginsSrc
-        genericBuild
-      )
+  builder = builtins.toFile "builder.sh" ''
+    # First build audacious.
+    (
+      source $stdenv/setup
+      genericBuild
+    )
 
-      (
-        source $stdenv/setup
-        # gsettings schemas for file dialogues
-        # XDG_ICON_DIRS is set by hook for gnome3.defaultIconTheme
-        for file in "$out/bin/"*; do
-          wrapProgram "$file" \
-            --prefix XDG_DATA_DIRS : "$XDG_ADD:$GSETTINGS_SCHEMAS_PATH" \
-            --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
-        done
-      )
-    '';
-  XDG_ADD = gtk3 + "/share";
+    # Then build the plugins.
+    (
+      dontWrapGApps=true
+      nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
+      source $stdenv/setup
+      rm -rfv audacious-*
+      src=$pluginsSrc
+      genericBuild
+    )
+  '';
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Audio player";
     homepage = http://audacious-media-player.org/;
-    maintainers = with stdenv.lib.maintainers; [ eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ eelco ramkromberg ];
+    platforms = with platforms; linux;
+    license = with licenses; [
+      bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
+      gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
+    ];
   };
 }
diff --git a/pkgs/applications/audio/bitwig-studio/default.nix b/pkgs/applications/audio/bitwig-studio/default.nix
new file mode 100644
index 00000000000..efb36abe240
--- /dev/null
+++ b/pkgs/applications/audio/bitwig-studio/default.nix
@@ -0,0 +1,97 @@
+{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf
+, glib, gtk, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp
+, libXext, libXfixes, libXrender, libbsd, libjack2, libpng, libxcb
+, libxkbcommon, libxkbfile, makeWrapper, pixman, xcbutil, xcbutilwm
+, xdg_utils, zenity, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "bitwig-studio-${version}";
+  version = "1.3.12";
+
+  src = fetchurl {
+    url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
+    sha256 = "01z6yia4a6lfsf3rqq379l7xzqfbpz27mf1mr8sx9z1a8rzzyhld";
+  };
+
+  nativeBuildInputs = [ dpkg makeWrapper ];
+
+  unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root";
+
+  dontBuild = true;
+  dontPatchELF = true;
+  dontStrip = true;
+
+  libPath = lib.makeLibraryPath [
+    alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk harfbuzz
+    libX11 libXau libXcursor libXdmcp libXext libXfixes libXrender
+    libbsd libjack2 libpng libxcb libxkbfile pixman xcbutil xcbutilwm
+    zlib
+  ];
+
+  binPath = lib.makeBinPath [
+    xdg_utils zenity
+  ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r opt/bitwig-studio $out/libexec
+
+    # Use NixOS versions of these libs instead of the bundled ones.
+    (
+      cd $out/libexec/lib/bitwig-studio
+      rm libbz2.so* libxkbfile.so* libXcursor.so* libXau.so* \
+         libXdmcp.so* libpng16.so* libxcb*.so* libharfbuzz.so* \
+         libcairo.so* libfreetype.so*
+      ln -s ${bzip2.out}/lib/libbz2.so.1.0.6 libbz2.so.1.0
+    )
+
+    # Use our OpenJDK instead of Bitwig’s bundled—and commercial!—one.
+    rm -rf $out/libexec/lib/jre
+    ln -s ${jdk.home}/jre $out/libexec/lib/jre
+
+    # Bitwig’s `libx11-windowing-system.so` has several problems:
+    #
+    #   • has some old version of libxkbcommon linked statically (ಠ_ಠ),
+    #
+    #   • hardcodes path to `/usr/share/X11/xkb`,
+    #
+    #   • even if we redirected it with libredirect (after adding
+    #     `eaccess()` to libredirect!), their version of libxkbcommon
+    #     is unable to parse our xkeyboardconfig. Been there, done that.
+    #
+    # However, it suffices to override theirs with our libxkbcommon
+    # in LD_PRELOAD. :-)
+
+    find $out -type f -executable \
+      -not -name '*.so.*' \
+      -not -name '*.so' \
+      -not -path '*/resources/*' | \
+    while IFS= read -r f ; do
+      patchelf \
+        --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
+        $f && \
+      wrapProgram $f \
+        --prefix PATH : "${binPath}" \
+        --prefix LD_LIBRARY_PATH : "${libPath}" \
+        --set LD_PRELOAD "${libxkbcommon.out}/lib/libxkbcommon.so" || true
+    done
+
+    mkdir -p $out/bin
+    ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
+
+    cp -r usr/share $out/share
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A digital audio workstation";
+    longDescription = ''
+      Bitwig Studio is a multi-platform music-creation system for
+      production, performance and DJing, with a focus on flexible
+      editing tools and a super-fast workflow.
+    '';
+    homepage = http://www.bitwig.com/;
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ michalrus ];
+  };
+}
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
index d84ff702ce8..3488d8fb38f 100644
--- a/pkgs/applications/audio/caudec/default.nix
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     for executable in $(cd $out/bin && ls); do
 	wrapProgram $out/bin/$executable \
-	  --prefix PATH : "${bc}/bin:${findutils}/bin:${sox}/bin:${procps}/bin:${opusTools}/bin:${lame}/bin:${flac.bin}/bin"
+	  --prefix PATH : "${stdenv.lib.makeBinPath [ bc findutils sox procps opusTools lame flac ]}"
     done
   '';
 
diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix
index f7330ee12f9..5f787dbba50 100644
--- a/pkgs/applications/audio/freewheeling/default.nix
+++ b/pkgs/applications/audio/freewheeling/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchsvn, pkgconfig, autoreconfHook, gnutls33, freetype
 , SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, libjack2, libvorbis
-, libsndfile, libogg
+, libSM, libsndfile, libogg
 }:
 
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     pkgconfig autoreconfHook gnutls33 freetype SDL SDL_gfx SDL_ttf
-    liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg
+    liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg libSM
   ];
 
   patches = [ ./am_path_sdl.patch ./xml.patch ];
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index 345e98e6989..0c7b5c2c9ca 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libtool, intltool, pkgconfig, glib
-, gtk, curl, mpd_clientlib, libsoup, gob2, vala, libunique
+, gtk, curl, mpd_clientlib, libsoup, gob2, vala_0_23, libunique
 , libSM, libICE, sqlite, hicolor_icon_theme, wrapGAppsHook
 }:
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libtool intltool pkgconfig glib gtk curl mpd_clientlib libsoup
-    libunique libmpd gob2 vala libSM libICE sqlite hicolor_icon_theme
+    libunique libmpd gob2 vala_0_23 libSM libICE sqlite hicolor_icon_theme
     wrapGAppsHook
   ];
 
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 7b724ca3d01..8e9476cd3d8 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,11 +1,10 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages, mygpoclient, intltool
+{ stdenv, fetchurl, pythonPackages, mygpoclient, intltool
 , ipodSupport ? true, libgpod
 , gnome3
 }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "gpodder-${version}";
-  namePrefix = "";
 
   version = "3.9.0";
 
@@ -31,7 +30,7 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with pythonPackages; [
-    feedparser dbus mygpoclient sqlite3 pygtk eyeD3
+    feedparser dbus-python mygpoclient sqlite3 pygtk eyeD3
   ] ++ stdenv.lib.optional ipodSupport libgpod;
 
   checkPhase = ''
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index 7af7fbb4a25..af213f1a835 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, gettext, intltool, pkgconfig, python
-, avahi, bluez, boost, eigen, fftw, glib, glibmm, gtk, gtkmm, libjack2
+, avahi, bluez, boost, eigen, fftw, glib, glib_networking
+, glibmm, gsettings_desktop_schemas, gtk, gtkmm, libjack2
 , ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom
-, webkitgtk2, zita-convolver, zita-resampler
+, webkitgtk2, wrapGAppsHook, zita-convolver, zita-resampler
 , optimizationSupport ? false # Enable support for native CPU extensions
 }:
 
@@ -11,19 +12,20 @@ in
 
 stdenv.mkDerivation rec {
   name = "guitarix-${version}";
-  version = "0.34.0";
+  version = "0.35.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
-    sha256 = "0pamaq8iybsaglq6y1m1rlmz4wgbs2r6m24bj7x4fwg4grjvzjl8";
+    url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
+    sha256 = "066qva1zk63qw60s0vbi9g9jh22ljw67p91pk82kv11gw24h3vg6";
   };
 
-  nativeBuildInputs = [ gettext intltool pkgconfig python ];
+  nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python ];
 
   buildInputs = [
-    avahi bluez boost eigen fftw glib glibmm gtk gtkmm libjack2
-    ladspaH librdf libsndfile lilv lv2 serd sord sratom
-    webkitgtk2 zita-convolver zita-resampler
+    avahi bluez boost eigen fftw glib glibmm glib_networking.out
+    gsettings_desktop_schemas gtk gtkmm libjack2 ladspaH librdf
+    libsndfile lilv lv2 serd sord sratom webkitgtk2 zita-convolver
+    zita-resampler
   ];
 
   configureFlags = [
@@ -39,7 +41,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''python waf install'';
 
-  meta = with stdenv.lib; { 
+  meta = with stdenv.lib; {
     description = "A virtual guitar amplifier for Linux running with JACK";
     longDescription = ''
         guitarix is a virtual guitar amplifier for Linux running with
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 5feabbf4206..d7454741ed5 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, pythonPackages, pygobject3, wrapGAppsHook
+{ stdenv, fetchFromGitHub, pythonPackages, wrapGAppsHook
 , gst_all_1, glib_networking, gobjectIntrospection
 }:
 
 pythonPackages.buildPythonApplication rec {
   name = "mopidy-${version}";
 
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy";
     rev = "v${version}";
-    sha256 = "06f1y87dqc7p6kq5npmg3ki8x4iacyjzd7nq7188x20y2zglrjbm";
+    sha256 = "15i17rj2bh2kda6d6rwcjhs2m3nfsrcyq3lj9vbgmacg0cdb22pp";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -22,7 +22,7 @@ pythonPackages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with pythonPackages; [
-    gst-python pygobject3 pykka tornado requests2 dbus
+    gst-python pygobject3 pykka tornado requests2 dbus-python
   ];
 
   # There are no tests
diff --git a/pkgs/applications/audio/morituri/default.nix b/pkgs/applications/audio/morituri/default.nix
index 7d7b4e47fad..b9a38ab9d03 100644
--- a/pkgs/applications/audio/morituri/default.nix
+++ b/pkgs/applications/audio/morituri/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchgit, python, pythonPackages, cdparanoia, cdrdao
-, pygobject, gst_python, gst_plugins_base, gst_plugins_good
-, setuptools, utillinux, makeWrapper, substituteAll, autoreconfHook }:
+{ stdenv, fetchgit, pythonPackages, cdparanoia, cdrdao
+, gst_python, gst_plugins_base, gst_plugins_good
+, utillinux, makeWrapper, substituteAll, autoreconfHook }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python;
+in stdenv.mkDerivation rec {
   name = "morituri-${version}";
   version = "0.2.3.20151109";
   namePrefix = "";
@@ -14,10 +16,10 @@ stdenv.mkDerivation rec {
     sha256 = "1sl5y5j3gdbynf2v0gf9dwd2hzawj8lm8ywadid7qm34yn8lx12k";
   };
 
-  pythonPath = [
-    pygobject gst_python pythonPackages.musicbrainzngs
-    pythonPackages.pycdio pythonPackages.pyxdg setuptools
-    pythonPackages.CDDB
+  pythonPath = with pythonPackages; [
+    pygobject gst_python musicbrainzngs
+    pycdio pyxdg setuptools
+    CDDB
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 2373bbc549d..046789119ec 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, buildPythonApplication, fetchurl, gettext
+{ stdenv, pythonPackages, fetchurl, gettext
 , pkgconfig, libofa, ffmpeg, chromaprint
-, pyqt4, mutagen, python-libdiscid
 }:
 
-let version = "1.3.2"; in
-buildPythonApplication {
+let
+  version = "1.3.2";
+in pythonPackages.buildPythonApplication {
   name = "picard-${version}";
   namePrefix = "";
 
@@ -20,10 +20,10 @@ buildPythonApplication {
     gettext
   ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with pythonPackages; [
     pyqt4
     mutagen
-    python-libdiscid
+    discid
   ];
 
   installPhase = ''
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 5aaa3195c45..a046fe80e13 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, python, buildPythonApplication, mutagen, pygtk, pygobject, intltool
-, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
+{ stdenv, fetchurl, pythonPackages, intltool
+, gst_python, withGstPlugins ? false, gst_plugins_base ? null
 , gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
 
 assert withGstPlugins -> gst_plugins_base != null
@@ -7,12 +7,12 @@ assert withGstPlugins -> gst_plugins_base != null
                          || gst_plugins_ugly != null
                          || gst_plugins_bad != null;
 
-let version = "2.6.3"; in
-
-buildPythonApplication {
+let
+  version = "2.6.3";
+  inherit (pythonPackages) buildPythonApplication python mutagen pygtk pygobject dbus-python;
+in buildPythonApplication {
   # call the package quodlibet and just quodlibet
   name = "quodlibet${stdenv.lib.optionalString withGstPlugins "-with-gst-plugins"}-${version}";
-  namePrefix = "";
 
   # XXX, tests fail
   doCheck = false;
@@ -48,7 +48,7 @@ buildPythonApplication {
   ];
 
   propagatedBuildInputs = [
-    mutagen pygtk pygobject pythonDBus gst_python intltool
+    mutagen pygtk pygobject dbus-python gst_python intltool
   ];
 
   postInstall = stdenv.lib.optionalString withGstPlugins ''
diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix
index e23a5404368..2acafb0be63 100644
--- a/pkgs/applications/audio/sonata/default.nix
+++ b/pkgs/applications/audio/sonata/default.nix
@@ -1,14 +1,11 @@
-{ pkgs, stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook,
-  python, buildPythonApplication, isPy3k,
-  gnome3, gtk3, gobjectIntrospection,
-  dbus, pygobject3, mpd2 }:
+{ lib, stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook
+, python3Packages, gnome3, gtk3, gobjectIntrospection}:
 
-with pkgs.lib;
-
-buildPythonApplication rec {
+let
+  inherit (python3Packages) buildPythonApplication python isPy3k dbus-python pygobject3 mpd2;
+in buildPythonApplication rec {
   name = "sonata-${version}";
   version = "1.7b1";
-  namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "multani";
@@ -38,7 +35,7 @@ buildPythonApplication rec {
 
   # The optional tagpy dependency (for editing metadata) is not yet
   # included because it's difficult to build.
-  pythonPath = [ dbus pygobject3 mpd2 ];
+  pythonPath = [ dbus-python pygobject3 mpd2 ];
 
   meta = {
     description = "An elegant client for the Music Player Daemon";
diff --git a/pkgs/applications/audio/ympd/default.nix b/pkgs/applications/audio/ympd/default.nix
new file mode 100644
index 00000000000..54d07e71f42
--- /dev/null
+++ b/pkgs/applications/audio/ympd/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, cmake, llvmPackages, pkgconfig, mpd_clientlib, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "ympd-${version}";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "notandy";
+    repo = "ympd";
+    rev = "v${version}";
+    sha256 = "1nvb19jd556v2h2bi7w4dcl507p3p8xvjkqfzrcsy7ccy3502brq";
+  };
+
+  buildInputs = [ cmake pkgconfig mpd_clientlib openssl ];
+
+  meta = {
+    homepage = "http://www.ympd.org";
+    description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
+    maintainers = [ stdenv.lib.maintainers.siddharthist ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/backup/areca/default.nix b/pkgs/applications/backup/areca/default.nix
index 76913356b04..7a7f6f2ac49 100644
--- a/pkgs/applications/backup/areca/default.nix
+++ b/pkgs/applications/backup/areca/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "areca-7.5";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/areca/areca-stable/areca-7.5/areca-7.5-src.tar.gz";
+    url = "mirror://sourceforge/project/areca/areca-stable/areca-7.5/areca-7.5-src.tar.gz";
     sha256 = "1q4ha9s96c1syplxm04bh1v1gvjq16l4pa8w25w95d2ywwvyq1xb";
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     substituteInPlace bin/areca_run.sh --replace "/usr/lib/java/swt.jar" "${swt}/jars/swt.jar"
 
     sed -i "s#^PROGRAM_DIR.*#PROGRAM_DIR=$out#g" bin/areca_run.sh
-    sed -i "s#^LIBRARY_PATH.*#LIBRARY_PATH=${swt}/lib:$out/lib:${acl}/lib#g" bin/areca_run.sh
+    sed -i "s#^LIBRARY_PATH.*#LIBRARY_PATH=$out/lib:${stdenv.lib.makeLibraryPath [ swt acl ]}#g" bin/areca_run.sh
 
     # https://sourceforge.net/p/areca/bugs/563/
     substituteInPlace bin/areca_run.sh --replace '[ "$JAVA_IMPL" = "java" ]' \
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix
index e6828e6adad..609c5e3c651 100644
--- a/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2)
     libCairo=$out/eclipse/libcairo-swt.so
     patchelf --set-interpreter $interpreter $out/eclipse/eclipse
-    [ -f $libCairo ] && patchelf --set-rpath ${freetype}/lib:${fontconfig}/lib:${libX11}/lib:${libXrender}/lib:${zlib}/lib $libCairo
+    [ -f $libCairo ] && patchelf --set-rpath ${stdenv.lib.makeLibraryPath [ freetype fontconfig libX11 libXrender zlib ]} $libCairo
 
     # Create wrapper script.  Pass -configuration to store
     # settings in ~/.eclipse/org.eclipse.platform_<version> rather
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
       --prefix PATH : ${jdk}/bin \
-      --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk.out}/lib:${libXtst}/lib${stdenv.lib.optionalString (webkitgtk2 != null) ":${webkitgtk2}/lib"} \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk libXtst ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2)} \
       --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
 
     # Create desktop item.
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 7f765b9afc8..273507274fa 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -66,8 +66,9 @@ stdenv.mkDerivation rec {
       else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
              "--with-gif=no" "--with-tiff=no" ];
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
-    "-I${cairo.dev}/include/cairo";
+  NIX_CFLAGS_COMPILE =
+    [ "-ffreestanding" ] # needed due to glibc 2.24 upgrade (see https://sourceware.org/glibc/wiki/Release/2.24#Known_Issues)
+    ++ stdenv.lib.optional (stdenv.isDarwin && withX) "-I${cairo.dev}/include/cairo";
 
   postInstall = ''
     mkdir -p $out/share/emacs/site-lisp/
diff --git a/pkgs/applications/editors/emacs-25/default.nix b/pkgs/applications/editors/emacs-25/default.nix
index dcd8a2ab696..2637eb3c01d 100644
--- a/pkgs/applications/editors/emacs-25/default.nix
+++ b/pkgs/applications/editors/emacs-25/default.nix
@@ -25,13 +25,13 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "emacs-25.1-rc1";
+  name = "emacs-25.1-rc2";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url = "ftp://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.xz";
-    sha256 = "0cv1hars9zxlv040h7f3zz50fhn67dqa18ms4hg9sdblckk50360";
+    sha256 = "1hffvyvl50mrivdv6lp92sbxi3l2zhblj8npmpbzk47zpl1mzm2v";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/applications/editors/ht/default.nix b/pkgs/applications/editors/ht/default.nix
index b7acdb7f1d5..0ca4f19b4af 100644
--- a/pkgs/applications/editors/ht/default.nix
+++ b/pkgs/applications/editors/ht/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "ht-${version}";
   version = "2.1.0";
   src = fetchurl {
-    url = "http://sourceforge.net/projects/hte/files/ht-source/ht-${version}.tar.bz2";
+    url = "mirror://sourceforge/project/hte/ht-source/ht-${version}.tar.bz2";
     sha256 = "0w2xnw3z9ws9qrdpb80q55h6ynhh3aziixcfn45x91bzrbifix9i";
   };
   buildInputs = [
diff --git a/pkgs/applications/editors/idea/common.nix b/pkgs/applications/editors/idea/common.nix
index 170a12d6d69..37066039851 100644
--- a/pkgs/applications/editors/idea/common.nix
+++ b/pkgs/applications/editors/idea/common.nix
@@ -62,7 +62,7 @@ with stdenv; lib.makeOverridable mkDerivation rec {
     item=${desktopItem}
 
     makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${execName}" \
-      --prefix PATH : "$out/libexec/${name}:${jdk}/bin:${coreutils}/bin:${gnugrep}/bin:${which}/bin:${git}/bin" \
+      --prefix PATH : "$out/libexec/${name}:${stdenv.lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
       --set JDK_HOME "$jdk" \
       --set ${hiName}_JDK "$jdk" \
       --set ANDROID_JAVA_HOME "$jdk" \
diff --git a/pkgs/applications/editors/kile/frameworks.nix b/pkgs/applications/editors/kile/frameworks.nix
index f42e9fa4335..c16dce1eccc 100644
--- a/pkgs/applications/editors/kile/frameworks.nix
+++ b/pkgs/applications/editors/kile/frameworks.nix
@@ -24,12 +24,12 @@ let
   unwrapped =
     kdeDerivation rec {
       name = "kile-${version}";
-      version = "2016-07-02";
+      version = "2016-07-25";
 
       src = fetchgit {
         url = git://anongit.kde.org/kile.git;
-        rev = "d38bc7069667119cc891b351188484ca6fb88973";
-        sha256 = "1nha71i16fs7nq2812b5565nbmbsbs3ak5czas6xg1dg5bsvdqh8";
+        rev = "9cad4757df2493a6099b89114340493c6b436d0b";
+        sha256 = "0kikrkssfd7bj580iwsipirbz2klxvk0f7nfg5y9mkv0pnchx2mj";
 
       };
 
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix
index 9bb21d95783..65fb927d48e 100644
--- a/pkgs/applications/editors/leo-editor/default.nix
+++ b/pkgs/applications/editors/leo-editor/default.nix
@@ -1,28 +1,65 @@
-{ stdenv, pythonPackages, fetchgit }:
+{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, makeDesktopItem }:
 
-pythonPackages.buildPythonApplication rec {
+stdenv.mkDerivation rec {
   name = "leo-editor-${version}";
-  namePrefix = "";
-  version = "5.1";
+  version = "5.3";
 
-  src = fetchgit {
-    url = "https://github.com/leo-editor/leo-editor";
-    rev = "refs/tags/Leo-${version}-final";
-    sha256 = "0km5mvzfpfbxxhcjr4if24qhgk2c7dsvmfinz0zrbfriip848vcp";
+  src = fetchFromGitHub {
+    owner = "leo-editor";
+    repo = "leo-editor";
+    rev = version;
+    sha256 = "0whbay8ilabzpxdjaxv447y6bqbsilx161fv7wa15v3qqm2kapsp";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pyqt4 sqlite3 ];
+  dontBuild = true;
 
+  buildInputs = [ makeWrapper python3Packages.python ];
+  propagatedBuildInputs = with python3Packages; [ pyqt5 ];
 
-  patchPhase = ''
-    rm setup.cfg
+  desktopItem = makeDesktopItem rec {
+    name = "leo-editor";
+    exec = "leo %U";
+    icon = "leoapp32";
+    type = "Application";
+    comment = meta.description;
+    desktopName = "Leo";
+    genericName = "Text Editor";
+    categories = stdenv.lib.concatStringsSep ";" [
+      "Application" "Development" "IDE" "QT"
+    ];
+    startupNotify = "false";
+    mimeType = stdenv.lib.concatStringsSep ";" [
+      "text/plain" "text/asp" "text/x-c" "text/x-script.elisp" "text/x-fortran"
+      "text/html" "application/inf" "text/x-java-source" "application/x-javascript"
+      "application/javascript" "text/ecmascript" "application/x-ksh" "text/x-script.ksh"
+      "application/x-tex" "text/x-script.rexx" "text/x-pascal" "text/x-script.perl"
+      "application/postscript" "text/x-script.scheme" "text/x-script.guile" "text/sgml"
+      "text/x-sgml" "application/x-bsh" "application/x-sh" "application/x-shar"
+      "text/x-script.sh" "application/x-tcl" "text/x-script.tcl" "application/x-texinfo"
+      "application/xml" "text/xml" "text/x-asm"
+    ];
+  };
+
+  installPhase = ''
+    mkdir -p "$out/share/icons/hicolor/32x32/apps"
+    cp leo/Icons/leoapp32.png "$out/share/icons/hicolor/32x32/apps"
+
+    mkdir -p "$out/share/applications"
+    cp $desktopItem/share/applications/* $out/share/applications
+
+    mkdir -p $out/share/leo-editor
+    mv * $out/share/leo-editor
+
+    makeWrapper ${python3Packages.python}/bin/python3.5m $out/bin/leo \
+      --set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \
+      --add-flags "-O $out/share/leo-editor/launchLeo.py"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://leoeditor.com";
     description = "A powerful folding editor";
     longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers.";
-    license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ leonardoce ];
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ leonardoce ramkromberg ];
   };
 }
diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix
index 65ea62b3368..f305db1abb8 100644
--- a/pkgs/applications/editors/music/tuxguitar/default.nix
+++ b/pkgs/applications/editors/music/tuxguitar/default.nix
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/tuxguitar \
       --set JAVA "${jdk}/bin/java" \
-      --prefix LD_LIBRARY_PATH : "$out/lib/:${swt}/lib:${alsaLib.out}/lib" \
+      --prefix LD_LIBRARY_PATH : "$out/lib/:${stdenv.lib.makeLibraryPath [ swt alsaLib ]}" \
       --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
   '';
 
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 62da04577f7..f99e5d76a47 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -12,10 +12,10 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "2.6.2";
+  version = "2.6.3";
   src = fetchurl {
     url = "https://nano-editor.org/dist/v2.6/${name}.tar.gz";
-    sha256 = "11c9iqiah4q7q3ndn7z9192a796vp4fffkg27s6q1dn8avp06dj5";
+    sha256 = "00ym3zws1vdds726drgr5wj14mjn18d96ghn6vjci0915zhm8h2g";
   };
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
   buildInputs = [ ncurses ];
@@ -26,6 +26,15 @@ stdenv.mkDerivation rec {
     ${optionalString enableTiny "--enable-tiny"}
   '';
 
+  patchFlags = [ "-p0" ];
+
+  patches = optional stdenv.isDarwin
+    (fetchurl {
+      name = "darwin.patch";
+      url = "https://trac.macports.org/browser/trunk/dports/editors/nano/files/patch-src-winio.c.diff?rev=151356&format=txt";
+      sha256 = "184q33irz9px2svwr2qx70zvfby5zlwlhv4k607yzsy90fq2jpdd";
+    });
+
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/text.c --replace "__time_t" "time_t"
   '';
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index 363da0d3826..289de0ad91a 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
     mkdir -p $out/bin
     cp -a netbeans $out
     makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \
-      --prefix PATH : ${jdk}/bin:${which}/bin \
+      --prefix PATH : ${stdenv.lib.makeBinPath [ jdk which ]} \
       --prefix JAVA_HOME : ${jdk.home} \
       --add-flags "--jdkhome ${jdk.home}"
       
diff --git a/pkgs/applications/editors/vanubi/default.nix b/pkgs/applications/editors/vanubi/default.nix
index de0236a50e8..876bd145b72 100644
--- a/pkgs/applications/editors/vanubi/default.nix
+++ b/pkgs/applications/editors/vanubi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, vala, which, autoconf, automake
+{ stdenv, fetchurl, pkgconfig, vala_0_26, which, autoconf, automake
 , libtool, glib, gtk3, gnome3, libwnck3, asciidoc, python3Packages }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "145zxgaky5bcq5bxm4z7h0pvviq7k1nrgnf40q6nax6ik616ybjq";
   };
 
-  buildInputs = [ pkgconfig vala which autoconf automake
+  buildInputs = [ pkgconfig vala_0_26 which autoconf automake
                   libtool glib gtk3 libwnck3 asciidoc
                   gnome3.gtksourceview gnome3.vte_290 python3Packages.pygments ];
 
diff --git a/pkgs/applications/graphics/ao/default.nix b/pkgs/applications/graphics/ao/default.nix
new file mode 100644
index 00000000000..2a2d280d6b2
--- /dev/null
+++ b/pkgs/applications/graphics/ao/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchgit, cmake, ninja, boost, libpng, glfw3, epoxy, guile, pkgconfig
+, mesa, libX11, libpthreadstubs, libXau, libXdmcp, libXrandr, libXext
+, libXinerama, libXxf86vm, libXcursor, libXfixes
+}:
+stdenv.mkDerivation rec {
+  version = "0.0pre20160820";
+  name = "ao-${version}";
+  buildInputs = [
+    cmake ninja boost libpng glfw3 epoxy guile pkgconfig mesa libX11 
+    libpthreadstubs libXau libXdmcp libXrandr libXext libXinerama libXxf86vm
+    libXcursor libXfixes
+    ];
+  src = fetchgit (stdenv.lib.importJSON ./src.json);
+  cmakeFlags = "-G Ninja";
+  buildPhase = "ninja";
+  installPhase = ''
+    ninja install
+    cd ..
+    cp lib/lib* bind/lib* "$out/lib"
+    cp -r bin "$out/bin"
+    mkdir "$out/doc"
+    cp -r doc "$out/doc/ao"
+    cp -r examples "$out/doc/ao/examples"
+    cp -r bind "$out/bind"
+  '';
+  meta = {
+    inherit version;
+    description = ''Homoiconic CAD package'';
+    license = stdenv.lib.licenses.gpl2Plus ; # Some parts can be extracted and used under LGPL2+
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/ao/src.json b/pkgs/applications/graphics/ao/src.json
new file mode 100644
index 00000000000..0fa10dc3b0f
--- /dev/null
+++ b/pkgs/applications/graphics/ao/src.json
@@ -0,0 +1,5 @@
+{
+  "url": "https://github.com/mkeeter/ao",
+  "rev": "69fadb81543cc9031e4a7ec2036c7f2ab505a620",
+  "sha256": "1717k72vr0i5j7bvxmd6q16fpvkljnqfa1hr3i4yq8cjdsj69my7"
+}
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 04119f3f1c6..952d23bbc48 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     # Allow geeqie to find exiv2 and exiftran, necessary to
     # losslessly rotate JPEG images.
     sed -i $out/lib/geeqie/geeqie-rotate \
-        -e '1 a export PATH=${exiv2}/bin:${fbida}/bin:$PATH'
+        -e '1 a export PATH=${stdenv.lib.makeBinPath [ exiv2 fbida ]}:$PATH'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix
index f9ea3173b43..1b5ee01d4c0 100644
--- a/pkgs/applications/graphics/giv/default.nix
+++ b/pkgs/applications/graphics/giv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk, glib,
-  pcre, cfitsio, perl, gob2, vala, libtiff, json_glib }:
+  pcre, cfitsio, perl, gob2, vala_0_23, libtiff, json_glib }:
 
 stdenv.mkDerivation rec {
   name = "giv-20150811-git";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   installPhase = "scons install";
 
-  buildInputs = [ gdk_pixbuf pkgconfig gtk glib scons pcre cfitsio perl gob2 vala libtiff
+  buildInputs = [ gdk_pixbuf pkgconfig gtk glib scons pcre cfitsio perl gob2 vala_0_23 libtiff
     json_glib ];
 
   meta = {
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
new file mode 100644
index 00000000000..76086b87eb2
--- /dev/null
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -0,0 +1,31 @@
+{ stdenv,  fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool,
+  exiv2, libjpeg, libtiff, gstreamer, libraw, libsoup, libsecret,
+  libchamplain, librsvg, libwebp, json_glib, webkit, lcms2, bison,
+  flex, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "gthumb";
+  version = "${major}.3";
+  major = "3.4";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
+    sha256 = "0pc2xl6kwhi5l3d0dj6nzdcj2vpihs7y1s3l1hwir8zy7cpx23y1";
+  };
+
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
+  buildInputs = with gnome3;
+    [ itstool libxml2 intltool glib gtk gsettings_desktop_schemas dconf
+      exiv2 libjpeg libtiff gstreamer libraw libsoup libsecret libchamplain
+      librsvg libwebp json_glib webkit lcms2 bison flex ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/gthumb;
+    description = "Image browser and viewer for GNOME";
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.mimadrid ];
+  };
+}
diff --git a/pkgs/applications/graphics/processing/default.nix b/pkgs/applications/graphics/processing/default.nix
index 69e5ccb85ec..a66e9163142 100644
--- a/pkgs/applications/graphics/processing/default.nix
+++ b/pkgs/applications/graphics/processing/default.nix
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
    cp -r linux/work/* $out/${name}/
    makeWrapper $out/${name}/processing $out/bin/processing \
-     --prefix PATH : "${jdk}/bin:${which}/bin" \
+     --prefix PATH : "${stdenv.lib.makeBinPath [ jdk which ]}" \
      --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
    makeWrapper $out/${name}/processing-java $out/bin/processing-java \
-     --prefix PATH : "${jdk}/bin:${which}/bin" \
+     --prefix PATH : "${stdenv.lib.makeBinPath [ jdk which ]}" \
      --prefix LD_LIBRARY_PATH : ${libXxf86vm}/lib
    ln -s ${jdk} $out/${name}/java
   '';
diff --git a/pkgs/applications/graphics/qtpfsgui/default.nix b/pkgs/applications/graphics/qtpfsgui/default.nix
index befdf1b4e7c..d0558605f5b 100644
--- a/pkgs/applications/graphics/qtpfsgui/default.nix
+++ b/pkgs/applications/graphics/qtpfsgui/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   qmakeFlags = [
-    "EXIV2PATH=${exiv2}/include/exiv2"
+    "EXIV2PATH=${exiv2.dev}/include/exiv2"
     "OPENEXRDIR=${openexr}/include/OpenEXR"
     "FFTW3DIR=${fftwSinglePrec.dev}/include"
     "LIBTIFFDIR=${libtiff.dev}/include"
diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
index 8561c2a4ccf..063d0f13faf 100644
--- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
   patchPhase = ''
     ${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"}
 
-    RPATH=${libusb}/lib
+    RPATH=${libusb.out}/lib
     for a in usr/lib64/sane/*.so*; do
       if ! test -L $a; then
         patchelf --set-rpath $RPATH $a
diff --git a/pkgs/applications/graphics/sane/backends/generic.nix b/pkgs/applications/graphics/sane/backends/generic.nix
index 33470ea0c00..4bd80c01c93 100644
--- a/pkgs/applications/graphics/sane/backends/generic.nix
+++ b/pkgs/applications/graphics/sane/backends/generic.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
       --replace "RUN+=\"/bin/sh" "RUN+=\"${stdenv.shell}"
 
     substituteInPlace $out/lib/libsane.la \
-      --replace "-ljpeg" "-L${libjpeg}/lib -ljpeg"
+      --replace "-ljpeg" "-L${libjpeg.out}/lib -ljpeg"
   '' + stdenv.lib.concatStrings (builtins.map installFirmware compatFirmware);
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/screencloud/default.nix b/pkgs/applications/graphics/screencloud/default.nix
index 5934febb999..6f2b0e34cbb 100644
--- a/pkgs/applications/graphics/screencloud/default.nix
+++ b/pkgs/applications/graphics/screencloud/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, python, pycrypto, glib }:
+{ stdenv, fetchurl, fetchFromGitHub, cmake, qt4, quazip, qt-mobility, qxt, pythonPackages, glib }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "1s0dxa1sa37nvna5nfqdsp294810favj68qb7ghl78qna7zw0cim";
   };
 
-  buildInputs = [ cmake qt4 quazip qt-mobility qxt python pycrypto ];
+  buildInputs = [ cmake qt4 quazip qt-mobility qxt pythonPackages.python pythonPackages.pycrypto ];
 
   patchPhase = ''
     # Required to make the configure script work. Normally, screencloud's
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     patchShebangs $prefix/opt/screencloud/screencloud.sh
     substituteInPlace "$prefix/opt/screencloud/screencloud.sh" --replace "/opt" "$prefix/opt"
-    sed -i "2 i\export PYTHONPATH=$(toPythonPath ${pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh"
+    sed -i "2 i\export PYTHONPATH=$(toPythonPath ${pythonPackages.pycrypto}):\$PYTHONPATH" "$prefix/opt/screencloud/screencloud.sh"
     mkdir $prefix/bin
     mkdir $prefix/lib
     ln -s $prefix/opt/screencloud/screencloud.sh $prefix/bin/screencloud
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 21c05ee66f5..3f9fd132c09 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite
+{ fetchurl, stdenv, m4, glibc, gtk3, libexif, libgphoto2, libsoup, libxml2, vala_0_28, sqlite
 , webkitgtk, pkgconfig, gnome3, gst_all_1, which, udev, libgudev, libraw, glib, json_glib
-, gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, makeWrapper
+, gettext, desktop_file_utils, lcms2, gdk_pixbuf, librsvg, wrapGAppsHook
 , gnome_doc_utils, hicolor_icon_theme, itstool }:
 
 # for dependencies see http://www.yorba.org/projects/shotwell/install/
@@ -8,12 +8,12 @@
 stdenv.mkDerivation rec {
   version = "${major}.${minor}";
   major = "0.23";
-  minor = "4";
+  minor = "5";
   name = "shotwell-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz";
-    sha256 = "1hnl0lxibklmr1cy95ij1b3jgvdsw4zlcja53ngfxvlsi2r2bbxi";
+    sha256 = "0fgs1rgvkmy79bmpxrsvm5w8rvqml4l1vnwma0xqx5zzm02p8a07";
   };
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include";
@@ -24,19 +24,11 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  preFixup = ''
-    wrapProgram "$out/bin/shotwell" \
-     --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-     --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
-     --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
-  '';
-
-
-  buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala sqlite webkitgtk
+  buildInputs = [ m4 glibc gtk3 libexif libgphoto2 libsoup libxml2 vala_0_28 sqlite webkitgtk
                   pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee
                   which udev libgudev gnome3.gexiv2 hicolor_icon_theme
                   libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
-                  makeWrapper gnome_doc_utils gnome3.rest
+                  wrapGAppsHook gnome_doc_utils gnome3.rest
                   gnome3.defaultIconTheme itstool ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix
index 0d6ed1f9e72..8af753ac29c 100644
--- a/pkgs/applications/graphics/simple-scan/default.nix
+++ b/pkgs/applications/graphics/simple-scan/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool
-, libusb1, libxml2, pkgconfig, sane-backends, vala, wrapGAppsHook   
+, libusb1, libxml2, pkgconfig, sane-backends, vala_0_23, wrapGAppsHook
 , gnome3 }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ cairo colord glib gusb gtk3 libusb1 libxml2 sane-backends
-    vala ];
+    vala_0_23 ];
   nativeBuildInputs = [ intltool itstool pkgconfig wrapGAppsHook ];
 
   configureFlags = [ "--disable-packagekit" ];
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index 9c93b9d7317..53d0473638a 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl
 , ghostscript, atk, gtk, glib, fontconfig, freetype
 , libgnomecanvas, libgnomeprint, libgnomeprintui
-, pango, libX11, xproto, zlib, poppler, poppler_data
+, pango, libX11, xproto, zlib, poppler
 , autoconf, automake, libtool, pkgconfig}:
 stdenv.mkDerivation rec {
   version = "0.4.8";
@@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ghostscript atk gtk glib fontconfig freetype
     libgnomecanvas libgnomeprint libgnomeprintui
-    pango libX11 xproto zlib poppler poppler_data
+    pango libX11 xproto zlib poppler
   ];
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
 
-  NIX_LDFLAGS="-lX11 -lz";
+  NIX_LDFLAGS = [ "-lX11" "-lz" ];
 
   meta = {
     homepage = http://xournal.sourceforge.net/;
diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix
index 0dad1238876..afb48c697b5 100644
--- a/pkgs/applications/graphics/yed/default.nix
+++ b/pkgs/applications/graphics/yed/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, requireFile, makeWrapper, unzip, jre }:
 
 stdenv.mkDerivation rec {
-  name = "yEd-3.15.0.2";
+  name = "yEd-${version}";
+  version = "3.16.1";
 
   src = requireFile {
     name = "${name}.zip";
     url = "https://www.yworks.com/en/products/yfiles/yed/";
-    sha256 = "c60e4868f267303ee8b6fc2587beb4cc846f32bd8a6a557b77e01f0d8039aa4d";
+    sha256 = "0h7ykcpvsikjfap51hpcz6z814riiwyps585j2i1yv9dmsbqdi7j";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/applications/misc/audio/wavesurfer/default.nix b/pkgs/applications/misc/audio/wavesurfer/default.nix
index caaa5133c75..e5e09bf71fd 100644
--- a/pkgs/applications/misc/audio/wavesurfer/default.nix
+++ b/pkgs/applications/misc/audio/wavesurfer/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     ln -s $out/{nix-support,bin}/wavesurfer.tcl
     wrapProgram "$out/nix-support/wavesurfer.tcl"  \
                  --set TCLLIBPATH "${snack}/lib" \
-                 --prefix PATH : "${tcl}/bin:${tk}/bin"
+                 --prefix PATH : "${stdenv.lib.makeBinPath [ tcl tk ]}"
   '';
 
   meta = { 
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index 1ac74712ff0..0df0a564731 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [gtk mono]}"
     # We need PATH from user env for xdg-open to find its tools, which
     # typically depend on the currently running desktop environment.
-    export PATH="${avrgcclibc}/bin:${avrdude}/bin:${xdg_utils}/bin:\$PATH"
+    export PATH="${stdenv.lib.makeBinPath [ avrgcclibc avrdude xdg_utils ]}:\$PATH"
 
     # avrdudess must have its resource files in its current working directory
     cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@"
diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix
index a2b3c15f044..14416c24d23 100644
--- a/pkgs/applications/misc/batti/default.nix
+++ b/pkgs/applications/misc/batti/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl
-, pkgconfig, gettext, python
-, gtk, pygtk, dbus_python
-, gdk_pixbuf, upower
+, pkgconfig, gettext, pythonPackages
+, gtk, gdk_pixbuf, upower
 , makeWrapper }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) dbus-python pygtk python;
+in stdenv.mkDerivation rec {
 
   name = "batti-${version}";
   version = "0.3.8";
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig gettext python gtk pygtk dbus_python gdk_pixbuf upower makeWrapper ];
+  [ pkgconfig gettext python gtk pygtk dbus-python gdk_pixbuf upower makeWrapper ];
 
   configurePhase = "true";
 
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 3e7ad83c0a1..28ac63f62a9 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, lib, fetchurl, SDL, boost, cmake, ffmpeg, gettext, glew
-, ilmbase, libXi, libjpeg, libpng, libsamplerate, libsndfile
+{ stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
+, ilmbase, libXi, libX11, libjpeg, libpng, libsamplerate, libsndfile
 , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python
-, zlib, fftw, opensubdiv
+, zlib, fftw, opensubdiv, freetype
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? false, cudatoolkit
 , colladaSupport ? true, opencollada
@@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
+    [ boost cmake ffmpeg gettext glew ilmbase libXi libX11 freetype
       libjpeg libpng libsamplerate libsndfile libtiff mesa openal
-      opencolorio openexr openimageio /* openjpeg */ python zlib fftw
+      opencolorio openexr openimageio openjpeg python zlib fftw
       (opensubdiv.override { inherit cudaSupport; })
     ]
     ++ optional jackaudioSupport libjack2
@@ -41,12 +41,15 @@ stdenv.mkDerivation rec {
       "-DWITH_SDL=ON"
       "-DWITH_GAMEENGINE=ON"
       "-DWITH_OPENCOLORIO=ON"
+      "-DWITH_SYSTEM_OPENJPEG=ON"
       "-DWITH_PLAYER=ON"
       "-DWITH_OPENSUBDIV=ON"
       "-DPYTHON_LIBRARY=python${python.majorVersion}m"
       "-DPYTHON_LIBPATH=${python}/lib"
       "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"
       "-DPYTHON_VERSION=${python.majorVersion}"
+      "-DWITH_PYTHON_INSTALL=OFF"
+      "-DWITH_PYTHON_INSTALL_NUMPY=OFF"
     ]
     ++ optional jackaudioSupport "-DWITH_JACK=ON"
     ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 966df509c92..32759600609 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
+{ stdenv, fetchurl, python, pyqt5, sip, poppler_utils, pkgconfig, libpng
 , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite
 , makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp
 , xdg_utils, makeDesktopItem
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.58.0";
+  version = "2.64.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "0npqvfjqj1vwa7nmnsyd4d30z40brydw275ldf1jankrp6dr9dyd";
+    sha256 = "0jjbkhd3n7rh5q6cl6yy51hyjbxmgm6xj7i2a1d3h2ggrip1zmr9";
   };
 
   inherit python;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
   prePatch = ''
-    sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip':"  \
+    sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip/PyQt5':"  \
       setup/build_environment.py
   '';
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ];
 
   buildInputs =
-    [ python pyqt5 sip_4_16 poppler_utils libpng imagemagick libjpeg
+    [ python pyqt5 sip poppler_utils libpng imagemagick libjpeg
       fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
       pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
       pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     export FC_LIB_DIR=${fontconfig.lib}/lib
     export PODOFO_INC_DIR=${podofo}/include/podofo
     export PODOFO_LIB_DIR=${podofo}/lib
-    export SIP_BIN=${sip_4_16}/bin/sip
+    export SIP_BIN=${sip}/bin/sip
     python setup.py install --prefix=$out
 
     PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py
diff --git a/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch b/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch
index c910be89a5f..522b2e6202c 100644
--- a/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch
+++ b/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch
@@ -3,35 +3,25 @@ Description: do not build unrar extension as we strip unrar from the tarball
 Forwarded: not-needed
 Last-Update: 2013-04-04
 
-Index: calibre/setup/extensions.py
+Index: calibre/setup/extensions.json
 ===================================================================
---- calibre.orig/setup/extensions.py	2014-02-02 10:42:14.510954007 +0100
-+++ calibre/setup/extensions.py	2014-02-02 10:42:14.502954007 +0100
-@@ -209,24 +209,6 @@
-                 sip_files=['calibre/ebooks/pdf/render/qt_hack.sip']
-                 ),
- 
--    Extension('unrar',
--              ['unrar/%s.cpp'%(x.partition('.')[0]) for x in '''
--               rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o
--               filefn.o filcreat.o archive.o arcread.o unicode.o system.o
--               isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o
--               timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o
--               secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o
--               volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o
--               '''.split()] + ['calibre/utils/unrar.cpp'],
--              inc_dirs=['unrar'],
--              cflags=[('/' if iswindows else '-') + x for x in (
--                  'DSILENT', 'DRARDLL', 'DUNRAR')] + (
--                  [] if iswindows else ['-D_FILE_OFFSET_BITS=64',
--                                        '-D_LARGEFILE_SOURCE']),
--              optimize_level=2,
--              libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else []
--              ),
--
-     ]
- 
- 
+--- calibre.orig/setup/extensions.json
++++ calibre/setup/extensions.json
+@@ -211,14 +211,5 @@
+         "sources": "calibre/devices/mtp/unix/devices.c calibre/devices/mtp/unix/libmtp.c",
+         "headers": "calibre/devices/mtp/unix/devices.h calibre/devices/mtp/unix/upstream/music-players.h calibre/devices/mtp/unix/upstream/device-flags.h",
+         "libraries": "mtp"
+-    },
+-    {
+-        "name": "unrar",
+-        "sources": "unrar/rar.cpp unrar/strlist.cpp unrar/strfn.cpp unrar/pathfn.cpp unrar/savepos.cpp unrar/smallfn.cpp unrar/global.cpp unrar/file.cpp unrar/filefn.cpp unrar/filcreat.cpp unrar/archive.cpp unrar/arcread.cpp unrar/unicode.cpp unrar/system.cpp unrar/isnt.cpp unrar/crypt.cpp unrar/crc.cpp unrar/rawread.cpp unrar/encname.cpp unrar/resource.cpp unrar/match.cpp unrar/timefn.cpp unrar/rdwrfn.cpp unrar/consio.cpp unrar/options.cpp unrar/ulinks.cpp unrar/errhnd.cpp unrar/rarvm.cpp unrar/secpassword.cpp unrar/rijndael.cpp unrar/getbits.cpp unrar/sha1.cpp unrar/extinfo.cpp unrar/extract.cpp unrar/volume.cpp unrar/list.cpp unrar/find.cpp unrar/unpack.cpp unrar/cmddata.cpp unrar/filestr.cpp unrar/scantree.cpp calibre/utils/unrar.cpp",
+-        "inc_dirs": "unrar",
+-        "defines": "SILENT RARDLL UNRAR _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE",
+-        "windows_defines": "SILENT RARDLL UNRAR",
+-        "optimize_level": 2,
+-        "windows_libraries": "User32 Advapi32 kernel32 Shell32"
+     }
+ ]
 Index: calibre/src/calibre/ebooks/metadata/archive.py
 ===================================================================
 --- calibre.orig/src/calibre/ebooks/metadata/archive.py	2014-02-02 10:42:14.510954007 +0100
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
index 72049c21b12..4198a9f32b2 100644
--- a/pkgs/applications/misc/cherrytree/default.nix
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, pythonPackages, gettext, pygtksourceview, sqlite }:
+{ stdenv, fetchurl, pythonPackages, gettext, sqlite }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
   [ sqlite3 ];
 
   buildInputs = with pythonPackages;
-  [ python gettext wrapPython pygtk dbus pygtksourceview ];
+  [ python gettext wrapPython pygtk dbus-python pygtksourceview ];
 
   pythonPath = with pythonPackages;
-  [ pygtk dbus pygtksourceview ];
+  [ pygtk dbus-python pygtksourceview ];
 
   patches = [ ./subprocess.patch ];
 
diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix
index 46634e2698c..38cd9dbcc37 100644
--- a/pkgs/applications/misc/ding/default.nix
+++ b/pkgs/applications/misc/ding/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     cp ding.png $out/share/pixmaps/
     cp ding.desktop $out/share/applications/
 
-    wrapProgram $out/bin/ding --prefix PATH : ${gnugrep}/bin:${aspellEnv}/bin:${tk}/bin:${fortune}/bin --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
+    wrapProgram $out/bin/ding --prefix PATH : ${stdenv.lib.makeBinPath [ gnugrep aspellEnv tk fortune ]} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index b0879599833..1dc9fe5e202 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
   inherit patches;
 
   postPatch = ''
-    sed -ri -e 's!\<(dmenu|stest)\>!'"$out/bin"'/&!g' dmenu_run
+    sed -ri -e 's!\<(dmenu|dmenu_path|stest)\>!'"$out/bin"'/&!g' dmenu_run
+    sed -ri -e 's!\<stest\>!'"$out/bin"'/&!g' dmenu_path
   '';
 
   preConfigure = ''
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
index 8063f62341c..ef5b58733b9 100644
--- a/pkgs/applications/misc/emem/default.nix
+++ b/pkgs/applications/misc/emem/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "emem";
-  version = "0.2.23";
+  version = "0.2.27";
   name = "${pname}-${version}";
 
   inherit jdk;
 
   src = fetchurl {
     url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
-    sha256 = "0isvhwczbm5fr8bkq45g9i80s50r4vw92b7f3wdzwx7p5sj48pwj";
+    sha256 = "0zmh152dfgsq2yj14wb3504pyibq4r671q5yz6yy28ihym7qr0fd";
   };
 
   buildInputs = [ ];
diff --git a/pkgs/applications/misc/finalterm/default.nix b/pkgs/applications/misc/finalterm/default.nix
index 9ab9facef5b..1d8412a25f3 100644
--- a/pkgs/applications/misc/finalterm/default.nix
+++ b/pkgs/applications/misc/finalterm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, makeWrapper
-, pkgconfig, cmake, libxml2, vala, intltool, libmx, gnome3, gtk3, gtk_doc
+, pkgconfig, cmake, libxml2, vala_0_23, intltool, libmx, gnome3, gtk3, gtk_doc
 , keybinder3, clutter_gtk, libnotify
 , libxkbcommon, xorg, udev
 , bashInteractive
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    pkgconfig cmake vala intltool gtk3 gnome3.gnome_common gnome3.libgee
+    pkgconfig cmake vala_0_23 intltool gtk3 gnome3.gnome_common gnome3.libgee
     gtk_doc clutter_gtk libmx keybinder3 libxml2 libnotify makeWrapper
     xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence
     libxkbcommon
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
     wrapProgram "$out/bin/finalterm" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share:${gnome3.gtk.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index 4269a116085..9dbfa960544 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, makeWrapper, automake, autoconf, libtool,
   pkgconfig, file, intltool, libxml2, json_glib , sqlite, itstool,
-  vala, gnome3, wrapGAppsHook
+  vala_0_32, gnome3, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     automake autoconf libtool
     file
     intltool
-    vala
+    vala_0_32
     gnome3.yelp_tools
     wrapGAppsHook
   ];
diff --git a/pkgs/applications/misc/gammu/default.nix b/pkgs/applications/misc/gammu/default.nix
index fc88bb3e354..10ee8272f38 100644
--- a/pkgs/applications/misc/gammu/default.nix
+++ b/pkgs/applications/misc/gammu/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   version = "1.33.0";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/gammu/files/gammu/${version}/gammu-${version}.tar.xz";
+    url = "mirror://sourceforge/project/gammu/gammu/${version}/gammu-${version}.tar.xz";
     sha256 = "18gplx1v9d70k1q86d5i4n4dfpx367g34pj3zscppx126vwhv112";
   };
 
diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix
index e5a463bb520..069d07bd82a 100644
--- a/pkgs/applications/misc/get_iplayer/default.nix
+++ b/pkgs/applications/misc/get_iplayer/default.nix
@@ -18,7 +18,7 @@ buildPerlPackage {
   installPhase = '' 
     mkdir -p $out/bin $out/share/man/man1
     cp get_iplayer $out/bin
-    wrapProgram $out/bin/get_iplayer --suffix PATH : ${ffmpeg.bin}/bin:${flvstreamer}/bin:${vlc}/bin:${rtmpdump}/bin --prefix PERL5LIB : $PERL5LIB
+    wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ ffmpeg flvstreamer vlc rtmpdump ]} --prefix PERL5LIB : $PERL5LIB
     cp get_iplayer.1 $out/share/man/man1
   '';
   
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 79393eee7f1..d750aea01ef 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, gtk3, pythonPackages, python, pycairo, pygobject3, intltool,
+{ stdenv, fetchurl, gtk3, pythonPackages, intltool,
   pango, gsettings_desktop_schemas }:
 
-pythonPackages.buildPythonApplication rec {
+let
+  inherit (pythonPackages) python buildPythonApplication;
+in buildPythonApplication rec {
   version = "4.1.1";
   name = "gramps-${version}";
-  namePrefix = "";
 
   buildInputs = [ intltool gtk3 ];
 
@@ -16,7 +17,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0jdps7yx2mlma1hdj64wssvnqd824xdvw0bmn2dnal5fn3h7h060";
   };
 
-  pythonPath = [ pygobject3 pango pycairo pythonPackages.bsddb ];
+  pythonPath = with pythonPackages; [ pygobject3 pycairo bsddb ] ++ [ pango ];
 
   # Same installPhase as in buildPythonApplication but without --old-and-unmanageble
   # install flag.
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index d0ec7b704ac..21a551bd631 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -11,12 +11,14 @@ gconftool-2 --recursive-unset /apps/guake
 */
 { stdenv, fetchurl, lib
 , pkgconfig, libtool, intltool, makeWrapper
-, dbus, gtk2, gconf, python2, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }:
+, dbus, gtk2, gconf, python2Packages, libutempter, vte, keybinder, gnome2, gnome3 }:
 
 with lib;
 
-let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_common ];
-    pyPath = makeSearchPathOutput "lib" python2.sitePackages (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
+let
+  inherit (python2Packages) python;
+  inputs = [ dbus gtk2 gconf python libutempter vte keybinder gnome3.gnome_common ];
+  pyPath = makeSearchPathOutput "lib" python.sitePackages (attrVals [ "dbus-python" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
  in stdenv.mkDerivation rec {
   name = "guake-${version}";
   version = "0.8.3";
@@ -60,11 +62,11 @@ let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_co
   postFixup = ''
     for bin in $out/bin/{guake,guake-prefs}; do
       substituteInPlace $bin \
-        --replace '/usr/bin/env python2' ${python2}/bin/python2
+        --replace '/usr/bin/env python2' ${python.interpreter}
       wrapProgram $bin \
         --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
         --prefix LD_LIBRARY_PATH : ${makeLibraryPath inputs} \
-        --prefix PYTHONPATH : "$out/${python2.sitePackages}:${pyPath}:$PYTHONPATH"
+        --prefix PYTHONPATH : "$out/${python.sitePackages}:${pyPath}:$PYTHONPATH"
     done
   '';
 
diff --git a/pkgs/applications/misc/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix
index 1732a7e1fb0..aa6a4bd689a 100644
--- a/pkgs/applications/misc/hamster-time-tracker/default.nix
+++ b/pkgs/applications/misc/hamster-time-tracker/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchzip, buildPythonApplication, docbook2x, libxslt, gnome_doc_utils
-, intltool, dbus_glib, pygobject, pygtk, pyxdg, gnome_python, dbus, sqlite3
+{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome_doc_utils
+, intltool, dbus_glib, gnome_python, dbus
 , hicolor_icon_theme
 }:
 
@@ -8,9 +8,8 @@
 #
 #   WARNING:root:Could not import wnck - workspace tracking will be disabled
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "hamster-time-tracker-1.04";
-  namePrefix = "";
 
   src = fetchzip {
     name = "${name}-src";
@@ -22,7 +21,7 @@ buildPythonApplication rec {
     docbook2x libxslt gnome_doc_utils intltool dbus_glib hicolor_icon_theme
   ];
 
-  propagatedBuildInputs = [ pygobject pygtk pyxdg gnome_python dbus sqlite3 ];
+  propagatedBuildInputs = with pythonPackages; [ pygobject pygtk pyxdg gnome_python dbus-python sqlite3 ];
 
   configurePhase = ''
     python waf configure --prefix="$out"
diff --git a/pkgs/applications/misc/hugo/deps.json b/pkgs/applications/misc/hugo/deps.json
index 47f67d4269c..53967d1bff0 100644
--- a/pkgs/applications/misc/hugo/deps.json
+++ b/pkgs/applications/misc/hugo/deps.json
@@ -1,44 +1,317 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-        "gopkg.in/yaml.v2",
-        "github.com/hashicorp/hcl",
-        "github.com/pkg/sftp",
-        "golang.org/x/sys",
-        "github.com/hashicorp/go-multierror",
-        "golang.org/x/crypto",
-        "github.com/pkg/errors",
-        "github.com/kr/fs",
-        "github.com/kyokomi/emoji",
-        "github.com/bep/inflect",
-        "github.com/BurntSushi/toml",
-        "github.com/PuerkitoBio/purell",
-        "github.com/PuerkitoBio/urlesc",
-        "github.com/dchest/cssmin",
-        "github.com/eknkc/amber",
-        "github.com/gorilla/websocket",
-        "github.com/kardianos/osext",
-        "github.com/miekg/mmark",
-        "github.com/mitchellh/mapstructure",
-        "github.com/russross/blackfriday",
-        "github.com/shurcooL/sanitized_anchor_name",
-        "github.com/spf13/afero",
-        "github.com/spf13/cast",
-        "github.com/spf13/jwalterweatherman",
-        "github.com/spf13/cobra",
-        "github.com/cpuguy83/go-md2man",
-        "github.com/inconshreveable/mousetrap",
-        "github.com/spf13/pflag",
-        "github.com/spf13/fsync",
-        "github.com/spf13/viper",
-        "github.com/kr/pretty",
-        "github.com/kr/text",
-        "github.com/magiconair/properties",
-        "golang.org/x/text",
-        "github.com/yosssi/ace",
-        "github.com/spf13/nitro",
-        "github.com/fsnotify/fsnotify"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/sys",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/sys",
+            "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f",
+            "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/gorilla/websocket",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gorilla/websocket",
+            "rev": "a622679ebd7a3b813862379232f645f8e690e43f",
+            "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"
+        }
+    },
+    {
+        "goPackagePath": "github.com/inconshreveable/mousetrap",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/inconshreveable/mousetrap",
+            "rev": "9dbb96d2c3a964935b0870b5abaea13c98b483aa",
+            "sha256": "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kardianos/osext",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kardianos/osext",
+            "rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc",
+            "sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/hcl",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/hcl",
+            "rev": "54864211433d45cb780682431585b3e573b49e4a",
+            "sha256": "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/go-multierror",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/go-multierror",
+            "rev": "56912fb08d85084aa318edcf2bba735b97cf35c5",
+            "sha256": "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r"
+        }
+    },
+    {
+        "goPackagePath": "github.com/BurntSushi/toml",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/BurntSushi/toml",
+            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
+            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mitchellh/mapstructure",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mitchellh/mapstructure",
+            "rev": "281073eb9eb092240d33ef253c404f1cca550309",
+            "sha256": "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/text",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/text",
+            "rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e",
+            "sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"
+        }
+    },
+    {
+        "goPackagePath": "github.com/shurcooL/sanitized_anchor_name",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/shurcooL/sanitized_anchor_name",
+            "rev": "10ef21a441db47d8b13ebcc5fd2310f636973c77",
+            "sha256": "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"
+        }
+    },
+    {
+        "goPackagePath": "github.com/russross/blackfriday",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/russross/blackfriday",
+            "rev": "d18b67ae0afd61dae240896eae1785f00709aa31",
+            "sha256": "1l78hz8k1ixry5fjw29834jz1q5ysjcpf6kx2ggjj1s6xh0bfzvf"
+        }
+    },
+    {
+        "goPackagePath": "github.com/yosssi/ace",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/yosssi/ace",
+            "rev": "71afeb714739f9d5f7e1849bcd4a0a5938e1a70d",
+            "sha256": "15k7ji8m3nqbwhnsvp82j4qa45sgvwv2giliw2xkdwi2g7mfrn8k"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/viper",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/viper",
+            "rev": "c1ccc378a054ea8d4e38d8c67f6938d4760b53dd",
+            "sha256": "0lpdzalqhqp9pwsg63inkxwjji7m0pp42ryw1499bqbjp97hriq0"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/pflag",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/pflag",
+            "rev": "367864438f1b1a3c7db4da06a2f55b144e6784e0",
+            "sha256": "03c6654hv4v1fj79i5sri3p9q2afqgicka4nicb6fr4kcfkkgbfp"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/jwalterweatherman",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/jwalterweatherman",
+            "rev": "33c24e77fb80341fe7130ee7c594256ff08ccc46",
+            "sha256": "1knvzspqzc2bh58q16zggzc8gcabjp5gr7zk4k7nx5ij4092cg0z"
+        }
+    },
+    {
+        "goPackagePath": "github.com/fsnotify/fsnotify",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/fsnotify/fsnotify",
+            "rev": "30411dbcefb7a1da7e84f75530ad3abe4011b4f8",
+            "sha256": "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm"
+        }
+    },
+    {
+        "goPackagePath": "github.com/magiconair/properties",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/magiconair/properties",
+            "rev": "c265cfa48dda6474e208715ca93e987829f572f8",
+            "sha256": "1ab9ywwsrdq5mvrcwl7m3276y1q4dfwinbv88vgpqwcqai9wkpp3"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bep/inflect",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bep/inflect",
+            "rev": "b896c45f5af983b1f416bdf3bb89c4f1f0926f69",
+            "sha256": "0drv6in94n7lmap4ajvgqlvdcbpn8alinfdzywzpihvzbx21b3h3"
+        }
+    },
+    {
+        "goPackagePath": "github.com/eknkc/amber",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/eknkc/amber",
+            "rev": "91774f050c1453128146169b626489e60108ec03",
+            "sha256": "1rb8bm35h8a77q4py6r3818cpwh7kpq1kh2ib2rb4i5s7z75ciis"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/afero",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/afero",
+            "rev": "1a8ecf8b9da1fb5306e149e83128fc447957d2a8",
+            "sha256": "1nrg0gmqnl4h6zjmi4mdhrwnl3l34nzxpq2hsr3nizfvrx5gqbzw"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/cast",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/cast",
+            "rev": "27b586b42e29bec072fe7379259cc719e1289da6",
+            "sha256": "1y73pfxdvm1bfpghwsfxj8gl4miv6fpzi9azxcknp6rcjn1gmq0x"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/cobra",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/cobra",
+            "rev": "bc81c21bd0d8be5ba2d6630a505d79d4467566e7",
+            "sha256": "1sp8gl25cjx0yibh6q1i8d5rbxpwaal3z8vz372wfmbz002say8r"
+        }
+    },
+    {
+        "goPackagePath": "github.com/dchest/cssmin",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/dchest/cssmin",
+            "rev": "fb8d9b44afdc258bfff6052d3667521babcb2239",
+            "sha256": "09sdijfx5d05z4cd5k6lhl7k3kbpdf2amzlngv15h5v0fff9qw4s"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/fsync",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/fsync",
+            "rev": "eefee59ad7de621617d4ff085cf768aab4b919b1",
+            "sha256": "0d56xdczawikyczc12i661qc79dbv4q8ihlj4p20zsjkyxxym59p"
+        }
+    },
+    {
+        "goPackagePath": "github.com/cpuguy83/go-md2man",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/cpuguy83/go-md2man",
+            "rev": "2724a9c9051aa62e9cca11304e7dd518e9e41599",
+            "sha256": "1j2bigs7ixy20cdqd246nxr417md2qcyvkfk3x94992cr88d0vyj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/miekg/mmark",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/miekg/mmark",
+            "rev": "adb5c3e2e9f3e7da9bd25291edda8e66c0045a2a",
+            "sha256": "0fycz17fj37fh95lfshdrfwrgkzi3hl1kgnily0cxc9zwfbap3qa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/spf13/nitro",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/spf13/nitro",
+            "rev": "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8",
+            "sha256": "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib"
+        }
+    },
+    {
+        "goPackagePath": "github.com/PuerkitoBio/purell",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/PuerkitoBio/purell",
+            "rev": "1d5d1cfad45d42ec5f81fa8ef23de09cebc6dcc3",
+            "sha256": "12k82576ka21c6572yy2v81kxpjrgf9mffjlz469g3vs0g3nkwlb"
+        }
+    },
+    {
+        "goPackagePath": "github.com/pkg/sftp",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/pkg/sftp",
+            "rev": "d4c18e7ffdc496a38de67dde6e29b2f364afc472",
+            "sha256": "0cnl83k317gxskayfj3xwr4bl0vcbjvlwi3q0vjwvircynb6xscj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kr/fs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kr/fs",
+            "rev": "2788f0dbd16903de03cb8186e5c7d97b69ad387b",
+            "sha256": "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kyokomi/emoji",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kyokomi/emoji",
+            "rev": "17c5e7085c9d59630aa578df67f4469481fbe7a9",
+            "sha256": "0qs4mi7z1lghiyiw7s2bz5y959wj9ifmhyqh39xwqk69d690jwlp"
+        }
+    },
+    {
+        "goPackagePath": "github.com/pkg/errors",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/pkg/errors",
+            "rev": "494e70f7620561491c2ca11e185bbef4b70060da",
+            "sha256": "0a0961ixl67vryhnzyzhai357c9n9a7v3vpkpqrh32spn033gjd9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/PuerkitoBio/urlesc",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/PuerkitoBio/urlesc",
+            "rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587",
+            "sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni"
+        }
+    }
 ]
diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix
index 3de37fdbf20..bd0118c75f4 100644
--- a/pkgs/applications/misc/kiwix/default.nix
+++ b/pkgs/applications/misc/kiwix/default.nix
@@ -1,9 +1,7 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, zip, python
-, zlib, xapian, which , icu, libmicrohttpd , lzma, zimlib
-, ctpp2, aria2, wget , bc, libuuid , glibc, libX11
-, libXext, libXt, libXrender , glib, dbus, dbus_glib, gtk
-, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib
-, atk
+{ stdenv, callPackage, overrideCC, fetchurl, makeWrapper, pkgconfig
+, zip, python, zlib, which, icu, libmicrohttpd, lzma, ctpp2, aria2, wget, bc
+, libuuid, glibc, libX11, libXext, libXt, libXrender, glib, dbus, dbus_glib
+, gtk, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib, atk
 }:
 
 let
@@ -31,6 +29,9 @@ let
     sha256 = "0sqk0vdwjq44jxbbkj1cy8qykrmafs1sickzldb2w2nshsnjshhg";
   };
 
+  xapian = callPackage ../../../development/libraries/xapian { inherit stdenv; };
+  zimlib = callPackage ../../../development/libraries/zimlib { inherit stdenv; };
+
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -97,7 +98,7 @@ stdenv.mkDerivation rec {
 
     rm $out/bin/kiwix
     makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \
-      --suffix LD_LIBRARY_PATH : `cat ${stdenv.cc}/nix-support/orig-cc`/lib:${makeLibraryPath [libX11 libXext libXt libXrender glib dbus dbus_glib gtk gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \
+      --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus_glib gtk gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \
       --suffix PATH : ${aria2}/bin
   '';
 
@@ -106,6 +107,5 @@ stdenv.mkDerivation rec {
     homepage = http://kiwix.org;
     license = licenses.gpl3;
     maintainers = with maintainers; [ robbinch ];
-    broken = true;
   };
 }
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 04ad52175ff..5b764912f73 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
   dontStrip = true;
 
   configurePhase = ''
-    sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype}/include+' build.sh
+    sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype.dev}/include+' build.sh
     sed -i -e 's+-lmupdf +-lfreetype -lz -lharfbuzz -ljbig2dec -lopenjp2 -ljpeg -lmupdf +' build.sh
     sed -i -e 's+-L\$srcdir/mupdf/build/native ++' build.sh
   '';
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix
index 80d0c136628..d9b03fd86e1 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/misc/mlterm/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "3.3.8";
 
   src = fetchurl {
-    url = "https://downloads.sourceforge.net/project/mlterm/01release/${name}/${name}.tar.gz";
+    url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz";
     sha256 = "088pgxynzxxii7wdmjp2fdkxydirx4k05588zkhlzalkb5l8ji1i";
   };
 
diff --git a/pkgs/applications/misc/mop/deps.json b/pkgs/applications/misc/mop/deps.json
index e1b40df8310..d2c59589dc2 100644
--- a/pkgs/applications/misc/mop/deps.json
+++ b/pkgs/applications/misc/mop/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/nsf/termbox-go"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/nsf/termbox-go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/nsf/termbox-go",
+            "rev": "9aecf65084a5754f12d27508fa2e6ed56851953b",
+            "sha256": "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"
+        }
+    }
 ]
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 1724b0d612f..e6a51560675 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -18,17 +18,32 @@ stdenv.mkDerivation rec {
       url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e;hp=fa1936405b6a84e5c9bb440912c23d532772f958";
       sha256 = "1g9fkd1f5rx1z043vr9dj4934qf7i4nkvbwjc61my9azjrrc3jv7";
     })
+    # Compatibility with new openjpeg
+    (fetchpatch {
+      name = "mupdf-1.5-openjpeg-2.1.0.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.5-openjpeg-2.1.0.patch?h=packages/mupdf&id=ca5e3ef6c7788ccfb6011d785078bc47762f19e5";
+      sha256 = "0f18793q9fd22h3lclm8wahvc8az4v08an6lzy8mczrkl8mcgm3k";
+    })
   ];
 
   NIX_CFLAGS_COMPILE= [ "-fPIC" ];
+  makeFlags = [ "prefix=$(out)" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ zlib freetype libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama ];
+  buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ];
+  outputs = [ "out" "bin" "doc" ];
 
-  installPhase = ''
-    make install prefix=$out
-    gcc -shared -o $out/lib/libmupdf.so.${version} -Wl,--whole-archive $out/lib/libmupdf.a -Wl,--no-whole-archive
+  preConfigure = ''
+    # Don't remove mujs because upstream version is incompatible
+    rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,jpeg,openjpeg,zlib}
+  '';
 
-    ln -s $out/lib/libmupdf.so.${version} $out/lib/libmupdf.so
+  postInstall = ''
+    for i in $out/lib/*.a; do
+      so="''${i%.a}.so"
+      gcc -shared -o $so.${version} -Wl,--whole-archive $i -Wl,--no-whole-archive
+      ln -s $so.${version} $so
+      rm $i
+    done
 
     mkdir -p "$out/lib/pkgconfig"
     cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
@@ -38,23 +53,24 @@ stdenv.mkDerivation rec {
 
     Name: mupdf
     Description: Library for rendering PDF documents
-    Requires: freetype2 libopenjp2 libcrypto
     Version: ${version}
-    Libs: -L$out/lib -lmupdf
+    Libs: -L$out/lib -lmupdf -lmupdfthird
     Cflags: -I$out/include
     EOF
 
-    mkdir -p $out/share/applications
-    cat > $out/share/applications/mupdf.desktop <<EOF
+    moveToOutput "bin" "$bin"
+    mkdir -p $bin/share/applications
+    cat > $bin/share/applications/mupdf.desktop <<EOF
     [Desktop Entry]
     Type=Application
     Version=1.0
     Name=mupdf
     Comment=PDF viewer
-    Exec=$out/bin/mupdf-x11 %f
+    Exec=$bin/bin/mupdf-x11 %f
     Terminal=false
     EOF
   '';
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix
index 056edd801c0..775d344643e 100644
--- a/pkgs/applications/misc/mysql-workbench/default.nix
+++ b/pkgs/applications/misc/mysql-workbench/default.nix
@@ -3,10 +3,13 @@
 , libctemplate, libglade
 , libiodbc
 , libgnome, libsigcxx, libuuid, libxml2, libzip, lua, mesa, mysql
-, pango, paramiko, pcre, pexpect, pkgconfig, pycrypto, python, sqlite, sudo
+, pango, pcre, pkgconfig, sqlite, sudo
+, pythonPackages
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) pexpect pycrypto python paramiko;
+in stdenv.mkDerivation rec {
   pname = "mysql-workbench";
   version = "5.2.47";
   name = "${pname}-${version}";
diff --git a/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch b/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
deleted file mode 100644
index 54116b80a6e..00000000000
--- a/pkgs/applications/misc/octoprint/0001-Don-t-use-static-library.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 0be3198cccf753226758684955f49a32d8d920c0 Mon Sep 17 00:00:00 2001
-From: Nikolay Amiantov <ab@fmap.me>
-Date: Wed, 17 Feb 2016 14:37:31 +0300
-Subject: [PATCH] Don't use static library
-
----
- octoprint_m3dfio/__init__.py   | 67 +-----------------------------------------
- shared library source/Makefile |  6 ++--
- 2 files changed, 5 insertions(+), 68 deletions(-)
-
-diff --git a/octoprint_m3dfio/__init__.py b/octoprint_m3dfio/__init__.py
-index a2ca533..43f178a 100644
---- a/octoprint_m3dfio/__init__.py
-+++ b/octoprint_m3dfio/__init__.py
-@@ -793,72 +793,7 @@ class M3DFioPlugin(
- 		# Set file locations
- 		self.setFileLocations()
- 		
--		# Check if running on Linux
--		if platform.uname()[0].startswith("Linux") :
--		
--			# Check if running on a Raspberry Pi 1
--			if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm1176jzf-s.so")
--			
--			# Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
--			elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm_cortex-a7.so")
--			
--			# Otherwise check if running on an ARM7 device
--			elif platform.uname()[4].startswith("armv7") :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm7.so")
--			
--			# Otherwise check if using an i386 or x86-64 device
--			elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") :
--		
--				# Check if Python is running as 32-bit
--				if platform.architecture()[0].startswith("32") :
--				
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.so")
--			
--				# Otherwise check if Python is running as 64-bit
--				elif platform.architecture()[0].startswith("64") :
--				
--					# Set shared library
--					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.so")
--		
--		# Otherwise check if running on Windows and using an i386 or x86-64 device
--		elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
--		
--			# Check if Python is running as 32-bit
--			if platform.architecture()[0].startswith("32") :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dll")
--		
--			# Otherwise check if Python is running as 64-bit
--			elif platform.architecture()[0].startswith("64") :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dll")
--		
--		# Otherwise check if running on OS X and using an i386 or x86-64 device
--		elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
--		
--			# Check if Python is running as 32-bit
--			if platform.architecture()[0].startswith("32") :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dylib")
--		
--			# Otherwise check if Python is running as 64-bit
--			elif platform.architecture()[0].startswith("64") :
--			
--				# Set shared library
--				self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dylib")
--		
-+		self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/../../../libpreprocessor.so")
- 		# Check if shared library was set
- 		if self.sharedLibrary :
- 		
-diff --git a/shared library source/Makefile b/shared library source/Makefile
-index 9d015a1..a24f134 100644
---- a/shared library source/Makefile	
-+++ b/shared library source/Makefile	
-@@ -58,13 +58,15 @@ ifeq ($(TARGET_PLATFORM), OSX64)
- 	CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
- endif
- 
-+PROG = lib$(LIBRARY_NAME).so
-+CC = g++
- SRCS = preprocessor.cpp gcode.cpp vector.cpp
--CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared
-+CFLAGS = -O3 -fPIC -Wall -std=c++11 -fvisibility=hidden -shared
- 
- all: $(PROG)
- 
- $(PROG):   $(SRCS)
--	$(CC) $(CFLAGS) -o ../octoprint_m3dfio/static/libraries/$(PROG) $(SRCS)
-+	$(CC) $(CFLAGS) -o $(PROG) $(SRCS)
- 
- clean:
- 	rm -f ../octoprint_m3dfio/static/libraries/$(PROG)
--- 
-2.7.1
-
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 3178ea5684d..b39b73c830f 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -2,41 +2,44 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "OctoPrint-${version}";
-  version = "1.2.10";
+  version = "1.2.15";
 
   src = fetchFromGitHub {
     owner = "foosel";
     repo = "OctoPrint";
     rev = version;
-    sha256 = "1ips1083c4qrfnkssvp1lxrs92svlid29l225ifsymrinpbjawav";
+    sha256 = "0qfragp7n8m7l5l30s5fz1x7xzini2sdh2y3m1ahs7ay8zp4xk56";
   };
 
   # We need old Tornado
   propagatedBuildInputs = with pythonPackages; [
-    awesome-slugify flask_assets watchdog rsa requests2 pkginfo pylru
-    semantic-version flask_principal sarge tornado_4_0_1 werkzeug netaddr flaskbabel
-    netifaces psutil pyserial flask_login pyyaml sockjs-tornado
+    awesome-slugify flask_assets rsa requests2 pkginfo watchdog
+    semantic-version flask_principal werkzeug flaskbabel tornado_4_0_1
+    psutil pyserial flask_login netaddr markdown sockjs-tornado
+    pylru pyyaml sarge feedparser netifaces
   ];
 
+  # Jailbreak dependencies.
+  # Currently broken for new: tornado, pyserial, flask_login
   postPatch = ''
-    # Jailbreak dependencies
     sed -i \
-      -e 's,rsa==,rsa>=,g' \
-      -e 's,sockjs-tornado==,sockjs-tornado>=,g' \
-      -e 's,Flask-Principal==,Flask-Principal>=,g' \
-      -e 's,werkzeug==,werkzeug>=,g' \
-      -e 's,netaddr==,netaddr>=,g' \
-      -e 's,requests==,requests>=,g' \
-      -e 's,netifaces==,netifaces>=,g' \
-      -e 's,psutil==,psutil>=,g' \
-      -e 's,PyYAML==,PyYAML>=,g' \
+      -e 's,werkzeug>=[^"]*,werkzeug,g' \
+      -e 's,requests>=[^"]*,requests,g' \
+      -e 's,pkginfo>=[^"]*,pkginfo,g' \
+      -e 's,semantic_version>=[^"]*,semantic_version,g' \
+      -e 's,psutil>=[^"]*,psutil,g' \
+      -e 's,Flask-Babel>=[^"]*,Flask-Babel,g' \
+      -e 's,Flask-Principal>=[^"]*,Flask-Principal,g' \
+      -e 's,markdown>=[^"]*,markdown,g' \
+      -e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \
+      -e 's,rsa>=[^"]*,rsa,g' \
+      -e 's,PyYAML>=[^"]*,PyYAML,g' \
       setup.py
   '';
 
   meta = with stdenv.lib; {
     homepage = "http://octoprint.org/";
     description = "The snappy web interface for your 3D printer";
-    platforms = platforms.all;
     license = licenses.agpl3;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch
new file mode 100644
index 00000000000..968983696fe
--- /dev/null
+++ b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch
@@ -0,0 +1,161 @@
+From 62b4fabd1d4ee7a584a565d48c7eaec6e80fe0bd Mon Sep 17 00:00:00 2001
+From: Nikolay Amiantov <ab@fmap.me>
+Date: Fri, 12 Aug 2016 23:41:22 +0300
+Subject: [PATCH] Build and use one version of preprocessor library
+
+---
+ octoprint_m33fio/__init__.py   | 66 +-----------------------------------------
+ shared library source/Makefile | 59 +++----------------------------------
+ 2 files changed, 5 insertions(+), 120 deletions(-)
+
+diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py
+index da539f5..b0a17ad 100755
+--- a/octoprint_m33fio/__init__.py
++++ b/octoprint_m33fio/__init__.py
+@@ -979,71 +979,7 @@ class M33FioPlugin(
+ 		# Check if using shared library or checking if it is usable
+ 		if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable :
+ 	
+-			# Check if running on Linux
+-			if platform.uname()[0].startswith("Linux") :
+-
+-				# Check if running on a Raspberry Pi 1
+-				if platform.uname()[4].startswith("armv6l") and self.getCpuHardware() == "BCM2708" :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm1176jzf-s.so")
+-	
+-				# Otherwise check if running on a Raspberry Pi 2 or Raspberry Pi 3
+-				elif platform.uname()[4].startswith("armv7l") and self.getCpuHardware() == "BCM2709" :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm_cortex-a7.so")
+-	
+-				# Otherwise check if running on an ARM7 device
+-				elif platform.uname()[4].startswith("armv7") :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_arm7.so")
+-	
+-				# Otherwise check if using an i386 or x86-64 device
+-				elif platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64") :
+-
+-					# Check if Python is running as 32-bit
+-					if platform.architecture()[0].startswith("32") :
+-		
+-						# Set shared library
+-						self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.so")
+-	
+-					# Otherwise check if Python is running as 64-bit
+-					elif platform.architecture()[0].startswith("64") :
+-		
+-						# Set shared library
+-						self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.so")
+-
+-			# Otherwise check if running on Windows and using an i386 or x86-64 device
+-			elif platform.uname()[0].startswith("Windows") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
+-
+-				# Check if Python is running as 32-bit
+-				if platform.architecture()[0].startswith("32") :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dll")
+-
+-				# Otherwise check if Python is running as 64-bit
+-				elif platform.architecture()[0].startswith("64") :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dll")
+-
+-			# Otherwise check if running on OS X and using an i386 or x86-64 device
+-			elif platform.uname()[0].startswith("Darwin") and (platform.uname()[4].endswith("86") or platform.uname()[4].endswith("64")) :
+-
+-				# Check if Python is running as 32-bit
+-				if platform.architecture()[0].startswith("32") :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_i386.dylib")
+-
+-				# Otherwise check if Python is running as 64-bit
+-				elif platform.architecture()[0].startswith("64") :
+-	
+-					# Set shared library
+-					self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dylib")
++			self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so")
+ 
+ 			# Check if shared library was set
+ 			if self.sharedLibrary :
+diff --git a/shared library source/Makefile b/shared library source/Makefile
+index a43d657..0b254aa 100755
+--- a/shared library source/Makefile	
++++ b/shared library source/Makefile	
+@@ -1,62 +1,11 @@
+ # Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, OSX32, OSX64
+-LIBRARY_NAME = preprocessor
++LIBRARY_NAME = libpreprocessor
+ TARGET_PLATFORM = LINUX64
+ VER = .1
+ 
+-ifeq ($(TARGET_PLATFORM), LINUX32)
+-	PROG = $(LIBRARY_NAME)_i386.so
+-	CC = g++
+-	CFLAGS = -fPIC -m32 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), LINUX64)
+-	PROG = $(LIBRARY_NAME)_x86-64.so
+-	CC = g++
+-	CFLAGS = -fPIC -m64 -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), WINDOWS32)
+-	PROG = $(LIBRARY_NAME)_i386.dll
+-	CC = i686-w64-mingw32-g++
+-	CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), WINDOWS64)
+-	PROG = $(LIBRARY_NAME)_x86-64.dll
+-	CC = x86_64-w64-mingw32-g++
+-	CFLAGS = -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), PI)
+-	PROG = $(LIBRARY_NAME)_arm1176jzf-s.so
+-	CC = ~/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
+-	CFLAGS = -fPIC -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), PI2)
+-	PROG = $(LIBRARY_NAME)_arm_cortex-a7.so
+-	CC = ~/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
+-	CFLAGS = -fPIC -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), ARM7)
+-	PROG = $(LIBRARY_NAME)_arm7.so
+-	CC = ~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++
+-	CFLAGS = -fPIC -mcpu=generic-armv7-a -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), OSX32)
+-	PROG = $(LIBRARY_NAME)_i386.dylib
+-	CC = clang++
+-	CFLAGS = -fPIC -m32 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
+-
+-endif
+-
+-ifeq ($(TARGET_PLATFORM), OSX64)
+-	PROG = $(LIBRARY_NAME)_x86-64.dylib
+-	CC = clang++
+-	CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER)
+-endif
++PROG = $(LIBRARY_NAME).so
++CC = g++
++CFLAGS = -fPIC -O3 -Wl,-soname,$(PROG)$(VER)
+ 
+ SRCS = preprocessor.cpp gcode.cpp vector.cpp
+ CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared
+-- 
+2.9.2
+
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 852ec5b444d..3c07bfa80e8 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -4,79 +4,84 @@ let
   buildPlugin = args: pythonPackages.buildPythonApplication (args // {
     buildInputs = (args.buildInputs or []) ++ [ octoprint ];
   });
-in {
 
-  m3d-fio = buildPlugin rec {
-    name = "M3D-Fio-${version}";
-    version = "0.32";
+  self = {
 
-    src = fetchFromGitHub {
-      owner = "donovan6000";
-      repo = "M3D-Fio";
-      rev = "V${version}";
-      sha256 = "1s15nx6v56yjwd88b19fx0gk1l0abp76nz10yicspdn91fpr1sf4";
-    };
+    # Deprecated alias
+    m3d-fio = self.m33-fio; # added 2016-08-13
 
-    patches = [
-      ./0001-Don-t-use-static-library.patch
-    ];
-
-    postInstall = ''
-    (
-      cd 'shared library source'
-      make
-      install -Dm755 libpreprocessor.so $out/lib/libpreprocessor.so
-    )
-    rm -rf $out/${pythonPackages.python.sitePackages}/octoprint_m3dfio/static/libraries
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/donovan6000/M3D-Fio";
-      description = "OctoPrint plugin for the Micro 3D printer";
-      platforms = platforms.all;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ abbradar ];
-    };
-  };
+    m33-fio = buildPlugin rec {
+      name = "M33-Fio-${version}";
+      version = "1.5";
 
-  titlestatus = buildPlugin rec {
-    name = "OctoPrint-TitleStatus-${version}";
-    version = "0.0.4";
+      src = fetchFromGitHub {
+        owner = "donovan6000";
+        repo = "M33-Fio";
+        rev = "V${version}";
+        sha256 = "0ss8ic9l5srb5wj2mj0qafam0z4d6zv0cixhxgghh03fp0lvwjyq";
+      };
 
-    src = fetchFromGitHub {
-      owner = "MoonshineSG";
-      repo = "OctoPrint-TitleStatus";
-      rev = version;
-      sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
-    };
+      patches = [
+        ./m33-fio-one-library.patch
+      ];
+
+      postPatch = ''
+        rm -rf octoprint_m33fio/static/libraries/*
+        (
+          cd 'shared library source'
+          make
+        )
+      '';
 
-    meta = with stdenv.lib; {
-      homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus;
-      description = "Show printers status in window title";
-      platforms = platforms.all;
-      license = licenses.agpl3;
-      maintainers = with maintainers; [ abbradar ];
+      meta = with stdenv.lib; {
+        homepage = "https://github.com/donovan6000/M3D-Fio";
+        description = "OctoPrint plugin for the Micro 3D printer";
+        platforms = platforms.all;
+        license = licenses.gpl3;
+        maintainers = with maintainers; [ abbradar ];
+      };
     };
-  };
 
-  stlviewer = buildPlugin rec {
-    name = "OctoPrint-STLViewer-${version}";
-    version = "0.3.0";
+    titlestatus = buildPlugin rec {
+      name = "OctoPrint-TitleStatus-${version}";
+      version = "0.0.4";
+
+      src = fetchFromGitHub {
+        owner = "MoonshineSG";
+        repo = "OctoPrint-TitleStatus";
+        rev = version;
+        sha256 = "1l78xrabn5hcly2mgxwi17nwgnp2s6jxi9iy4wnw8k8icv74ag7k";
+      };
 
-    src = fetchFromGitHub {
-      owner = "jneilliii";
-      repo = "OctoPrint-STLViewer";
-      rev = "v${version}";
-      sha256 = "1a6sa8pw9ay7x27pfwr3nzb22x3jaw0c9vwyz4mrj76zkiw6svfi";
+      meta = with stdenv.lib; {
+        homepage = "https://github.com/MoonshineSG/OctoPrint-TitleStatus";
+        description = "Show printers status in window title";
+        platforms = platforms.all;
+        license = licenses.agpl3;
+        maintainers = with maintainers; [ abbradar ];
+      };
     };
 
-    meta = with stdenv.lib; {
-      homepage = https://github.com/jneilliii/Octoprint-STLViewer;
-      description = "A simple stl viewer tab for OctoPrint";
-      platforms = platforms.all;
-      license = licenses.agpl3;
-      maintainers = with maintainers; [ abbradar ];
+    stlviewer = buildPlugin rec {
+      name = "OctoPrint-STLViewer-${version}";
+      version = "0.3.0";
+
+      src = fetchFromGitHub {
+        owner = "jneilliii";
+        repo = "OctoPrint-STLViewer";
+        rev = "v${version}";
+        sha256 = "1a6sa8pw9ay7x27pfwr3nzb22x3jaw0c9vwyz4mrj76zkiw6svfi";
+      };
+
+      meta = with stdenv.lib; {
+        homepage = "https://github.com/jneilliii/Octoprint-STLViewer";
+        description = "A simple stl viewer tab for OctoPrint";
+        platforms = platforms.all;
+        license = licenses.agpl3;
+        maintainers = with maintainers; [ abbradar ];
+      };
     };
+
   };
 
-}
+in self
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index 7dceaeb8a96..96ad943ad57 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala_0_26, gtk3, libgee
 , poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ gstreamer gst-plugins-base vala gtk3 libgee poppler
+  buildInputs = [ gstreamer gst-plugins-base vala_0_26 gtk3 libgee poppler
                   libpthreadstubs makeWrapper librsvg ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/pgadmin/default.nix b/pkgs/applications/misc/pgadmin/default.nix
index 72185848e4a..1358e1f195a 100644
--- a/pkgs/applications/misc/pgadmin/default.nix
+++ b/pkgs/applications/misc/pgadmin/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-libxml2=${libxml2}"
-    "--with-libxslt=${libxslt}"
+    "--with-libxslt=${libxslt.dev}"
   ];
 
   meta = with stdenv.lib; { 
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
index 27a55f4464f..34144e35bd5 100644
--- a/pkgs/applications/misc/printrun/default.nix
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -11,7 +11,7 @@ python27Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python27Packages; [
-    wxPython30 pyserial dbus psutil numpy pyopengl pyglet cython
+    wxPython30 pyserial dbus-python psutil numpy pyopengl pyglet cython
   ];
 
   doCheck = false;
diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix
index 491f09943b5..d6ff999b23d 100644
--- a/pkgs/applications/misc/rofi/default.nix
+++ b/pkgs/applications/misc/rofi/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, libX11, libxkbcommon, pango
-, cairo, glib, libxcb, xcbutil, xcbutilwm, libstartup_notification
-, i3Support ? false, i3
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libxkbcommon, pango
+, cairo, glib, libxcb, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.0";
+  version = "1.2.0";
   name = "rofi-${version}";
 
   src = fetchurl {
     url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.xz";
-    sha256 = "1l8vl0mh7i0b1ycifqpg6392f5i4qxlv003m126skfk6fnlfq8hn";
+    sha256 = "0xxx0xpxhrhlhi2axq9867zqrhwqavc1qrr833k1xr0pvm5m0aqc";
   };
 
   preConfigure = ''
@@ -18,9 +17,10 @@ stdenv.mkDerivation rec {
     sed -i 's/~root/~nobody/g' test/helper-expand.c
   '';
 
-  buildInputs = [ autoreconfHook pkgconfig libX11 libxkbcommon pango
-    cairo libstartup_notification libxcb xcbutil xcbutilwm
-  ] ++ stdenv.lib.optional i3Support i3;
+  buildInputs = [ autoreconfHook pkgconfig libxkbcommon pango cairo
+    libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm
+  ];
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Window switcher, run dialog and dmenu replacement";
diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
index 5dc6ed65070..901afab78bc 100644
--- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-tabbedex/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchgit }:
+{ stdenv, fetchFromGitHub, perl }:
 
 stdenv.mkDerivation {
-  name = "urxvt-tabbedex-2015-03-03";
+  name = "urxvt-tabbedex-2016-08-09";
 
-  src = fetchgit {
-    url = "https://github.com/mina86/urxvt-tabbedex";
-    rev = "b0a02018b1cbaaba2a0c8ea7af9368db0adf3363";
-    sha256 = "f0025f2741d424736620147d9fc39faac68193cb9f74bde0fb6e02a6f1ae61c3";
+  src = fetchFromGitHub {
+    owner = "mina86";
+    repo = "urxvt-tabbedex";
+    rev = "ac220eb3984e151ba14dce08f446bc7bc8ca29a2";
+    sha256 = "1b5mff5137jb5ysklsmfp5ql3m4g1z3bdhk0nwhz2hgwz40ap6k8";
   };
 
-  installPhase = ''
-    install -D tabbedex $out/lib/urxvt/perl/tabbedex
-  '';
+  nativeBuildInputs = [ perl ];
+
+  installFlags = [ "PREFIX=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)";
diff --git a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix
index 17c41f233ec..8b9ffb2c8c8 100644
--- a/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix
+++ b/pkgs/applications/misc/rxvt_unicode-plugins/urxvt-theme-switch/default.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "";
-    homepage = "";
+    description = "urxvt plugin that allows to switch color themes during runtime";
+    homepage = "https://github.com/felixr/urxvt-theme-switch";
     license = "CCBYNC";
     maintainers = with maintainers; [ garbas ];
     platforms = with platforms; unix;
diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix
index 7dce7c7fbcd..21c0c0f5ea3 100644
--- a/pkgs/applications/misc/synapse/default.nix
+++ b/pkgs/applications/misc/synapse/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, glib, libnotify, gtk3, libgee
-, keybinder3, json_glib, zeitgeist, vala, hicolor_icon_theme
+, keybinder3, json_glib, zeitgeist, vala_0_23, hicolor_icon_theme
 }:
 
 with stdenv.lib;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     intltool pkgconfig glib libnotify gtk3 libgee keybinder3 json_glib zeitgeist 
-    vala hicolor_icon_theme
+    vala_0_23 hicolor_icon_theme
   ];
 
   meta = { 
diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix
new file mode 100644
index 00000000000..853cc517105
--- /dev/null
+++ b/pkgs/applications/misc/translate-shell/default.nix
@@ -0,0 +1,101 @@
+{ stdenv, fetchFromGitHub, curl, fribidi, mpv, less, rlwrap, gawk, bash, emacs, groff, ncurses, pandoc }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "translate-shell";
+  version = "0.9.4";
+
+  src = fetchFromGitHub {
+    owner = "soimort";
+    repo = "translate-shell";
+    rev = "v" + version;
+    sha256 = "166zhic3k4z37vc8p1fnhc4xx7i7q0j30nr324frmp1mrnwrdib8";
+  };
+
+  phases = [ "buildPhase" "installPhase" "postFixup" ];
+
+  buildPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share
+    mkdir -p $out/share/man/man1
+  '';
+
+  installPhase = ''
+    cp $src/translate $out/bin/trans
+    cp $src/translate $out/bin/translate
+    cp $src/translate $out/bin/translate-shell
+
+    cp $src/translate.awk $out/share/translate.awk
+    cp $src/build.awk $out/share/build.awk
+    cp $src/metainfo.awk $out/share/metainfo.awk
+    cp $src/test.awk $out/share/test.awk
+
+    cp -r $src/include $out/share
+    cp -r $src/test $out/share
+    cp $src/man/trans.1 $out/share/man/man1
+
+    chmod +x $out/bin/translate
+    chmod +x $out/share/translate.awk
+    chmod +x $out/share/build.awk
+    chmod +x $out/share/metainfo.awk
+    chmod +x $out/share/test.awk
+  '';
+
+  postFixup = ''
+    substituteInPlace $out/bin/trans --replace "/bin/sh" "${bash}/bin/bash"
+    substituteInPlace $out/bin/trans --replace "gawk " "${gawk}/bin/gawk "
+    substituteInPlace $out/bin/trans --replace "translate.awk" "$out/share/translate.awk"
+
+    substituteInPlace $out/bin/translate --replace "/bin/sh" "${bash}/bin/bash"
+    substituteInPlace $out/bin/translate --replace "gawk " "${gawk}/bin/gawk "
+    substituteInPlace $out/bin/translate --replace "translate.awk" "$out/share/translate.awk"
+
+    substituteInPlace $out/bin/translate-shell --replace "/bin/sh" "${bash}/bin/bash"
+    substituteInPlace $out/bin/translate-shell --replace "gawk " "${gawk}/bin/gawk "
+    substituteInPlace $out/bin/translate-shell --replace "translate.awk" "$out/share/translate.awk"
+
+    substituteInPlace $out/share/translate.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
+    substituteInPlace $out/share/translate.awk --replace "metainfo" "$out/share/metainfo"
+    substituteInPlace $out/share/translate.awk --replace "include/" "$out/share/include/"
+
+    substituteInPlace $out/share/build.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
+    substituteInPlace $out/share/build.awk --replace "include/" "$out/share/include/"
+    substituteInPlace $out/share/build.awk --replace "metainfo.awk" "$out/share/metainfo.awk"
+
+    substituteInPlace $out/share/metainfo.awk --replace "translate.awk" "$out/share/translate.awk"
+
+    substituteInPlace $out/share/test.awk --replace "/usr/bin/gawk" "${gawk}/bin/gawk"
+    substituteInPlace $out/share/test.awk --replace "include/" "$out/share/include/"
+    substituteInPlace $out/share/test.awk --replace "test/" "$out/share/test/"
+
+    substituteInPlace $out/share/include/Translators/\*.awk --replace "include/" "$out/share/include/"
+
+    substituteInPlace $out/share/test/Test.awk --replace "test/" "$out/share/test/"
+    substituteInPlace $out/share/test/TestUtils.awk --replace "include/" "$out/share/include/"
+    substituteInPlace $out/share/test/TestParser.awk --replace "include/" "$out/share/include/"
+    substituteInPlace $out/share/test/TestCommons.awk --replace "\"gawk\"" "\"${gawk}/bin/gawk\""
+    substituteInPlace $out/share/test/TestCommons.awk --replace "Commons.awk" "$out/share/include/Commons.awk"
+
+    substituteInPlace $out/share/include/Main.awk --replace "\"tput\"" "\"${ncurses.out}/bin/tput\""
+    substituteInPlace $out/share/include/Help.awk --replace "\"groff\"" "\"${groff}/bin/groff\""
+    substituteInPlace $out/share/include/Utils.awk --replace "\"fribidi\"" "\"${fribidi}/bin/fribidi\""
+    substituteInPlace $out/share/include/Utils.awk --replace "\"fribidi " "\"${fribidi}/bin/fribidi "
+    substituteInPlace $out/share/include/Utils.awk --replace "\"rlwrap\"" "\"${rlwrap}/bin/rlwrap\""
+    substituteInPlace $out/share/include/Utils.awk --replace "\"emacs\"" "\"${emacs}/bin/emacs\""
+    substituteInPlace $out/share/include/Utils.awk --replace "\"curl\"" "\"${curl.bin}/bin/curl\""
+
+    substituteInPlace $out/share/build.awk --replace "\"pandoc " "\"${pandoc}/bin/pandoc "
+
+    substituteInPlace $out/share/include/Translate.awk --replace "\"mpv " "\"${mpv}/bin/mpv "
+    substituteInPlace $out/share/include/Translate.awk --replace "\"less " "\"${less}/bin/less "
+
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.soimort.org/translate-shell;
+    description = "Command-line translator using Google Translate, Bing Translator, Yandex.Translate, and Apertium";
+    license = licenses.publicDomain;
+    maintainers = [ maintainers.ebzzry ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/webthree-umbrella/default.nix b/pkgs/applications/misc/webthree-umbrella/default.nix
index 3bf3142ad9c..6ada451edf1 100644
--- a/pkgs/applications/misc/webthree-umbrella/default.nix
+++ b/pkgs/applications/misc/webthree-umbrella/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
   ]);
 
   configurePhase = ''
-    export BOOST_INCLUDEDIR=${boost}/include
+    export BOOST_INCLUDEDIR=${boost.dev}/include
     export BOOST_LIBRARYDIR=${boost.out}/lib
 
     mkdir -p Build/Install
diff --git a/pkgs/applications/misc/wego/deps.json b/pkgs/applications/misc/wego/deps.json
index 2255fdeb69e..5bfb64ffbc5 100644
--- a/pkgs/applications/misc/wego/deps.json
+++ b/pkgs/applications/misc/wego/deps.json
@@ -1,10 +1,29 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/mattn/go-colorable",
-      "github.com/mattn/go-runewidth",
-      "github.com/schachmat/ingo"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/mattn/go-runewidth",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-runewidth",
+            "rev": "d6bea18f789704b5f83375793155289da36a3c7f",
+            "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-colorable",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-colorable",
+            "rev": "3dac7b4f76f6e17fb39b768b89e3783d16e237fe",
+            "sha256": "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6"
+        }
+    },
+    {
+        "goPackagePath": "github.com/schachmat/ingo",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/schachmat/ingo",
+            "rev": "fab41e4e62cbef5d92998746ec25f7e195100f38",
+            "sha256": "04yfnch7pdabjjqfl2qxjmsaknvp4m1rbjlv8qrpmnqwjkxzx0hb"
+        }
+    }
 ]
diff --git a/pkgs/applications/misc/with-shell/default.nix b/pkgs/applications/misc/with-shell/default.nix
new file mode 100644
index 00000000000..d3b5541ac4d
--- /dev/null
+++ b/pkgs/applications/misc/with-shell/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchFromGitHub }:
+stdenv.mkDerivation {
+  name = "with-2016-08-20";
+  src = fetchFromGitHub {
+    owner = "mchav";
+    repo = "With";
+    rev = "cc2828bddd92297147d4365765f4ef36385f050a";
+    sha256 = "10m2xv6icrdp6lfprw3a9hsrzb3bip19ipkbmscap0niddqgcl9b";
+  };
+  installPhase = ''
+    mkdir -p $out/bin
+    cp with $out/bin/with
+  '';
+  meta = {
+    homepage = "https://github.com/mchav/With";
+    description = "Command prefixing for continuous workflow using a single tool";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix
index 19d8a15fbfa..1a71a2756d1 100644
--- a/pkgs/applications/misc/xautoclick/default.nix
+++ b/pkgs/applications/misc/xautoclick/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "0.31";
   name = "xautoclick-${version}";
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz";
+    url = "mirror://sourceforge/project/xautoclick/xautoclick/xautoclick-0.31/xautoclick-0.31.tar.gz";
     sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm";
   };
   buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext pkgconfig ]
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 2c70978a496..a1110fa07a8 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -128,6 +128,7 @@ let
 
     patches = [
       ./patches/widevine.patch
+      ./patches/glibc-2.24.patch
       (if versionOlder version "52.0.0.0"
        then ./patches/nix_plugin_paths_50.patch
        else ./patches/nix_plugin_paths_52.patch)
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index f2c37d9e973..e55a599267a 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,4 +1,4 @@
-{ newScope, stdenv, makeWrapper, makeDesktopItem, writeScript
+{ newScope, stdenv, makeWrapper, makeDesktopItem, ed
 
 # package customization
 , channel ? "stable"
@@ -66,38 +66,36 @@ let
 in stdenv.mkDerivation {
   name = "chromium${suffix}-${chromium.browser.version}";
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ makeWrapper ed ];
 
   outputs = ["out" "sandbox"];
 
   buildCommand = let
     browserBinary = "${chromium.browser}/libexec/chromium/chromium";
     getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")";
-    launchScript = writeScript "chromium" ''
-      #! ${stdenv.shell}
-
-      if [ -x "/var/setuid-wrappers/${sandboxExecutableName}" ]
-      then
-        export CHROME_DEVEL_SANDBOX="/var/setuid-wrappers/${sandboxExecutableName}"
-      else
-        export CHROME_DEVEL_SANDBOX="@sandbox@/bin/${sandboxExecutableName}"
-      fi
-
-      # libredirect causes chromium to deadlock on startup
-      export LD_PRELOAD="$(echo -n "$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\.so$ | tr '\n' ':')"
-
-      exec @out@/bin/.chromium-wrapped "''${extraFlagsArray[@]}" "$@"
-    '';
   in with stdenv.lib; ''
     mkdir -p "$out/bin" "$out/share/applications"
 
     ln -s "${chromium.browser}/share" "$out/share"
-    eval makeWrapper "${browserBinary}" "$out/bin/.chromium-wrapped" \
+    eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
       ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
-    cp -v "${launchScript}" "$out/bin/chromium"
-    substituteInPlace $out/bin/chromium --subst-var out --subst-var sandbox
-    chmod 755 "$out/bin/chromium"
+    ed -v -s "$out/bin/chromium" << EOF
+    2i
+
+    if [ -x "/var/setuid-wrappers/${sandboxExecutableName}" ]
+    then
+      export CHROME_DEVEL_SANDBOX="/var/setuid-wrappers/${sandboxExecutableName}"
+    else
+      export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}"
+    fi
+
+    # libredirect causes chromium to deadlock on startup
+    export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')"
+
+    .
+    w
+    EOF
 
     ln -sv "${chromium.browser.sandbox}" "$sandbox"
 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/glibc-2.24.patch b/pkgs/applications/networking/browsers/chromium/patches/glibc-2.24.patch
new file mode 100644
index 00000000000..10a04b7ec8d
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/glibc-2.24.patch
@@ -0,0 +1,14 @@
+--- old/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp	2016-08-03 21:02:37.000000000 +0200
++++ new/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp	2016-08-14 10:59:51.395354850 +0200
+@@ -41,6 +41,11 @@
+ #include <errno.h>
+ #include <sys/mman.h>
+ 
++#if OS(LINUX) && defined(MADV_FREE)
++// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
++#undef MADV_FREE
++#endif
++
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index e1e603b28fd..d782f4a7b53 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -17,6 +17,7 @@
 , gtk3
 , libX11
 , libXScrnSaver
+, libxcb
 , libXcomposite
 , libXdamage
 , libXext
@@ -90,6 +91,7 @@ stdenv.mkDerivation {
       libX11
       libXScrnSaver
       libXcomposite
+      libxcb
       libXdamage
       libXext
       libXfixes
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 6751193f237..6b801800504 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -4,189 +4,189 @@
 # ruby generate_sources.rb 46.0.1 > sources.nix
 
 {
-  version = "48.0";
+  version = "48.0.1";
   sources = [
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ach/firefox-48.0.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "57ecf646fdb81b48be76e79d9ca514d2d1bdf76cc5e577545be6bafce466938e14a508819e69e1a28905a278ccf48c2f958f8e404f312f90e63cbe9317b39314"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ach/firefox-48.0.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "ebb5273a458eeb62a48575ece8c1c20f760ff0c015073e13d4103d3f2d9db5ffa085df6e59b6a651c39a743852ec0fff4455e9d9cc8c0dcff1554a948726de47"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/af/firefox-48.0.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "efbd8aa1118a76d37e79970928c622f382eacb10441fce578ad0d782e7c900b22c197f1b70057c1142fe7c7eaf4bdffb7af9f9662e9cf7b32123a332278c5be8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/af/firefox-48.0.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "ee623538bf68b42961fa921d03b69181ed901f55fb853bf435afc5de7942ffde3bc4bb70a4baaa613b7d679002be2e11f3405eeabf2a0d8cf9338c4a4354e841"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/an/firefox-48.0.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "73591c7ce176834de04c8d8ed45239502199b3b34b0884dc87a56580e8548de2e0c3b2a9cb7d03c463ee6022bd3c2c8e08cb40697ecbf1368e276658f3fe3d68"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/an/firefox-48.0.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "489d88b99ff4adc9edb919f5cefca944577391d19c9b10797d7447db5468a43e143234bdfc884c8d98c4ac715b8c29388aebc9efe3e79ec68694e33ff1f21987"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ar/firefox-48.0.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "606bb3823834020e6110ef2cae2732ba8e4b2a3f38450a38ed23355d0f16dba7c98ef29df8b6fb6e76fd12e99b4ee97dc066cf74b3156e99af7c0929d9b2af0f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ar/firefox-48.0.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "af7970892dba0afb677c478ee296cd4ddb75064f229d13f74f6102d45ab7af819d911eafc84cd4351e3eb50bc47e69ac7a3c204b7e96cbb946fc13f46fc1a4af"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/as/firefox-48.0.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "cfd631ca2893eee802a9bc82dee3d8d348fe48010080fc82521dc61a6efe1271513f0f1b9a0cf2866050fb1ba3d41ee9a7ad7283b3e669bf8537d8cb38bfbbc2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/as/firefox-48.0.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "ff94b9f687da69ca541f03e720dab47dc805e2ae86ab297615195302cfdef13bff294bd9f0a3bc802cca9f855e83c6f346833847d7dddcd4f1cc19404dabd752"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ast/firefox-48.0.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "3ec1c5a9c73cca3d637cd6045a1110c729cd1ee83d5b4e7452ba45cfb0e01cdc1f87bca870ca0af595769607154364bc03bf88ab99067f1c1be82fd8584a439c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ast/firefox-48.0.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "84a6961c164cb6279ecfda6bf07f81ee40fe59636bcda0970bb20880d0337447fbc7fe12699627d3544b9f748426c3bf5b9ac2168ad9951c5a04a63a54acfc73"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/az/firefox-48.0.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "95b2228952c52d1daf5d34813fc9ab83261899e8f43208b06146c44cf969167c63f71cb1846386d2d657cfcd283c398ee3363a28e0b8febee1d7704c392b6064"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/az/firefox-48.0.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "d87b848645c779a1ce5c989a95dcf9a4ebdf305aaec5cd16ecded438a5f0a0e69ef1d6285a4c9fc9f2c9da0bbb26e2b79c24bd27b1d3a1b3df4ba18e2de4b465"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/be/firefox-48.0.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "9dbf3497d52dd7e4260aee089fa77d888db7f97f6512c53a410a7440683e58759686f543ca5052c8a1fbd6372c924e83800299fa0e9454c74ff4a03cf29e8fca"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/be/firefox-48.0.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "a9fdc05f4cc123dfe672cf8b31cd47f2b25f0f1685d09839a0e86709994e31851ad78bae36f6156f273cb8e94c01319be08bfd4e5ee931a88ddbe40b06336b63"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bg/firefox-48.0.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "46df725d41d0229af74205e3e0afa16b89841a0161902cbdf69faa065067db387fe6480ca80e10d3f805c98301d576e279b3405313bf10146a78085b2c05dd7c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bg/firefox-48.0.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "fbe69e3b48f7c7baba07b23fce7cf266258851427b2bbf8c21b7a870177a499574ae937ce88270abebe3030a289bce236ab1d4f806a223a309e9ced9d5549de8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bn-BD/firefox-48.0.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "c82e3f2192be0e8aca9f0cdd8eb06e7c8b193c151c4ae52a5ffa1908c62382de9938ca97da44d10cdcb8dd98bb17362887811df41496a389c49e20dc42229f96"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bn-BD/firefox-48.0.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "14dc923c5db1b49a1ca98eda1e45d5978f7a0e034bb26462da25ab7b160303f3f546e4aaeac3b712fa1a7dc8c70433ad09d11ab7493234bf5bd1ef73eede930f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bn-IN/firefox-48.0.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "9e86a9dcbfd1516a134670f17c2734c9624daeb28a0eebb9e81f40f7a1f49ef8d7b9ecbe501beac1e5cd895502cebeae0dde9dfcb91758b5dba5ee42cc061cc4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bn-IN/firefox-48.0.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "4cee2c673cd4dc14c33849e93c0bd2aead14c631940aee255fd75391b5588610cdd79c71e85264981d44e06892d1ec99bd484e72e7e56d207db9911cc5f3dcba"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/br/firefox-48.0.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "5f420addb318b9c5fa11ca83f837758b49e2358448347cbfc13b2cf644f4f5bafebadfbebe5522d790d5a03d4c35406bb49268e40d62161288f0592235c0aa6c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/br/firefox-48.0.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "0dc0bec866a3d4471e3b1928a9bb32549bfe09b9c77d28406cc8f8c9e5d6064581c148701e4e650b28e1b95ba6db85c27de7625ddd39caf1b92e2d6d1a357889"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/bs/firefox-48.0.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "0e2563650a9cf9ed48928e49c2cd9aa9c295106ae5147a2ec87e5fbf28acf303da071e9f586315159db72e93cb7611a3eb8607da1dcda9c2645b9af19faaec31"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/bs/firefox-48.0.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "4324112ba0112db3dddd7cec05ae3965a7b656f7e0e05e28a00b127dc0885814064219c1c2f9bce9dce0a0237a4f0def79d6cdc15a8f46c23efde1c34b89cc91"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ca/firefox-48.0.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "3977d2c8b5a05659f5c160e2ea1a25729ce4565821a67d4da9649fd57c1451f1b136a147faaf9987c719518028dc2be14df1edbef083220c9de40a377612f9f8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ca/firefox-48.0.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "e9a3ad240e7d6fbcf7b54e350c297b40cb224e75390919c737b2380c5af7ddc93834469ee5dc4c93115fda44ee97b21d01b002f35f69630dc667fba8333620bc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/cak/firefox-48.0.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "ab7b9d41f3686ae77c72c332e04775785741a2b81a3a8b8ca2059dae3a27aad26585a59d99e5c99486d75b7c8c5571a5c9524ec142e7f75f29ecc34c824d5d92"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/cak/firefox-48.0.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "be80d95ebfa0d79869257a788aa59cc88849bfe14ccd148bb46caa6db32046a62ffd17d36c6451caa0b4f500153e7f607616f4313fb42c0576e669bacc6b117c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/cs/firefox-48.0.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "8c0873fcea5ff7aa6f0a78fb6cbe59f7514ad5b0e64ac0d10f03cf3747ef3b6b1cfce01d12f0e11d5f3ed7a7b248e0dd5250850edd4a3a8c8d5f692b6fdc9d75"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/cs/firefox-48.0.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "fe5d78ce15f041ab006f5d3b445deb26acd2c5e5d079f6789a0e5f56c2d9077b43595f1dddea3b03d4d7a2fc5565b5da4cc8d138b541d88a31475eb5ce219d68"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/cy/firefox-48.0.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "0c66565a03806c33ecb92c9c7106122283213b5b5cd171b93337a14d446cf0d4d36d298680d286d57c4f09f532f5794a67a426ff7e2d7044c65800d1a6e2ef81"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/cy/firefox-48.0.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "2c52f2e204a86afe6f1016fde6aa13cd6b34fc22f7a1943e81b7e6ec0e2136c51156b57bbf12a1cee95aad66d415356cbbd47c2aa94d944672169526b8f1bd94"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/da/firefox-48.0.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "fc0e9ba7db425e4a209022487f796f646ba82e4ba9e06153f094037ccb4a959b6fe2ceeadee96b906eb0cb8eab72e34b29f6d024cf34d93cf4e54dc16fccef9c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/da/firefox-48.0.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "a6a4c67f9bfe80ff83f99e459c49c58635739da0967f9e8bb1a37568084c4c2f83057e0daa969d6fb844d93994107ea29982f515217a18e79ac8b04c766a0fd0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/de/firefox-48.0.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "40f912539b1bbaf1291270b109d455de1f080a68490950fc9acfb675179d37e75d3cd09cc25ed01bd9f0d970b6d988caaf7d3510a00bbe696139e68dda1aea25"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/de/firefox-48.0.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "b41cbe809060c2fbaf19688f450532ef71f8d7d995e382aedeaf394b00742d8256aca9560f069f60efe7dfb24d05f884fd7160e3cfa9a15437124b8c4de38786"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/dsb/firefox-48.0.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "cbbfedfe185cced2644ed6aa34ae754f7c79a18fae8e6b2846d7a1a9b3b141f95def6d7b9c2b2c8b58c0b1e777d36291164866dbf43e93e3ffc8c1e319aa3ca6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/dsb/firefox-48.0.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "dbef6f6acd1e5cff574e9f456fe0d7ab3c2982d90c15ffcc1195e693357849ffe01091b2be997203d56a580774bba71334635c1f5a0aed57ebb7f7ca6c95b879"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/el/firefox-48.0.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "7cd345924f3113d22c338d1bde94c9ec3157531c38aebee0048e81258fe60e600b11449e1db78fca15073636c2fdd120e90f12c3eee461a43718c8de0e89e646"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/el/firefox-48.0.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "47a500294df276b752d6728b47dff65aa34cfd87ec861d55357ddcf2386e53c646c24ab7e29f70e547986ac6311b2961bcd245a51333c5c4d46912d0bf84547c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/en-GB/firefox-48.0.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "2ee0c7b3653c18a4c26cb78e6b579e0f22cba9dd0a6d54dc0028df6635a9ac912eb8c8958af5ffb4e572ae45b54891a19efd7f6efb407027130a3e444e435968"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/en-GB/firefox-48.0.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "8ea361476983e9677ad6d9b5c833f114566c528b72158d18664ee66dfe5c00bbcec1ab8c5b1293755348282b4e86ba3f033a86aad3ce943a695ace06a43bd252"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/en-US/firefox-48.0.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "b7d35e0664012ed45e8256bde69ce6c64a984160185082e3caea8762bf81adde8eb9caa9b4b83ba79083217fb202642face8c660623a87002bd61bbf9092ff7a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/en-US/firefox-48.0.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "1c66c802af9ca1a665074ebbde5ee349b14cbe5a7e911f42c71334ebd15fadfacd33759b8bac92f56b117a66661c7602aa7c5bcd21e1e186f6d669d5d7957bc8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/en-ZA/firefox-48.0.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "2db66b79129bff445e9a5fb6ae982453b5fc2b18f3c9b017afb739ec774465f098e11ef02b8d00049a5ca3289acd117bc076d578934a215626f246efdf41c6d3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/en-ZA/firefox-48.0.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "1473001924b17825893f0e0d9a65bff0be03369e6b07e9ad51a2d0c6afb4c4faeece06aadd53ffaa941de364c54708c483a21088a4c6afaffa24291ac97c679c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/eo/firefox-48.0.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "64b8b4e1bd0afcde46fc431ebc7579813b16554ac5a55b06835eb58b317b93590d34a3925195d4cd93aee04c3c86c99242a9a4454572141100c4873f1ee9d2a7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/eo/firefox-48.0.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "414f7411db27fe462d030e937d0549a35f735747b736b713192887947f0492734ff2bdd1654706e9eda15410b2b240f3d747f3c8905a31ad5c72a73b621ef0c2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-AR/firefox-48.0.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "f25942436f05c0a1029a5f9921e9cc7a0d0a40c57a0742207c336e73ca382b881319c67961b240924266650731b806c7f07ff67937d503d8e94e43f2387cf7da"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-AR/firefox-48.0.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "c4ccbaf8741e339bdf0faba2a95d6e481bc10408064248a2b27e447637d53e3f866ee671d61d8d0663b6dab48553b3ab1b0680fa37dfe13ffcb5119fd3996b72"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-CL/firefox-48.0.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "b77df1944974a2bde0482c0fb2d36f9e3d38d09b5182faf6c008174525fa598f52910547fb1ea7e692968407279dfef9a576e1748e0d6de7382937e4258b7d41"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-CL/firefox-48.0.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "6d62e95696d8ab3a227fd176dfc4555aa37482585d3f575cf6cc62e2573bf0085c2ba3ca64dd597e68ffb0abca9cb8e11bbd6040a7e5df2e2371328a029e298e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-ES/firefox-48.0.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "7064370188a13d7918925ca727af1291d009651dd562af17e461cccc59f5f62df6a29f3919be847f968004421ebcdbc0ab67b32d994079b55528894733e1079b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-ES/firefox-48.0.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "7562fc8cf2e8a80c59ce3893b01fe56b62ed81ccc04703a6e1d8da372e15198626a16378697e71079ecb129bef9ea70eebcfca1da8a8b4567ee96e9fdc8ac83a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/es-MX/firefox-48.0.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "cdc43dae9bb8cb5e7e5816fde84ec6a4ca072bf3e594dc3cc0f77bc4fd2cb3a28bd5950dbfe2d1864ffd313f304beb5c1173f53e560fd4ededdc249e276f0dd1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/es-MX/firefox-48.0.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "d0a118ea015d709191ac654a22806186a3e62ee540c6efceb6a05d9cfa8fee9a611d2f3f19430988ade7a77ea02fe62383574d41b18c4a8d2925a5c09b65a1c4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/et/firefox-48.0.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "3218dc25082bb1e6047445542e902934346c104843ef10efaed5c283372734662737829a3edc7ba7025558566b7b0e4485f02ecd24802c781bb8037f92478deb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/et/firefox-48.0.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "81c14a517b59dcba904950559ba6388c75fc39bc498dae4106dee555a3f1d737f9a258327f3130c85dc6c6b52e17b741056b4095dae7cc8cf8dd612965ad7f99"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/eu/firefox-48.0.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "31c0c182f84468aa15b03410b1cdfbba35b7e74474d506e9bc32168941e210e93fe441de9df77e48fe9996c77d45255a513e6acfb733e179fbbda0a75318b7a7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/eu/firefox-48.0.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "5bf898af06d2b9fd6be194adf4453f8c271cd2c2d3b166e788427d4edc45f814787265956120619a5347df7c2fb5a7002954eb70d9745143e540055a7105a05e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fa/firefox-48.0.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "53a86ce6b5a0312b1380fc17bf7eaa879f266307934bfc46cfa18bd385021f875fa306836a796ed2777271758f2a0201b385ba8aaef076e6a54c94cf24fe03bf"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fa/firefox-48.0.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "a5a961f0a93be6fcbdd7fcfdf356b937b946974a96876ac9cc1e9ff60f54a4f61634d4c4b9cce5b979d4fa1b6084f4f68b2265f503c70fa1b3a5f4392ee0e3d5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ff/firefox-48.0.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "4b2dd232f326efd720fce08a91222476cf10f33b90ecc9b43cba715ede44b3d00dbf05cb54616db4a32bcfa8c5b593e2981a69454a015e8e9baad927ad5162d9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ff/firefox-48.0.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "23d4b17bddfb62f947a4b07eed55dfbe13232f98d0197e5ce06bd6e53758f3af172e878f47031a1b0a551b68bbc0cb684e614f8b217523a1b7d7485da8df4a57"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fi/firefox-48.0.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "d68b48a97fbc3bfa00cca45ec48bc08f0c736c1d4ca04cddb9519d5fbeeadf88da1602750e4d58c46e258eeb83e32e740f539f556776ab05f01f6ddd2fb2630d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fi/firefox-48.0.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "1ad0df0c9f4c3c6e179c5df2fc982fdb8878038fe85f622042613f80a4556d8791d82569ed8ee03237936564987b3a21e2f8e9d2dc40c676ffbae2aecb93f032"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fr/firefox-48.0.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "725abc4ab51cdf3be84958de058350341a8d27a484ff3d2a021dfee018b1419f560c8920f18b6d6d592bac82b89556a662d244e492634248c970a3630e4fea8b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fr/firefox-48.0.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "076a780821a4de51d38a51254c5f53c91545f48b72ab8b869500cd1afae7d113329889c75766de3061cd423f28917c3125991a36bf97c515b1bc473aa89dc7f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/fy-NL/firefox-48.0.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "bae1c596a488af768865942129e906adec9fab6c79be6f9b09a21a8dc5db7d36f38299fb19126b03d9158618d9cff62fa2143fe524aa068ca58f51af223a7104"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/fy-NL/firefox-48.0.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "077be175984e50d5ba64b62576c9632a6c9924af99e330eb029ad8a6bc9d2c54f5d505771b0d8fcd1aeccea35624b50318eaf921b34b8e86cde592ab3bc4a449"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ga-IE/firefox-48.0.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "861f9e61f9c355628fd923d1167e4db71697526ea87c5280cc976056e27505401b407e3348294177cd77204fdd43ee6497c8fcf89ec7e9215a09acaeb3d6d328"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ga-IE/firefox-48.0.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "2d945375532a35b53f8416129010d6cd7d2c3bbba0fd44dd647a61ada38637b044daaf51189de4c7e04c440254c4fba88aba97fb20d2ee4ad5bc55e1ce61da6d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gd/firefox-48.0.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "5a08ccb0b2c3fb9886cac45e69c7641053ef18d652fdd4528f5ef06b9c51e412fae4e6301c078df314de8dccc4ffd87907571906f4df9c382492ef1d94c6d6ef"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gd/firefox-48.0.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "66e643754812be465d3884758d1e2db405486633e08aff79ef7dc142e70183eab1ba357794ffd3920392e0e80c3b9729590e8c4e803c5c030e0aee8a758eac84"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gl/firefox-48.0.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "3cceaab829a2f80d0b329a4a035b34fe67653ea6637272f2ffc2235d4bcc491096846e927773ec7a9bbd53f987b3c1cee982c7e8c9cf900883e8b15393b36023"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gl/firefox-48.0.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "65a35cf89bdc168cfe1e3f14c1aa799ee0a728c9d4b34e7f6a99bb20a88da872de3df3df6b77094035c6baa4487a3a1583591d60741f125cf14d85ea20b55545"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gn/firefox-48.0.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "b7164178349bdccbccad6e32fcac29f5c3acb512f3e8e1db57f7c7cbb8e6950ec5e8985779116eafe6b237d39d8ba36b3adeaa70813ff3a3a978618808765740"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gn/firefox-48.0.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "c0526f1aca929a77beec1b54393751d3b985753843239892818da4727e3ccf0d3a94e14114e842c7dcb99d2fa7421f3821e3a9f2aa33c6944d62e27963c4154a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/gu-IN/firefox-48.0.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "ec0675aee25136317c9e9f861947e3fc8fe3bafacda7169590398ed5abe125b0ee7104bfb56988ea7312039418e356a4255e98735167a3bbc4def7b2f326e9ef"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/gu-IN/firefox-48.0.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "4d7b83c829dc8fa4eeac364880b90dae4a9a7d33036c92e72d358b5e235c36ccd6b4cc578f786b6f28ea49b665b0ae611046b5c05ecde8bfa89b0396d43b4791"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/he/firefox-48.0.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "5f2bb563531130410e67735146a62dcdd8646e401ad8fd468b1bea56de36e1e1a248d3580c2408b6f30a3cabe58a69d13525413a2b7cdc926722f2434408797c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/he/firefox-48.0.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "9958faec273e584efbb438791af10971e0e795c33850000f967b060eb73f898ae73a780b2c6707772a233d2f6aff8d664d4ecd327b959210ceefe5efbc4110a2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hi-IN/firefox-48.0.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "48ca543b4d3dec309bd443a9cda5a9f6fffe2d467a665eb08454cee0914387aaff863629cb156ed92d98aa878f804454cf4af6f5bcb04d4d4d1221c4854ec554"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hi-IN/firefox-48.0.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "672ec5bb5154c1edddbf6f0586065482bd8a54c5b8b8bb9678eec1825fa10f5ab9142437b96beef0b865740d6426ae4da9122549df1e242cdfdb2a86abbe9d3e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hr/firefox-48.0.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "68dd6692de0d72c41dd058a505c508cf365ec688850be7e87aea7b99164e8e5eb3eea547fa54753c76ff6b8fbede44c73f047cac3f4cee700617da55329a5e84"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hr/firefox-48.0.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "146dd255b89fcb616032d04dbe0d4a4e8b3098cb79758b4adebd45ec83c153832fc332486b3cd11e771284d14e2c0eabd407373abc5466d7ae7a081368ce868d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hsb/firefox-48.0.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "768ea8eb848e26664af47c3b93e6906d2f81a1890b43801f4e00a90be321b9ab66827a082c2f42182532722c913149bb4d1d40af3c9fe0d2ba691447f41552b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hsb/firefox-48.0.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "869997277e071e3eb654479c497792640d836cb96a20c9a1974f9915b616d5bcac8dd635c3a9509b365c62719941b7751a5d87e3874ca095926b7c80596c7cec"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hu/firefox-48.0.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "9cfe20df539646f445d9edc0bf30b00cff660875bfb334abb6a05658dd420869ca34114d5c5c16c183afdc58dda5075b08a4e93d789c3e3c0d661c4c5a3a58b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hu/firefox-48.0.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "f7d5e6802f2389aa62b4448e50468e2fd6eb24cc4044b91f33fe47d83eda14f6b27a2024c7d77be7282d568b177ecb3a563b4123ab9cab6ab6aa275ddab2567b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/hy-AM/firefox-48.0.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "d449ffe339181ed8fbeeb91074d5a04ef4b81ad92b2203d48c6d7f3a7eda22922f0a946310b1e810b384b4c05fb434fd2067537d9d46561490905468e9fc327f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/hy-AM/firefox-48.0.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "2ea54b459c15782a61fd1b56d66278d2ee76a91bfbaf5fede2ef6adb81255bab7401f587ed33b827d4a04272bbbd222f942e6bb34d8463940cb580ad34c08d10"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/id/firefox-48.0.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "5c9f65c9cee48477f778891abd6a943ead2f08e0f66e9270e73e74cb5f2a281b2a061e06c0eba3d134b868d7747d50a0d5a6cd4b4f3cc7690776405f1204140d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/id/firefox-48.0.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "67824631456a2f92c073e7a11b4e6bdbd802611a8dec857db264ea85aac63e84d5e34e44a4470796fd7b02afc62912b1d8deac3cf28dad7e11ca5db2c98d7668"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/is/firefox-48.0.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "f49a88c16729605553806839645bd85a8ffb82b903fc2a64928319c849ab57edc300ade3d2831ae30a258e601f34b9cd356ccf8886d0ca5444781b9cfd6dbd83"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/is/firefox-48.0.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "69422bbce98fd6974d3ba6f3f1e88d552381cbe346ce726ab31891f612999bed2a4fa20723bf858736708410e43e4c68962fbaa17f675076cf2720135ddeaebd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/it/firefox-48.0.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "6a421e08e72d29223a8440ebbe6965866a6bfb3b982ebf2012a314b8132bd21823a00e65e974f057df390b874d90a6f6428d01d00fe594c33b57e533b2db2bc5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/it/firefox-48.0.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "f321b707772adcb15cadf4c13126cd3e5db40124acb012d2188a0e07ab5b184a9a2b43ee2474146c0d48415f3c160d69a3e82fe19688eb71b225ea70c5531f09"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ja/firefox-48.0.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "73a8bd6e32c728246ef8f14a916f7012f2b758ef5d154a898fa0975a723e767ea10d5ca0dc2deacb73741ac48ea3b6007bf7e0b5872143162ad46d452dc689fc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ja/firefox-48.0.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "d61fd9a87e158f27aa82f659d84292a3aefe8df57938b677be94258505259a110d8e3dc051012031f91adb41f34764b759306e362fc1d6be0181588c2301cde6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/kk/firefox-48.0.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "51ac197ee684f770970a5973289255ef62ebcdbe59ba2197135e326fc0885b5891b7616b3755a6812bee4c23b1e2fbf31f336113cb3da9b6d1bf12bcbee7b2a0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/kk/firefox-48.0.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "e437542b5f4922c35fd0a3c3d8b0199115d12b1cac4db07da46d0e6de7106d6222cfec0d73af481ee7e754486af3a795174a28d8c545360a7602a2b9d2123bbe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/km/firefox-48.0.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "d7dae5e1ca04aebe076c291ce54d7b626109f3e27e1018576cdf09607968b5e6ef4f05c32ea004a5b3cf5f0c297a436f4091ca88a1f7c0891f3da7d2e60d4aaf"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/km/firefox-48.0.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "49fb1bcf8e56692227afbfab13d7edd31ee5aaaad60f4400ac54d66d4be5acca5b77ab4e18f9476c87086f482c586f607671b065be0196da786e9fa0e4a6b5f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/kn/firefox-48.0.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "724ffda3f3b69c6539f07ad55763fc34f61b3fa45b2b141c7d7d7ae1ac421ee8f27226f6d9cbab7bc36a1c2ae246020f9ee8ea894e9262d019cbf8a1c3a391b9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/kn/firefox-48.0.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "ab757a4a3d2c916ea588b6701cce2fc63e44d926138ce6c95dc4138169a0db49205d243361bca045ef01632e6989743330b351e8448b2e2b60d99a308598b0d8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ko/firefox-48.0.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "9bcbf38241a52bbf374c0f8c78acfdff5ca2ae773234ae9b5d4e5019f9d499310e329e87c8d8430712f74256fc9f68a3687af4d148fb5998ca61c0b4772e8f8e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ko/firefox-48.0.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "01f32d8f63a40d3d57b298219d889746fb340f631d62ce14a6d85632c7e9c4c3a2da4c0cc1fb738289040addf2e0d2d2e823581d67928b3c4f82ed9b05aa95fa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/lij/firefox-48.0.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "3e168e0ed92f982f9215317a7fa8d088abefa5a3820cb7e61f16099f5111b654d199960f2dc23f59816d6b6992703aaa36bfc61316e82ba07b6fec5b6abd77f6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/lij/firefox-48.0.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "a79e2a75c7e94bddb9d44708f68f0462bd9a7d2926c2e9334d6e3d879f083dcc5faf716ac3b0f1acf522f29dc20e44ac28a3c6f7667f7a8402c215fb5da00f1f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/lt/firefox-48.0.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "22e060b0fdddfafde0ade9d985af9a2fc5097b226104bdd30c8d0c06da7c44a663384893eea67c95363124c91d5e2ff395162d0a504d54ed3ef36656e0de17fc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/lt/firefox-48.0.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "e8648f3e0b4b3b93b936f5b5343ab2fb397cce8f9829108011de0b7332246dcdb904374530a20d40a78e5d1ed264bba7809b79afeb9d71f61a17e963d5b4e03d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/lv/firefox-48.0.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "133f9da47452b1f444674d02300a20295c67d35d44f722d082c087d78cc2d91bfab1efeb2a9a30e2566b182dcbe64edcfe899aa6bb86d40f4be18ff27e5649d2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/lv/firefox-48.0.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "2a1ba8da43090bbd17eee75d3b08910e5a416c044ddecbe831fd63d8e9fc7a6393ce944ef4e698c008025ce4e489e90c7a26fc90f823d06b59c48a06ac5e9712"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/mai/firefox-48.0.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "66d7f8da81ed7e430633727904b69ef2e9cda8efc51e1335a49c6ca633d16e2f8412ca5eb2c7b4e1c52006c0c2687ab9ff7e6b822ebc5da49db3288419d0804d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/mai/firefox-48.0.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "5f5109907b04a4e1ca195cce93dc1350d2a62a6308ab1f1dbc3c5427765376af02147ec08478af21fae9ee925900d820015727f47eb2654fc54b17ff4eada2a4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/mk/firefox-48.0.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "50989bd953deddd04da3da12b42c869db68785decc4336ac4f5ed889524ed5630f28b71cef8198e2c5a5194f8bbde825996bcbe636c03609ed835a9a2e21109a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/mk/firefox-48.0.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "8d94075342c67c02974d101d7537b07237662590df31feebdd81b672f09593fcf5b4f306bb5eb083943866872a78a1d02f7669844a0b2746fa9d04487d8e09e9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ml/firefox-48.0.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "7176048a887e7847487e82fe3c38d585d05b415be60b7f4ad102e97f6294034da57d4d6094d7c9f0f5edc977133055e2e02819d7ea2b56e80d5c85e8c5f7ac9a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ml/firefox-48.0.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "ef2db6b3e924fee6210ea1b52fbfdf9087d32a56c7238297f38e1e5ef9e6f6a0b5cb27a741224f8f07540e6c469d231b11c366c10c70d8e9aef9695ca5d50dd3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/mr/firefox-48.0.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "0500bcf8b6b2ab8abacc73eea7f1c268b4e65f7fc6b86c92eda6a941051c84d1fda4060590e3c8dd6e0e176670cad098efe07389ad42151e3901b121dfb460f5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/mr/firefox-48.0.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "4518cba5968661dffd5bf7b6d0084cf6eee3e4b654ab63af928a6c29ad8a7cf077328f3e52c2331e965939571fa0a8ddbd538c4aedd8edd4f0c213e1104fefa4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ms/firefox-48.0.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "8fab40915ddde779e1c3589335c32f3d0054b73052a6659cfd45a733f0a05f05f3ab5d776588514e648848ab75f8d36ee911296b5ea701e8cda40e10a214f0c2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ms/firefox-48.0.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "94b3fffb74c8113caf423a77ef9f24a93513e08c90e242acd581d4b4fa2e23a4acb1295e1abf67dcf70ae034455c32e19b0e4ddc3f32547eca736fcdace01170"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/nb-NO/firefox-48.0.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "c5d2cdfab387e5f3380be0132ea52768e4d08a5da6f1c8b101920817166d1cdb077a1138e1ea5c2e938975fc2c745e8b0707221cf9cf8c942f45a07d5496674e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/nb-NO/firefox-48.0.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "4ecc38821e83b8170a410dc994738806027806fdf69298b51c0387b234e58ddf74801014da50cf3f7531b793968512ed4d2bc659044b82b65574cef154f99dfe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/nl/firefox-48.0.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "e5baa58c1f0e92635220f9b07d1bc10b3439461fefe33a03fc85e3535e64ef20c06e2aa2ac7bb3cddcd15ff9c9aa40dec7ac9ee4e7cc11069503287210e745aa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/nl/firefox-48.0.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "ceae5e1b50de221e858d89053f38c5bbc8eac1875136401b0c5188017d3fa35ad73faf2c1f45b6175a30ab0a9b47ed8f3c19f21a3abe1a07e1e6f2a88160cd61"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/nn-NO/firefox-48.0.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "89bcd86969fe09cd86a2694a4d93abaa32a1b4fe0f74e6d3d1ef66346af86ab77b85fd9c94196835220c2caa1af4bd52d11a9f2394a1c9347d6ddd72d93f43a7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/nn-NO/firefox-48.0.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "0e9d74c2c4d05740c19dbfe660c9bf116a3f328c5e35b85dcf317f1a77b52d224bfd84e4a82718bbf44323dfdad4ed6955c7b18f2b6000cd6af47abeb4b93cb2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/or/firefox-48.0.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "3e797ba54bdb312d468dbc528eb23bc8b40489b061d8597262fd5a8b4689ee814ece54373dc823e378d73abc1caae9af2c8adc0a7d3df8673e486fd5f31084d9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/or/firefox-48.0.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "c7abba3faefca9ea4ec6241444894d935611b5b855be58f52671e7ffecff1c29fb59854a89e546921ed70d3cb6d3f42808d8dbebf8c0555daad6325131de128e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pa-IN/firefox-48.0.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "d8714bd35288aa565afcd493a21c76d1c8485a289008f28ecc7fc5c077f9b779c485648cbb556490db140d5d5791f4041e138b94b5fc9c66980180c9a7e63bc9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pa-IN/firefox-48.0.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "052e90ea858141bbdbf808c18b9e5b6bfb0f235daac84828c9cc35130c6d8e7324b44b3db7a982ac148dc5349a972796c3274e39f61a944f1d0f580152cccfa3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pl/firefox-48.0.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "d45227a3936d522fd44c3526a0d78e8572b392630dc71d1c75de2f89af9f60c1a4b6b8096cd5db308f111a88b7d9da649e353a67f592ced07fbe601a8f2267db"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pl/firefox-48.0.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "90bd5b1fb555942fd5a20e923fb7effcee67e43e413f3581c6cff91e9437fe330bc39eef324a82a68d26fd7d5ffaddd2b7f32e7f8c97784002405c35e0a6a45f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pt-BR/firefox-48.0.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "740a6f543e2e93cc83c1bd5285c00bbc7324d443197c38b069ff912d0e9ed13451b77490fcfa85c4507938f538b3fc50729130754bb13e36806d5d03ad6b83ba"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pt-BR/firefox-48.0.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "bd8db956583b18a629b39d02dc6f60e31da287e3e834cb7b2ad9c618e8647877e07637afb8993d5605acb746ee948e8fbed7fe5692fc25a1215c98c8e98b3ca0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/pt-PT/firefox-48.0.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "452fc407467c3a6a2837543889d0978569e48ef45ab24141450635b5f7b10e7b6b0ceed805783b700a223bfa8f97c9e46cf59236bb89050ce65a33e183b539ac"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/pt-PT/firefox-48.0.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "29610bc8fd02d36c7acb018105290d06d625530d2e9e62e52732c553d26b4b38a22319dc1701416b3c0c533a34902e7237322f34c35beb49a6053eb9d7c40c4a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/rm/firefox-48.0.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "6f267154c8a612ab6026a5b71a4b906ef6bc773e796dce63f7daeffba4196722218f6b2631180069a8820082e72b97796023bde163ac4b1103887b14c8fec57d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/rm/firefox-48.0.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "fbcfa337605725848d9786fd43be6ace0b68eb0e2750ec07707abc40ce4813a3fe77860f71eca714bf2dfd933eef735d16b7623f13affa9073c9c6535c9d1759"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ro/firefox-48.0.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "e053c7a6e968dd8dabc8e9ca1a92abe1f97ac754c9eb0acf12e80c9f507f63f8b32a322623eac0914d1f640b5ae30abf158f2889e2fc6a2acfc41cd5881b6630"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ro/firefox-48.0.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "4b75367765b4bb2a89b6b0316a824b58a0440749055e30ccf997d129e251fcfd43b3d5453e792fb34c4e675bd4155b61a6d9bb98b8c5e7a5cd574f22637b3c88"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ru/firefox-48.0.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "4d91d076a6d8241b9209cbb8b5d1ea8f0238197e0a7c151efd03849e56b9ffb825844d67e2810247d524a96c9cb8ba360d07d3dfc71cf548a8db3df428505255"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ru/firefox-48.0.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "dce443a48e515f40862631f5310a56a774c014e21d02ddfda17fb499b7d3bb5260b868e8465d320bc19e8638a79ec63ea9ea70a46bcfb4b08f8fbafb293b614d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/si/firefox-48.0.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "81f99b788a395676f837b2ba1972d1e6eb05eeb6a0b4a40ebf7e79e9bcb82f9399188252f8782ab84fcc021e9e8ef3f8eb95d333166a4ceb205613f7bd105704"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/si/firefox-48.0.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "6abe3abb6771e8bcf1880e777df1f7517b6c784d320e3ca8ae709befe802adca51ddc5996910c6bf7d570e12bc6e3564872001bcb28a1f0143eddd33be3af9c8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sk/firefox-48.0.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "dc6c4bce34a4eae6c9217e116dc558956fd500b3c4ddb8d88a6067c7d6ef746f19901014c1cc3fcb826695519a62aecfa8091eb58f360cfa4c1e65b34df9c2b2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sk/firefox-48.0.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "56771e20b4148ef16445ebb8f59b87b00eb7aa1d3174beb77eefdc2868a3468e6cc4e811cafddeca8b7b9e5b88b8c75101cb3a78600c17fe0376580d8cc4ad54"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sl/firefox-48.0.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "737a878720bbf0038145aff1a460debb7065b68a07db5d6ff46234fbb39eb06d0a3d5b6b2b188997259e6e8e41af30b401646b2064e55e7b6ee25cf5c63b3a02"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sl/firefox-48.0.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "a5767047a75bdb5839e9ef55c50adac95c6f6d60bd0e4bbbee531657c4cb37db0e51b82a9db498c3cb151496cb0f2f72126efe45627d0c6c8057a081d2c2be35"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/son/firefox-48.0.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "3f9f457096b086e35757594305c446591f33d414b9a056c4869aea05d841d378abd9c36c4ede67d461afd7ad1433ffbc091da45d49df8c98829e6ba303778791"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/son/firefox-48.0.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "702df22f5564d3ae3db222d6ebf0ba96653233c8596a910a7a599f43021dbaaa2f2911a6c3414f78305ab428877d303bb7e8a42336633c359a1f96918b5ef048"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sq/firefox-48.0.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "3bfdd90de86a74c5f9dfece1878884ac652a04e3d6bfc9245d40703ff30ca000834cf71333596f5c84e7bbaecd02b0068b4e221aa8515924011afebe82c3018f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sq/firefox-48.0.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "d1b26f23a8ce2023f4b191b33871ea03ef361d9defd81c9ede4508ac9f8d2902999258bf2975e0f92120aa9109808f5818ad546d059b052327911b854f5a09cd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sr/firefox-48.0.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "4834ecae89b424d1152650a1a2f3c1f9f900afff09a713fc9158834bc904fd0063742f47cba7afe05c9c32048ae2a9929dad9485717f759946348c081ef09e4a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sr/firefox-48.0.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "a625bcf7277694a8ec2bea0a561b581b9fa5062d67c6f5a247f8b1cbf29860838a6d24902208cdee3116b6ef2bd97ff094a7088b45b70ad66f9d638febb12e01"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/sv-SE/firefox-48.0.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "7a4bde2aa79928adc3dcf75f4d1e267e26cae47fa03086aa4586760551b78219a78a22da41144eb402e6efd77830200858d01415d434020da433447119494e68"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/sv-SE/firefox-48.0.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "b2de3cee2384b183cff272b1856f3911655346704d768a874d44ae7a78bf2debe3fd006ee5fbcd1f44f3cc0687fd851832231c5c36c317952d5dd9e06d3a9f66"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/ta/firefox-48.0.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "0e7483aadeb8a588075c688de52dc7c9278f3f72b003e10115cf5353d0100e63001691f8e09e5155f0f544e847c3965a3e938b2e4b640a4dbdb9eaa837d5fa1e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/ta/firefox-48.0.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "73bdb7c53dcd17a14ffbdfe34d5053b00d8f1f096869be84a5a2dcd64effe14670081da3ff71fdab8cd636b76ab63fa09f4f03d6da8fee61007eaa2395b1eff0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/te/firefox-48.0.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "35f4e0914262392b491c1379ffc81bc70206965511c54b14fcca3004a67938b0dfcacdb89bf1fb1485e5f43b4bca1b9f0ccb7bc1a7734d55ec9b6e6fea9f7050"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/te/firefox-48.0.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "2aa1f92a0d3d60e1e9a38fa08b76d951cbedba208f48298cc41dcb52bb60f904fd34bb124b7ad92da672a921df13abf32cf4defc05aed0a714de7b8503d240d9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/th/firefox-48.0.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "b70ced17faae84781ab512e2d84d31204dea6fb074072bd60529f52209135a71d4270d4ad7c21173de9e545e65785d066d453fa16ee28ada39708e256451be2f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/th/firefox-48.0.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "91767bda7438695142b9eb16d311ecdc8e884d572775627867a03e85564ca20499f1892cf948dc7daee17fcc39885c811bb37759db406393cbc263dcb8bf95e4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/tr/firefox-48.0.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "44ffbf4cf5993243ffe6308ff91aa4025020546cee5d446481ae1b9dade1c4f98a726ec9ebed15ecf63437a0039e42265a4d4444dc3560ea42201832c0db03f1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/tr/firefox-48.0.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "48869a5d1c60a43c7bdabe9d55060f6211dbd18e8f4e438cc0245c151f37eea748c3c05c9e9811e522df7bff7a6b531ce1bba062738e95244aa2e0e47fbe9ee2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/uk/firefox-48.0.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "93a0617b74fd8e19b7289cba78182b56d76e754e55b5e666fe8ad34e7f0b8529d3b5575a1d695f5a8eb19085a2e09d5c223a5663c11e5cb1011700b0ab80ca3e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/uk/firefox-48.0.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "a0cfb64b8ceb111509778c2af0d6846eb2b212db04bef166c74b47c7c85dba51379ad1b4d97f0955c75ef04518742136fc9cf018359465c9faaea082cd379906"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/uz/firefox-48.0.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "9ff52914522dffde0c4f2767daefc4cf8e3f15075cdee1bd63fb8cbdf052c081ccb82cf22091b066d5a4ad1243c7efdc384b972fcad6985b4c0d47de03ec9131"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/uz/firefox-48.0.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "85f029d028611d25055ec115eef07b1433c61c0d1c8364c8fb8aaa9ad8d89ea8ac477fdae90a79653a45a47a936397c0f4f758aa2a708ce9b12d2872909f1a01"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/vi/firefox-48.0.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "deb75ecd16deae76ed58caa155234c22e5829c087be9a7a1309a13fab822c524f879aa752b76945a7ff1bb0527006757583180cd7cdcee22dd6430cdf43b3fb5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/vi/firefox-48.0.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "b36d4a40c11c2cd4e0bc92afd4147c2114554f87d852090f94e13854da2b27ad4a1bfee349d8a92993fa40783adbd4203d2e13767734176b47548ea81c365619"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/xh/firefox-48.0.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "8efda5736eaff631c1d8a752fcc58a57c6bb3b9ad10cd2f1803e31c25ccfeaac53b5118ceaac994131b40aefa2822bbffc584f54a9f46bcb31a87d76c9eb7024"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/xh/firefox-48.0.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "108ddf05b9552eb25165e093fed70f99fb91f14ba7db17a32c55715da22da702c3cc0d52e1c54ec48b8111e570dff00c88efc2be665ab39f804f733f2778e62d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/zh-CN/firefox-48.0.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "56bc566490056d46e9adb2a63fe37353eff79f41d7f657d67265045b57394e67578e8dc8485f8500603ec94f6326a2f643d3fd7dbb522912ecbc4571863d804b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/zh-CN/firefox-48.0.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "0da88b26ca2fba192bce4462945f284addd1b660c81baec7e102daad61c18471b4a76a0c4c66dd85e061278dd69e418e999c58bd7c6606426d126ff8ecaf2e3e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-i686/zh-TW/firefox-48.0.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "1d410032e898d0437cf1ed669fdbafe9103944c35c135240c25a3e56116bdd2d926e3632556fbc916d465287e78ec67bc7204d8147596d0411d10f914fefccd8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0/linux-x86_64/zh-TW/firefox-48.0.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "6c39f409eb4b48a5b38dc4d6a82f4d9d82b78ea82af10f338108f0237ecd1075cb9a00d5786b7aa9d83051a994e0a05f59f91f12d2b52953bacfdcfd05411ed0"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ach/firefox-48.0.1.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "84d34e59d4eed11498b8a37e7bf2e0efc776a3598fd461f6a2930a1faede5f6578671ba40e50908b951eaafd91478eaa908d9ad40ea0e63d389ed4d8adea380b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ach/firefox-48.0.1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "7cfa63cfc1f7c4b973d413cbca648b6bfbd97eb55de887db0e530ff0eaf61b5cea3f367f87b1e6894b40f8d5ad409dbe4ce7152c2c3ba9f02b82444a17c589e6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/af/firefox-48.0.1.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "298f0d9d022c746394ac6e5f9138a1fb228229022e12857101322295b86aaba71962a4d61839146006d21f2a3839355f7206b23c83a93d638c53344925fd0291"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/af/firefox-48.0.1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "5edbd16925a0aaaaa944a42f04c53a13eebfae03163666d0095e41fc6525e11dba10e60c9b064c19cfa2337c21508178c403c30c250e3d23ffb29b98ad4c50ab"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/an/firefox-48.0.1.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "76d66deaef18fa92c29676b773947c8ca84a381c0e092e23ee74a5b7b66439f511e1164241f81c95ec4f1b13ab1e2a42d886ef199e9795896ac00deb35ad8863"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/an/firefox-48.0.1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "a958efab67dccbdf74b486d5480185d04d4735f98549c1017ac72256b1cc62b10b746f938d3e29096d39a6e881caa68d6d164a4271adc5380182c8cd33b6e8b2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ar/firefox-48.0.1.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "d6e80f7898521fd1ea0e99984f5bbb6e7602ecd84d0ae8f81a09690794c7d35e13381fe7af7fefc8e116da32cebcee4022b8651c04fd0bb777a42e5a9b94a312"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ar/firefox-48.0.1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "80f0a19ea99e6058c9f753441ca48dc1bbcf64190e9b1f2dd424c0b65d229cbc2badb33bc619d98506d3282484ad03933eed8a502c6606a41152e556861d8601"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/as/firefox-48.0.1.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "f4e580a52d0a1f0886f3bfedbf1dafed4322be6ccb219b76c52b73680dfeaa1a410c55d903918ac5e6592eab413354096a16f8aac2f70613355823ecbb86e976"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/as/firefox-48.0.1.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "b5fde624790b040ef3b87824582a7b6171aff5e2eb38a361bdde93b021250460e0e17ae0b62a2d6369a0ca56a830019291a84e238837fd503acd9ffb252a81aa"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ast/firefox-48.0.1.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "1bfc20ecd519f479460401ee32687cfdb7330430be06ff69d4d5b5ef4141ed21695a88b4d43abe5c6b9c4f8a9156ec7038f93077aab5b466298b14a19ab0f116"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ast/firefox-48.0.1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "5ab70b9517830367645b3bde761d048191a7d03b9c7610ea8ca131d9dc381326e069de8a74894f1aa415adeb15471656b5f7d5189651db40e33ad3df99b506a5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/az/firefox-48.0.1.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "37f1b6eb7e07a21b0fed9b987fad957ff737d76a55b8f7ad55479c62a9fdb75cbb365fc3af2203e6367ac995fd24d1a310173aedc388014413b5392f74652ffd"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/az/firefox-48.0.1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "4b3a2bf0579debd0de0bbeae80661bd8b78157a17c8024c2d894848c555a524cfea1fa2f99c45c194633a7eff64d0774f577f179e2c719ffc981142811c96869"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/be/firefox-48.0.1.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "b7d1b6bd405fa3a033c73939b07375ef21943a3543a0c99c511434e4ce289cbc4719d68e60ec98a6b643735ac50a59b70b1c76dcb3d9a17a97abb7668be66487"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/be/firefox-48.0.1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "bee66588c5a28d614c4949a317bf0c8d9a0be484476f57383379768c0ce3b9c8c700b7477f006e369ad34e8190859c7047209509ad59d09da18bef1b069b22f3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bg/firefox-48.0.1.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "30d9f0f80a78e19dc24fd5a0e618b8b3f299eac429e4999f78832d5248fb6e229c342f202db0b2f6a5910dbb34e8f4388598c74739cebc895a393ad0f2b788f3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bg/firefox-48.0.1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "cf3c0335e0be4bde722f94b41fec4a3d60eeadd6724d0905c33ad69c690c60ba555f132209868d1d9aa97c933775d5b9e399600fc4630573fbb9009643f875b8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bn-BD/firefox-48.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "17f1bf0073299f5428b22420cf1891015c5443d36ae9ff1f63a36fcfeab4e156e5307d23856f10ae6fc554e95f42548b3c12ac57411ed6e4c5602e829f71f8e2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bn-BD/firefox-48.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "2a5920402029c072751540f1777b68fb35f56a68045c5ae7d6065d385bce78e735c5085541088eb626f575e8190daa1800768d7c7603c4fe9ccb316c0537c8c0"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bn-IN/firefox-48.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "f699ecb0a27d0ff47a1424152954f9207aa32ed44227e3b8b34bfbe45a4667a987de6d87eec5407cd52104dea454bae93f54c0f5972694b111ea4e12dcb8a556"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bn-IN/firefox-48.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "1657abce7f712f47f9c7b0c326f5885affc9f34729a3f23e050f64863a81312345f845f504b367098587a2e7fdfed135d21e82bf1f1ce8a1bdac96daf4588f57"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/br/firefox-48.0.1.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "d086ad6c4c9dd91043dffca2e94df0b35e9b4578fc4d013a06ecc35c4d7ba529a3f248fd91e0cc3e88330790ae97ea7d84f74ac01c88d43a6df68d0adfccd53d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/br/firefox-48.0.1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "abb2bef102b4bd54ee916d36b88e5ac6417bf828a66740eaefdd160684e2b2a02d9b64cb3bb81b4a4917e38e68a7e2ab2ba4258ec12aa3e1b026f0a4bad43c23"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bs/firefox-48.0.1.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "8344d35edb7c4eba1e37f7c3b2f61d72f1ebf0d4f973d996704ce20460b6b91cc22f31cd92528d87a2e8915f287d2dac656aa8a09e54520abfed4af376caed1f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bs/firefox-48.0.1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "1519eded3832e950d7a11679c9897452510d40978283fa46f1637b9eeceda61350c5b70168a84ea7adae98c00dddb4e6e86e1bc81f01b6517861dbf88304f83a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ca/firefox-48.0.1.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "f4756c5d62f4a25c46be2ed264edd32e30d63e62029d9571de8ea6784edd12aca8b7a139f41d3ffd59ba72f3697a24a4767f29f11829d553eeafbdc5bc4944e5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ca/firefox-48.0.1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "b495de2da2a287bd89f1cfdcc9cf618a70a22312997f1e56a4283556265edd057dffeb36c10a8c8cac7cb5ff992870f9acd53d3776ea8504279d0841ee71f884"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cak/firefox-48.0.1.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "ece0d38378cfefd940136f52bbcd94330335afa9fb70dd63dbdf59ad1f2c9cc5f233fc2ee2a8f6a19bb0196e3c59f59fa018f7da09a091e21e361b4c661364dd"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cak/firefox-48.0.1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "b1b3e74890bb30dd94a220b2ed25270de000bbd9e6ab018e57d141e8932c00acd9985c811fce61a463f7ba25c11fcb4457057d854266c56423db62865f3b9ba0"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cs/firefox-48.0.1.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "9a446072b3b48d343ca7ade8c5882ee0dae7e99ad41992e1ec6e080fd28f38031265d9e541e98614d92b048c2d61cef356d331aab1abc31f724593025dca46e2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cs/firefox-48.0.1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "19e9e93827b675dfc1f0a88b244b884d2621d3adc85259ef754413f4bcd4dfbe7ddc784fa0b79b85b41ffb1ae65fe9d6c782a38d5f251077a8b1d25cdf523eb1"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cy/firefox-48.0.1.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "70471edc640730e5372da974bca2acc0905b945eb9d8ae3a4b030f0624bcbc53fd212929854d527b078fe97b41f19f0051306e62a8338d72caba5f297a81b492"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cy/firefox-48.0.1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "787ade4530fa3e716e1e54c3f2214b2ca036d0956d41385abf93db12e2bf73b149c17274b25ea3581d0cbe59c1578d25926e599dccca24288bfd531810e39cac"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/da/firefox-48.0.1.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "2af48a7bad80828531e6e8d611a133f1cc43de844273ab28bbb972432f7607689d6f784ec02ba2e76f5580d46a814fa09ecbe15bea2b10407620c4d2c71253d6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/da/firefox-48.0.1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "d42207aad951e0b96317b05f2439d635ae36cf12cd7e4b149dd59025109783181929b7435334384f16dab56b7b6309acd4530caaaa22eb41263406380dac2fc9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/de/firefox-48.0.1.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "495559f2c5a7c6e21e6887d0adbc5c39038eec7b5947885c8c11490a6078f87e264ef622a0df7b2ccc8942a990fa8b8b70387e54a56620222ac4acb5082a31e9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/de/firefox-48.0.1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "0eacaa9d0a2bdbbf88aa183d10108c6df25c2f8fa60e37b16b639ace18d0f4882f535275d7f601cf452555786a7339780c94ddc7ed94135db588bc05afdc8077"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/dsb/firefox-48.0.1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "5c6ae45ee257553c32c708f4f027e1e938bbdde9715bedd9da44339da1e599302f081ddc4cec418cc5e0f49b12ffd4f14c4b7fe2495569358452fe82f60ae68f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/dsb/firefox-48.0.1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "6199a2cc832e07ec50bc1dad515e7e9dbf030cb89d450ce74cd695398e8028707bfd071cc5aaac61f77bc478ae08a7c512e01387c3d83fbf2401fb33176a3d31"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/el/firefox-48.0.1.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "32dcfebc7f9b7d1bb2b9d22fab37c1156ceea29af0b55e01566a11afc9e7f0e1c590f5edc54afd9546e545d83460c358363b627ef8b10513b11648b52fd2c131"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/el/firefox-48.0.1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "de23bd4671544ab40dc5aa10271e9876f795c0ab10a9a91df7429471f14720244bc190770f50e0cf6e64cf069dcdadae235dcd0714bdf3120cb86c080035bb48"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-GB/firefox-48.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "ce36e954a355769c771f90808c19c6043a64b91b0e5764eb5a0be22835f84b95ca05bf60c8bf23d1c22cee7cf53e1d6f088186c6fb112577343ffa1e905e8f4a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-GB/firefox-48.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "d666e4a0334ee1f5c779514ad02c7afea7ca0c096059a6c30380064f95ca31f1d54fc5e28ecc84dc07c0859eba1c7d8b28fd62d2c5d8e4ddefdec7f302f8c4eb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-US/firefox-48.0.1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "efa20f6c66f837dccc6067f7ba67ff35313d49bdb200f6cd921135c380b4501d74e1ca2422d8193f74c2f32120b784539e3f42471ce6c17a3d660c8c1063c408"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-US/firefox-48.0.1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "645240eb0c9d97a31444f43eb8e504b6cc7ac0b8dc7c835448818992b3a1d531eb6b4413270a1df4b93a93c70b248846a814e94ff4ae1f520bbb0e935f13e4ee"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-ZA/firefox-48.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "032fc4c1a6baffc23aa7673cdc6f3cb8c72fce43940cfb1efb94cbe5876035e7399dc81572588730cf26697234a7e091b726416f9de5bd8df8ffc242efc86d42"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-ZA/firefox-48.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "24acf09ee0810af0eab93fe3f9ef198e61f64b91ae207ab030b070c1fe2f7d2e509f341828e278529c5874cbc9984c070f831ce0db97419082bfe5d1d3aa9791"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/eo/firefox-48.0.1.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "958c51d91df80ae93d334cf7b13239138f6f736b5eaba5eddeef49ad994da818f5fafb1eee3fe00c71dd1a678ac10e877cd563833edc9676459cbfe36cf1235a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/eo/firefox-48.0.1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "3d11d451a9d71afb68b03804ce1f60a773bc65bc611817d124aa762fe9c78797de4ea7271bdcb4a08abaaf883fdfe7a4687ed9f62424c0d0367ecffa5110ae6d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-AR/firefox-48.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "0149b3520256237c2bd246a37be79d33f59f3a80922538eb964d0823e527966230e35b43c1590acd6300545e16e4ffe62b4a8557f422c4c640a7c54c0a6ead46"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-AR/firefox-48.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "b1d50cc3efc94703b8c198df41ab9026efe818e0183baba85fbf141417f829f8ef93930b560ef915e25f67c29928d924cd2ea451283ab9c717b8f91592704f0c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-CL/firefox-48.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "f9a68f02c20145a11c50384977dc62a83b6212a649e399c0922b3139c1c4e133fa76f14999f17fae4c992e28c60701639200d70f6daefbb6763606990597e725"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-CL/firefox-48.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "32d8ba95b573d8142dfc8e86688c01a91bb2fdca03bd4093255db0b8dc13ad8d0d0b3f2db05735e49a10f50cf6d77447b1b695a2cf1fea19203a06813aae1d72"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-ES/firefox-48.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "5ebc55110682d4d033cac727ed769f9931a95782851a1945a70242d2fedafef5efe476b03721a7aa6c6c86a12296de72283cc9133d5ccebed4ac026e2e1d0dc1"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-ES/firefox-48.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "6cdb77f3267c3c23cc9e69a226428c90327930c0d8b166bd7c883adf1addf27a8cf531c2b931a2278320a0e182dac7c09954efb231bbe5bbb52a0f0a62179d6d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-MX/firefox-48.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "9c62d1b59ca495631e8da9ff262ebc97acb8f6ecc4dd1889c110f0dde8eaddf97df7f6f75e2ca21a4b13c50e65939f7a6d9ceca3c1379a92a641c8c9787ac5bc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-MX/firefox-48.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "ac076fda6eea7e82ef8da3206a88466994730d5b0a5455b11de4e39b5675ed199ec738c52ac44f15c4056c3c115549ea1822674c5fa70413369f9c8471074e62"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/et/firefox-48.0.1.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "dd7c076bd9eedee3099acb57b0a7713cf8f2033a4fabab81a900425d9c1217345351096c7deeb791fafe7247d8aa6b5c1e8aea0b3aff09fc2bbc91df48135e14"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/et/firefox-48.0.1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "f0a6b6772be00616aa1520aae00f4bd6b8ca1a98eedc9a7bf30cf11ef90c12c6b5557a2b4b91f314a1118e84964f9d5b2b9b978d988306bae409006aa828c009"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/eu/firefox-48.0.1.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "03aa604c1884f6a18e6be1a9244e1fd9a1954328d7209745945c9782613f3d85ced3c174d95d05ed462a17e8b663e956e4fcf502a08a9fa0b7b280ac17ea77f4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/eu/firefox-48.0.1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "b52666bb77be972c05dab682faff55dcf15ffea015d12776fd876079da07ba6e10550e2fa9b8da8c436fb24fdde52a995fae045b08c404c39f80f9b5aefc7343"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fa/firefox-48.0.1.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "db50861f6a057cd1101a32193a99adfdcdddef644bfd3d963e1066704b72c1d94ee5f9bc71dd743969e2ea48baec75ff219e85bf915f2abc534e8a1138dd8306"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fa/firefox-48.0.1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "043fb255127630304756c51d49d5dd3989a3d86a1fb5625b26d55872df4e2eb935bd7847516324c0d6ec5d0e3a1d341b00fd57d82d4ae25134d9f2c477327cd8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ff/firefox-48.0.1.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "1ef36b933799ed72d500050223d45d3092fbb2ab9a27c4f375d5442f8940a46488496ada23c6c302866324d23bbbf6e233f5ff575268994ae8db8027c4c842a5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ff/firefox-48.0.1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "b88e288b0f3e9ce3f58684930ee5c51c3074c335fafba0b22ab86f3a9c2b82da68fb174c88f82c0d5224970ab0367f8c70f31e36042a0d032923b7af878ebdaa"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fi/firefox-48.0.1.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "4c2673a54ad69e257367571a9b5d660a2ba059fcfd3fb0ac0da5ba75cf64e0ed0937562afa1cb08e6881b97f7090cb0abde8da69e7d02ec9b7d7fb1a82aa107d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fi/firefox-48.0.1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "9e6a489b5d6913c0792947c270a742195503931d00cadfb8724fe64aae2ecfc55ad2265b2f0bcfd3dbfa816b520bcc53e02316ca5863f6c0af1075750d6ca537"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fr/firefox-48.0.1.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "4b63eaee80c8507800f32363b7510c95162af01648cf66202780e875ac7025cc2b1b5100f8766d2cd4942ac213e61bf9e45ebd3e38243f80f89d4ff07a9ec15b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fr/firefox-48.0.1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "bc6b5ac4a9ecce521292aef265dee3c08ff38bcbf675efd84fcf4124a0c491174aea873a745162e5b60fff3f44fd125daff884d1c1b7a16989fa94dc8c45206d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fy-NL/firefox-48.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "2663db9ddad2df4bea7064f8a95c973f5bd88a0526f3261d8345d8b9620a6cde2b31cc88fad88612ae442f4be1705863512319fe80e938aa6c25396a21cdacda"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fy-NL/firefox-48.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "7562e80ce278df54433b1fbc4be29090bc3135b2709fc0bfd357debf94da846c68bbfd215a761faa2e678c0d7c08ce0202fa35b4b3028ec1564ab3280f097e70"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ga-IE/firefox-48.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "0b6da27a71ad06467c5cec5f24140ef3d8951c8a8d8888984e78857d0ac078adcedcdd6242e4a21e101145a953bb1dadd9fba008dde9c9c0fb9101acabac8615"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ga-IE/firefox-48.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "42110c22b758cfb9179c2702f654bb528e53b1ecaff8dd1ae2b51a8082b2f79e4e54ce5a2cc9fd851933d77617ffa87c8185cb7c2bf2a44645ae8225618c7952"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gd/firefox-48.0.1.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "55cf8ad21e279c1106bbe9a8ebe75ae5ae25e668af9ba2d6724270b4d02d3bf385a4618562b37942523e91a5a7c6657a62f196c7062310b19abe2562e1ca1b6d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gd/firefox-48.0.1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "59e153481dab5cd9a0c881e4420e91ded9d425b6de76d6cf42bf6cdf8144896caf88800568f52a2865de7c15e721530b5502e8c1dc5061f88f801fa41948b4f3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gl/firefox-48.0.1.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "25bb23a847163a17fb374c931dc5c1c899c261721a1f3020c4227234509c3af73f9caf0b78734f3447b6e354791b2ce4dcd1beecc5357f048960be9edc6650f5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gl/firefox-48.0.1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "e334f859af103e1fed8b456fadbfeeff05e8ef6a7e12717388f9be02ee17b5d0b5aa56311911d7295bd3ff8c19a95dde34c160ab2483c79690859ec2bc35f4f2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gn/firefox-48.0.1.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "5ce70cadb52acf75ae30122531dce3be147da587dd84b169d0537139884b993ca9b6646aada78f52e529450d23c51943d15dda36e921815bd89db9a002b34e90"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gn/firefox-48.0.1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "b7c60eb01b13305b7caa8129714dfcb3ae7d6d7ca0220b8eb9b68915b3ff60238ff4f9d10120649586234cc123e149621e000efce2337a7bfb95762b89ea929e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gu-IN/firefox-48.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "415dd82b8fb1d5b51677e4b5c9fb12533b21582f5e408989e6a2f0f08f1ab4020e94bb8d07c53c3b0ffdd052ebfc048eb74f1a8f40e6ba2df9c3e5ca5c4af3df"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gu-IN/firefox-48.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "8d11429c00e2082ec5f87f278ca0fd48b5ea63f551ceb756d10c4a3b064988b856095c35bb5d7b6b98882276eb4bcf6cd3eaf7af0f85b1c419e91b93254e0b32"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/he/firefox-48.0.1.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "d210471e37da7e75fe68d16a134b6dabed991ec0ed74c506e646e7d7537645d49dc85382e80a6b8183e854140b1833650a1138cd5eb72daa501e36632705a49e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/he/firefox-48.0.1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "66400e95b9e27cf22c2b4ec817136dfdf720f3b49a84a9ec2659485b8584e12e06d5ef608fd2d1ee72d3bda88d41e7bbf7c8320d773314cb1891533ba2b041ad"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hi-IN/firefox-48.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "bc2efe6d01ca4dac7532ee2c8e11f6eadb082f4c9564f270889a5fae56e424e87540a1c49823bde755cd4cc1b5125a85a13d9ac2ee64c96e3d95a1a92fb2f3b4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hi-IN/firefox-48.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "0808a4421df8b98ed822931a51193d235b2421876ce2e2e9da66e676ce717b16dec92e532aea010170a6adc0cffdc2ab837d7d169b2122b946c3478a265b1688"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hr/firefox-48.0.1.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "0574f36fb28878f086af46e5818636a5dd406e15833b85ba752996305643623e1f0cf7374ce572a3d966f505a0c5b046b634bdaf8766d287674659cc192e396a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hr/firefox-48.0.1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "66bb03fa5e3cc470cfac5b61d14c0100d27050889d3585e063d79a5c20e6b94041d0b9366216eeecd578f94a54ac11fcf20093c1479d52b25964465d4328b9cf"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hsb/firefox-48.0.1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "ef5daadb2dfd7f8ddf5296397067d6b87e56b26082fa323b4ba9a3c4d22d247b94bdf218e7af2a73baeb11d3444a23cec444f8019bf51d7d0515feb0217ff24a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hsb/firefox-48.0.1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "652128c26179e16f6b4fa8930933001c829a69e268f9214d01e5aaf62fc73ba973dc316ff95ac9dd232d3fa90241717b163c03c0e4fcf19681f2db858506faaa"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hu/firefox-48.0.1.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "95bd19506c2afd6dc34c80ff3713ec5ba7447ed173bbc0b19d908ca824f107e1bfe57d567500bb70c82011a641e6e0735ea99c662124e6a62d7e612f000a8724"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hu/firefox-48.0.1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "98dff7f7e6a98a1f16420f352ff4060ba648adb0358c51f37c606e22a39dd523b66a2fbf97ce847ab4caffcee1451582e9e9db8df5680ecbea26ccbbdcc0009d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hy-AM/firefox-48.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "ba7dd08d99ec3bfa640be9724a7b41ac8a91e96c46b08eea10e3af3594e05838ce5b1a3597358c27ea97cf01ff812fe3c7902b1d109e4484594e51410f0c1ef2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hy-AM/firefox-48.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "417dae44b78e42267498369cd6709ce29e2efa71d4d73f46c867a234ce9706e64c3d43ea997411081d6e9be1f7dff953cd6a84eac2698a2672f43d429a776bdc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/id/firefox-48.0.1.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "99aa8d4df3b2c12c5a80cf0d120f50d695275cb700e6bf755fb2b489189dc8c269c021a4985dce949ecb829e6f04a6a3d13469c6ae6a75fbea7afe5f380eb82a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/id/firefox-48.0.1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "b573e1402ef0a865d03f086e6a1a94749224db95d9c3c92d4bda3b4a04599f91a85239703fce959b256b688e09e6811429e2b905824639e15c748a65cb405b1f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/is/firefox-48.0.1.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "1881b4c3fb880dbdd5ba8ba0a5639afdd0d9c3a92f88711c05e5852d4ad53c4bd9b95908e914d6503973e3d4733643335c966941784cc5ec611bb34126d37643"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/is/firefox-48.0.1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "c78471e582cda47ac444bbd125a418ab6488767a9429cf16a5aa97ed379e628d2c84bc58b7a8f08bcce83bb0e41430a0b36424595fd7bf670347f6a8af345e69"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/it/firefox-48.0.1.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "a8c26050ab91294b0d28c326ae95346b009b678f29379ca1d9d3e77d2d75f46d79514be4f003be92338156a0eb84220c3da80f296d4eebc38ff4ddac3e43754e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/it/firefox-48.0.1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "457808b5ec65c83128e3e766943f5d778452771bbc3ea4e24624a5ccad5e32d03be07cc3c3861c3c7e1cf43973835a326de26e09f2a81f12613196c846cfd793"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ja/firefox-48.0.1.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "12e9bf550c12924e3262d1ffe3dbe5c0ab59cb9ad05944171cab95a10f5c3b1098653bb72801c32ed141dcbfaabfd61db474a9e2928f0e3472697ed6e110a221"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ja/firefox-48.0.1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "e2c2f8e0aff1f3083fa4fcf5daafab759d67242637e5ee325451c8e4e4c745720d379aa0041fd00a83f10db689d26ddd3f07158bd1ddc482fe0ec145de484d92"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/kk/firefox-48.0.1.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "43dad155aa22576500d16495973d50edc8b24b0616865e2ebb66e09afcc6ab69c2d5671de18c09dc35575e4df1ba0f59d560e45d8b26a4c619f8720ffe682d52"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/kk/firefox-48.0.1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "98316052f79b43bffe978471ab2d39b675e4921590aa8df59552d3f00499af279b085bfc203b5644eb12c9dc667662f48885d4e7b9ae3bbfaaf0d9d455073ad7"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/km/firefox-48.0.1.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "a96297705366912ea645df1c489ba5f298887f2fa9cfe35a68ed85c18476331da645c5c16945b9ca8a55a56567fe25dc3fdb4f7787fa53565da70604483eee45"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/km/firefox-48.0.1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "9676d854f379efed87dde5fcc0b858e14b67361d0e79d5dc6444531f56c64d4dd2765916e48c688f23a89e8b4778d5f525bba802ca3e1a475be9849f57dc5a6d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/kn/firefox-48.0.1.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "82fd2fae33fa1274859601d69e864b6b8586d62ef712e0ed44de37f74546624ba99d5009b51ad52f21580ab37aecccd7d767acdc2bd318ce8e1b6ca7506910d3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/kn/firefox-48.0.1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "575d9dc9a323364dfc5def354c8b81b31beb63cce126d289874bddba92e3a2801c0eab6009bd78b34b63a9f8b708e8de904d3d723233f41a19ac267c0a436228"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ko/firefox-48.0.1.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "278b40ab3884626704731b0573a7dd097d59366e1811d049384da200353dbd4492ee6913c935e5b2c28480feb99f0af746ed6aa7bd712e14b578559f6bf03d6c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ko/firefox-48.0.1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "d722c41396642eb402e77722fa9f2e5b7aae610924f6ca8ced78d8b0d4fc65d00d123014169cf5a2c4c39b495b0c196ab26e18f0d78aa7c30eff2eacb65fb352"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lij/firefox-48.0.1.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "2aebe8827252b05225efd7a2ed2ad8ec599818b30526fe41752c82e1e5c5c756ab899194c86cb95300ea5dd56cab354a32169317e74756aebd93f1932e51bcb3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lij/firefox-48.0.1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "f394698e7c62d3e3a9d2e52f0c706037a9af622a36d4fc138ba91b3a2ed7154b595b965cf756a1e7a4f050645d2a70626dd651ca5383fab244e65065d73d4187"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lt/firefox-48.0.1.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "ab700214ff82fee55b875c00eb5d9b2303c49680f5a81b4fb6cbecaff7418f8ca9d891182ea2bdccccc9a9024ecc4282ed48ae8f54c72d4dd739c9a207f09b79"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lt/firefox-48.0.1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "394926bbee72c781561de62cf2fb4508d7ca25f2809997f182e8cee9c3a10075bd376b7734ea30f2d79744f6c9eed31a2a13c74d42c467390d8f4de7e4abc917"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lv/firefox-48.0.1.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "5085fb9e2350bd6660898d0daf1ca407f43838438f6d9a2bd24d77797a9c8d664c5a6130166d12ef4bdb82647b08918a9241fe44ee6c00b4c82c325c6977a24f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lv/firefox-48.0.1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "b2c73d85eb17671a52935e7fd306fb854778c497e1d28fe67837d3d513fb1c2ecd883e20aded31a0a34b459cf038bdb817f5a209dfeb2df7aee330536a01e3aa"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mai/firefox-48.0.1.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "e71963728df5cd9c8f9c739e41ac3b03678b694cee30f03a080e67d09f5f6128da579b0d150ef04e79ba2a90a752a2c8cd9339ba7041854a86de0a0e77d07901"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mai/firefox-48.0.1.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "c65cf00c6767d2d22f9554882d54a5a2de892a353fc4c0316d8d400fb7c78a530f756bd1aece7b8ef8e96a310b61020d3fd62cd7c92721118297f4785ab880bd"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mk/firefox-48.0.1.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "32b2b565827ff5ece25001110207ad93f09d5305b92e426083361c5b9a0cc4d9cd10e1cb4358056b36efcc8c2f3c4c25a764a1f99783452303a713460b312182"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mk/firefox-48.0.1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "6dfcb59d56352b0de7a4608a77b2bc2f668163049e8c7ffcac37d40b2212b59a8e3e8348f56fab0d045e5a9e2fddcc9a2ed6d895f56f0e7a15bc1706ba0769d3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ml/firefox-48.0.1.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "0120498f7f687527654a17fac56035809b09cd2ab9db01eedd82947c078980e0319ed6be091d69ceefe6014e2cb4539569cc393df8f65fa6b1a10c6ae880a79f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ml/firefox-48.0.1.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "00cfb9317afd0e3798eedbd4d822715d5ec3788c353a8c60f3d3af81f67b0cc1e4dbd40a8f9cc64f2aa6cb007e59b6e8d614838d08822b70d6b03234126b1587"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mr/firefox-48.0.1.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "8b989f8f53a321580e896221f4221d415548f4b460e1c4368a0ebcabad7b6b7c262062abbad4cb066859219b5470b04a1e00a4e036f0fe4e01e9d29a322fdd53"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mr/firefox-48.0.1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "14733e42d1105fd4a5aeebfb2e7a004f127000fa6363a069273fa60d44e2109483ed7e1472c81314e52f85b472a3379ef71a517193f3d68e6975463bdcebb3d1"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ms/firefox-48.0.1.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "f357bc56281ca1444626e071d779d6cf4d45fc72b04f20d5417ba3248ddd0225872d275a860c11d3bf3bcb5109774509e96974a31840df89663e372d38f569dc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ms/firefox-48.0.1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "2d58d7ace11098567e616f01a47da0c6a0faffd1a7af846fe2feaae67c7a29c1b6a4dc41ee9278cb28f63c4173479867968f20454f8a71198297b5fdc31d5b31"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nb-NO/firefox-48.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "301110881cb905287ee82bc5c7fd051fedb2f438310dc8356876cd78b92f3296e1bb90a2caddd8b0ca18691817bcc62c376bda798ccdb46d93237f10dbae6fc3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nb-NO/firefox-48.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "8f8bb8f9021043caea7a3c81340bf3adca2646d4967190b09efde03d010996dad7f49215e7f6eb56d90d762b0b7a1fc391e769822b298e2d1da2aa456081966f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nl/firefox-48.0.1.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "56be4ba289adbd28ba26f0b2f29480b1ab8679c9b11e81f1b2ded7fb6a9c56229276f6fb4ba6e4d358ee49825ea038eed96389d66229aea4864894f62dea91c8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nl/firefox-48.0.1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "1a35abd1a4758cf3afc32e370a3b09dcbcb9a8eaafc6c97a83ba60586f5d2f1523f97c1eead4372e3abd08df977c9fa1ce42bc5c40da2238877957404485d91f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nn-NO/firefox-48.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "51fe95a96abaa7d4c1d95811f8028663f863f9d24b04a40ab8a93ce8b9edfa64c8b717a407565cc577c6ce91227174c7a72ff5fb92dc4b9fde5434140afcf410"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nn-NO/firefox-48.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "1b1e6be64ba3d38d4faa4ef09a46147ba505867464561d16dbf7f8dd1b9c006112791425c916ac8597bd3574261973dbeacc86ddb9ac10f09713cc3bc325a491"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/or/firefox-48.0.1.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "377dc2cc7721fdb3902ec356c6c2239a275c137b8bd23799851b8db94d9ab851ae5470482ee1b582e7c5961498cc01bfe78e06ceea9b39725156411fafd6d23b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/or/firefox-48.0.1.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "69e69a2dbb1ac376d34feb5a23c7d88059e3f4a41a6266501a45e77c115e87d0d1e05e8c43d028c9edf6635f5918204f090d71582baed4e78c8d600d11eb92e6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pa-IN/firefox-48.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "b4ee9cfb3ae3a786856b4a696d991f64eea6c4c8a6e5e1fabcac981f3ee3fbac267e6b3e52ae2c8483b90948d2bfdd957edfa9760d567df0aa1f367066a43b80"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pa-IN/firefox-48.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "774cbfd5dd3a0810fa69f7d307d6ac1a0f33d095c8e8a5c0ba6a5838a72d71fc63265ca44998f513efd2cb4a635cbc354b13c56837a1c487087d8f9bdacd4142"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pl/firefox-48.0.1.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "61683db5587f96b26c6a330a03c5b3bb20cc155202fde3469b542407e9af60b11948427eaa1d6f6ebc846c431eee84ea51eca1b20517ef6a5b093816ab532aca"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pl/firefox-48.0.1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "8afbaed1c2ec86d5c56ad4e1281a3fe71ce1617b28fd7a80111ad5a39a52182c2b06baeeb30fb6de41f881d65e7d83ec0cda48f853644feda79098d70d04d1a4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pt-BR/firefox-48.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "2cc9bbcbd24da358f711602f791995a7ddaa226c265d91d3f08c9411a76aef8aa4220d89d2154d757edd2974369fd93ee0366d515e2d4e1f07f9283ad850c93f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pt-BR/firefox-48.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "6ed7736d2f58d9ab7a80d46fc9665eea77105c9aa5a15541ed743741437f31e06a9643bf2643d741afe370e0c1f866cfd512caec34d8aa7db0aff2798b6f0acb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pt-PT/firefox-48.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "d65bfc9cea8f24a0a6a9c533f6b9c64f42bc7b254aa01f64344b601460d83a2a66bd47b6c8e7f9d4cdd0ad8c0ca78ca5436300a02f76a7934b9d5900a01fcda8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pt-PT/firefox-48.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "6613c6c5f4ff43948bd38df712fed094922306709e2833acac8394a9c459896e7f437753963dfb560cfada415c2a1ea48bc9224180048362a4a078e234e38ffe"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/rm/firefox-48.0.1.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "650c225935ea3c5b1e4bb43099597749bbaea0e95e8de8cf257a2bf030768b855eeb8a8efbbd1f22f55dc071642c00ce79d74429b8e255186e1bf95aabbc95d5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/rm/firefox-48.0.1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "64bf7df7bc26c40cca37d790525ef7db5a163ea8180a7ca65a856b576ba68eeefa6ca08536d0274edaa6ec25a53c70ca07b640abfb8f48190ec414d12152a986"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ro/firefox-48.0.1.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "5045771a67763b515991b22573b46cb6bfe7887f654f36272324b1d10d44b65b4c03743da6b8ffe1e898f9bad4e6a4f0353752ac36a670c6d2ea1781160e3f74"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ro/firefox-48.0.1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "d6a981dee6fdb84621dc108211a707c4e0231b0ff4a2ff29a16a5d3f4fc47f2b831695b391e755800b43af0e753299bcf1d0cc0482906607713a6fd0f51f0a4f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ru/firefox-48.0.1.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "eeacc5c4f3c1ccb401de4af819b34c385a50099cd7f2c750886e84b0f2bb53b610c4fcba29c9ad525098e3f4d137819979937b78516a796d2750da25685afce8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ru/firefox-48.0.1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "15cdccbc456e9a44c11238d01980ce0319ed8326a14d4897f0c2bf0065d4ef4b52c3d5e19791c79ee0b212618036712b3aae696493b37e00c005adca751e87db"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/si/firefox-48.0.1.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "05190e6f4f409946f90fad97fc7ffab27215136387149fb64a98f234c02b862179fa0a5d5cc66d32ad0d2345647392b3296c244f43994a32d073ec06cb790240"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/si/firefox-48.0.1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "83d2c6e1bd7da4c6e8f7e36ab1104c7621c053c67b0a0c8e8eaf0e9b5d6cbfc52f799c344f00ed28708e3f6057eddab2041b9042693b55f0c2447da7272bc90f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sk/firefox-48.0.1.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "a86d2bb2d42abca227daa3272f487055d0ebf08cb047f4530ca5a8a14b2af086f5631dbfdc215da7d75debd07d892ddcc6c3960d2b24b5af0f4f2fb34481e561"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sk/firefox-48.0.1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "aa7435d973dc6b9b9a75d688e5819ea37b82d511eb38b80d473b9ac118dc21210a89b480489967c24a9c179cceff5057a898f2c25c8f9ae5b92435bd4641101f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sl/firefox-48.0.1.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "d7283f7697f3fc1694567cbc539ca6ade92ee757b1fc95361b214c1a2d2038e1b1b4d8a38cba8fcf9b33722d0e4b8b7332f671c79f1d861ad6d8ab8b7a343563"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sl/firefox-48.0.1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "05877ee3ad41f8eedbe8997f760727011fbb382660b0452ad711f33a48e2770113561ce85c83c0145565231d363ddda7b7005e5857cf930e49172c777caa7866"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/son/firefox-48.0.1.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "7f48530afb2dcfd0737c32c4390b289e2ab25bbd947c0d9e96004f8f17d206b0880e7c52973f37ca6c2dbba357cb97b1fef60cfb60d177e42a5e3ff5bc335bc9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/son/firefox-48.0.1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "5cb1704542582c94f6223227a5efe325f93c293e82424f4ce3da90a381dc01cbb2e70b408e36de3f35e2e48a9aaf802e43a23967f92972b7da1f62e054cf579d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sq/firefox-48.0.1.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "adc97dfae0e2e8d31cae7c2ed942fbc9928d6e938b8ed2f436598ee8f6c5433fb40cecd4c016c77d2e279b85571fe30fc7ff819abc40e28562e08542b851133d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sq/firefox-48.0.1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "67f02ab6e885d0d45d03f514fcd1df9cad5e1783ae2f3d7f6285c8f1997eed09006cc0afbcf6abe0090984bcac988226afa0f2bdd9156f671c548bd4812a96bd"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sr/firefox-48.0.1.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "1023ea71f66a624eb56bfd22c88ca973ef36fb135d7fd2b998fefb4cb8be06c554c7bd6be06ef0a23d23092880197b3dc7cdea40abed6427da6998ae489ebb50"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sr/firefox-48.0.1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "842e1a0c54b58e59711e8262405dc2bc83ad5714a3a017dea5e5be153a4e47638afbe16f128e11105838d8ab10338e6300c06aff73060694f4cf4918c222fe00"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sv-SE/firefox-48.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "0775e2d943029be33ef4c8b321e6f52f088fa59a56064eafa4ab530089911a57d9923acd5b20e45953601698cd87e638930ba6a8798108098d79e39f5267732f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sv-SE/firefox-48.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "1084649ed3d1dbc298d40f8121e54558a599ff61115dd301679ae4c8d0d2542530a855d24a165122df7d73b5076bddd62d6f5ecec60269ca8de28dbed58961a9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ta/firefox-48.0.1.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "392dba7797c5ea128766e2fe50b7f1ab5463e392c83aa9e2d5748c25e35cf65cf15f54a6a63016a37644db5b251ab3975be6a7d3b4f038f2a2eb91dd59605101"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ta/firefox-48.0.1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "4278953713b3a3b90f7a1d262759cae0adcabde89b0c318ab2a128145df8c03da9b7a0ae6125167665a0e12a4efb0fc2b0987984452bb3dc9508a1f40fe7477b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/te/firefox-48.0.1.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "e6a5436858b331e0f4f12107307a662b162c8cc9d61c144b3bf72ece0a179f4b5bdae85bd89e69c8f4751bb9d467e13f0395b58cb1fa27ec33d6e881f9a60e80"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/te/firefox-48.0.1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "15e6c34c2f109b87ffaa66958cdc79c5a7d2454ad58ab598258d9ad8562121540481f66f6b1bc5fb42a4ccdf37bf6f815819ae57895c238fe9b43f6a0d94ba79"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/th/firefox-48.0.1.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "c92825944fa315b5a58ae1c6b6fed39d297e9862d5257f2b506244ce580896499a6c003b203884ebc9e116b7a3ef1304c7557888382b080cb0af8afce58284ad"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/th/firefox-48.0.1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "fd0948e291678f1cb6d1a95f7a639cacae85e1e3c1ea2b8b9435436c3413d7a344547f6d2a5c1c2886ea69c1ae2e5750c929b99426d37325859d2fcdaec92609"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/tr/firefox-48.0.1.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "a581d3877aee6b2ddfdeab231f6ae299edfbef7d4abb33e3c4805093db1a201f892003f9073c29c65c35c4c508e4db26ee43bde3d45ad2836b32394c4d590ac5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/tr/firefox-48.0.1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "21fc9d76ddd83024144883abcda19644eb15721ac61b18d8f9689efee52d1535c7677200cfd9eb5f02bba3d46b68cbf64a17d937b5999bd1203d7c3334b1a6b5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/uk/firefox-48.0.1.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "3c3b6c9de655a15cc5c1d07704235f1c2d6b78bbcc429e9387d27b98f1c7b9bfb355ee1d47d68f0f3f9efaf021af6f958ced6330772e875e88efa4e5c56e721b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/uk/firefox-48.0.1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "90bc184cff6792cdeab8c58d3126c2cb4130f0f3c13b75eed793438dd91a434253d59734546e29aec9f5c1e4736cd5af1bb03ae16248bc0217df8516da1ad55f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/uz/firefox-48.0.1.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "fd4bb603afba6b037fc54c920f518b4d90fe61c89f99a2cb819f5544a7668b232b9936d1232d45ab6d761029125bcbeb70c9436c19d368c77c9fe7e5fe765e6d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/uz/firefox-48.0.1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "886efbfebcb82c7f14d18302d8fe0cda9ec1a08dfe5c808784584e0cd260ee99dc6ffa9b2a3c9e86db7c23c16e52ebddf1529a766a7081685203c77d48d32987"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/vi/firefox-48.0.1.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "d9558de845d9cbe513a42646a5a94e7bbb05db6d10167c165a6ed8b32a7eab49eb29b1bc2dabb49912c2ecb0f3513bad30973700b0c295f87f51dfeeb744ceaf"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/vi/firefox-48.0.1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "21b38b4e19b310773aabe650c4f3a51b8b36fa6ab7dfb9e2f3858e3aa2c13717803115fd78b1a181d34f8910a37745c785130edf8c34609e8add41f987808a42"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/xh/firefox-48.0.1.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "d2729fe2a2d862e95da5dcc7215470744e2c4aa86634d4ca1185c49b543a1247531bcd2c036dd8bb9edb2aa67abcfae011c4d26ba47cecc75e6711e0caaa901b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/xh/firefox-48.0.1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "294f93237f032ba13b7232e358ba7b457d83acd9912e1a66faaa0d6d743e1462d8628c0fc043c3e900e01a067c310af3e07580dcef43894652d27df58a789752"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/zh-CN/firefox-48.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "bea11b948f92a6b3325a348daaf171449fbe39d55c7a4622c675fb433d537f71206ac89c9fb66a86f01716f31eefe2c91501a34dc3f8f376a61458efccde8b4f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/zh-CN/firefox-48.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "da01dbf740c4b7ff182be3916690316ff524c95b4c23e3a64844324ce976d482c750d55b72cabaa78239e131002cb6a143f8b5f157aed909f49c27ac882c6e87"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/zh-TW/firefox-48.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "e728bbd4e0754ae7210773faab7ff930963efb64205d494305c5f9af17743dc1d5fa46e1e99a1ad7e4d77832bcd3653de09f72266826b53783fd7b045e78da6b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/zh-TW/firefox-48.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "c99ce5dad2210cca5bff34908ee4d63f06abb839598d1b5953ccf77e41a2ac75f1a31f54e75c94a0a57b30ec867b3d10923d38d1501729f1ddf0f2081494136c"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index bc170cfdafd..d6887ae7411 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -132,14 +132,14 @@ in {
 
   firefox-unwrapped = common {
     pname = "firefox";
-    version = "48.0";
-    sha512 = "51bbb1954920b4d0e49e2834939748e596ed27c09a45adeea2be2cfbd32898dae41f13db17318e9699fa96c41fb50fba9966df1f88deeadc0ae3bdd679bd79c5";
+    version = "48.0.1";
+    sha512 = "819f726a7e630f62e3d4019d8289341019941df2288e67b1d88d5b16c3ce8636a852ae098905be4f8f2f2049070ffcd008e49cf148f7a6fea7332d223f14a890";
   };
 
   firefox-esr-unwrapped = common {
     pname = "firefox-esr";
-    version = "45.2.0esr";
-    sha512 = "fd67353cff9400080a311af92562b1ed26d20ca2229e32e8c8289b364ebe27fd501eed78c72b614e0501c3841ae9b17f2102158fbeef5083bee8c12d952660e6";
+    version = "45.3.0esr";
+    sha512 = "ee618aec579625122c3e511a7ac83ac4db9718f5695b6fe6250717602178bae9bb7e5ebe8764f4d33ecf44d3db13abfed0d24c1ec71e64a1087fb6d5a579b0c0";
   };
 
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 503c52ac7ba..c9adde4f15b 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -7,6 +7,7 @@
 , trezor-bridge, bluejeans, djview4, adobe-reader
 , google_talk_plugin, fribid, gnome3/*.gnome_shell*/
 , esteidfirefoxplugin
+, vlc_npapi
 }:
 
 ## configurability of the wrapper itself
@@ -45,6 +46,7 @@ let
       ++ lib.optional (cfg.enableBluejeans or false) bluejeans
       ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
       ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
+      ++ lib.optional (cfg.enableVLC or false) vlc_npapi
      );
   libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
          ++ lib.optionals (cfg.enableQuakeLive or false)
diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix
index 476137581cc..a22612993c5 100644
--- a/pkgs/applications/networking/browsers/midori/default.nix
+++ b/pkgs/applications/networking/browsers/midori/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, cmake, pkgconfig, intltool, vala, makeWrapper
+{ stdenv, fetchurl, cmake, pkgconfig, intltool, vala_0_23, wrapGAppsHook
 , gtk3, webkitgtk, librsvg, libnotify, sqlite
 , glib_networking, gsettings_desktop_schemas, libsoup, pcre, gnome3
+, libxcb, libpthreadstubs, libXdmcp, libxkbcommon, epoxy, at_spi2_core
+, zeitgeistSupport ? false, zeitgeist ? null
 }:
 
-let
-  version = "0.5.11";
-in
+assert zeitgeistSupport -> zeitgeist != null;
+
 stdenv.mkDerivation rec {
   name = "midori-${version}";
+  version = "0.5.11";
 
   meta = with stdenv.lib; {
     description = "Lightweight WebKitGTK+ web browser";
     homepage = "http://midori-browser.org";
-    license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    license = with licenses; [ lgpl21Plus ];
+    platforms = with platforms; linux;
     maintainers = with maintainers; [ raskin ramkromberg ];
   };
 
@@ -26,24 +28,29 @@ stdenv.mkDerivation rec {
     sha256 = "0gcwqkcyliqz10i33ww3wl02mmfnl7jzl2d493l4l53ipsb1l6cn";
   };
 
+  nativeBuildInputs = [
+    pkgconfig wrapGAppsHook cmake intltool
+  ];
+
   buildInputs = [
-    cmake pkgconfig intltool vala makeWrapper
-    webkitgtk librsvg libnotify sqlite gsettings_desktop_schemas pcre gnome3.gcr
+    vala_0_23
+    gtk3 webkitgtk librsvg libnotify sqlite gsettings_desktop_schemas pcre gnome3.gcr
+    libxcb libpthreadstubs libXdmcp libxkbcommon epoxy at_spi2_core
     (libsoup.override {gnomeSupport = true; valaSupport = true;})
+  ] ++ stdenv.lib.optionals zeitgeistSupport [
+    zeitgeist
   ];
 
   cmakeFlags = [ 
     "-DCMAKE_BUILD_TYPE=Release"
-    "-DUSE_ZEITGEIST=OFF"
-    "-DHALF_BRO_INCOM_WEBKIT2=OFF"
+    "-DUSE_ZEITGEIST=${if zeitgeistSupport then "ON" else "OFF"}"
+    "-DHALF_BRO_INCOM_WEBKIT2=ON"
     "-DUSE_GTK3=1"
   ];
 
   NIX_LDFLAGS="-lX11";
 
   preFixup = ''
-    wrapProgram $out/bin/midori \
-      --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules")
   '';
 }
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index c8a719b194a..490823860b1 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -1,11 +1,30 @@
-{ stdenv, fetchurl, python, buildPythonApplication, qtmultimedia, pyqt5
-, jinja2, pygments, pyyaml, pypeg2, gst-plugins-base, gst-plugins-good
-, gst-plugins-bad, gst-libav, wrapGAppsHook, glib_networking, makeQtWrapper }:
+{ stdenv, fetchurl, unzip, buildPythonApplication, makeQtWrapper, wrapGAppsHook
+, qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, glib_networking
+, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt
+, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav
+, qtwebkit-plugins }:
 
-let version = "0.8.2"; in
+let
+  pdfjs = stdenv.mkDerivation rec {
+    name = "pdfjs-${version}";
+    version = "1.4.20";
 
-buildPythonApplication rec {
+    src = fetchurl {
+      url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
+      sha256 = "1ca1fzyc5qnan6gavcd8bnfqriqqvgdsf4m8ka4nayf50k64xxj9";
+    };
+
+    nativeBuildInputs = [ unzip ];
+
+    buildCommand = ''
+      mkdir $out
+      unzip -d $out $src
+    '';
+  };
+
+in buildPythonApplication rec {
   name = "qutebrowser-${version}";
+  version = "0.8.2";
   namePrefix = "";
 
   src = fetchurl {
@@ -16,18 +35,48 @@ buildPythonApplication rec {
   # Needs tox
   doCheck = false;
 
-  buildInputs = [ wrapGAppsHook makeQtWrapper
-    qtmultimedia
-    gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav
-    glib_networking ];
+  buildInputs = [
+    qtbase qtwebkit-plugins
+    gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
+    glib_networking
+  ];
+
+  nativeBuildInputs = [
+    makeQtWrapper wrapGAppsHook asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
+  ];
 
   propagatedBuildInputs = [
-    python pyyaml pyqt5 jinja2 pygments pypeg2
+    pyyaml pyqt5 jinja2 pygments pypeg2
   ];
 
+  postPatch = ''
+    sed -i "s,/usr/share/qutebrowser,$out/share/qutebrowser,g" qutebrowser/utils/standarddir.py
+    sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py
+  '';
+
+  postBuild = ''
+    a2x -f manpage doc/qutebrowser.1.asciidoc
+  '';
+
   postInstall = ''
+    install -Dm644 doc/qutebrowser.1 "$out/share/man/man1/qutebrowser.1"
+    install -Dm644 qutebrowser.desktop \
+        "$out/share/applications/qutebrowser.desktop"
+    for i in 16 24 32 48 64 128 256 512; do
+        install -Dm644 "icons/qutebrowser-''${i}x''${i}.png" \
+            "$out/share/icons/hicolor/''${i}x''${i}/apps/qutebrowser.png"
+    done
+    install -Dm644 icons/qutebrowser.svg \
+        "$out/share/icons/hicolor/scalable/apps/qutebrowser.svg"
+    install -Dm755 -t "$out/share/qutebrowser/userscripts/" misc/userscripts/*
+  '';
+
+  postFixup = ''
+    wrapPythonPrograms
     mv $out/bin/qutebrowser $out/bin/.qutebrowser-noqtpath
     makeQtWrapper $out/bin/.qutebrowser-noqtpath $out/bin/qutebrowser
+
+    sed -i 's/\.qutebrowser-wrapped/qutebrowser/g' $out/bin/..qutebrowser-wrapped-wrapped
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 95a1e621b07..f511c6e7e9c 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -10,16 +10,16 @@
 }:
 
 let
-  version = "1.2";
-  build = "490.39-1";
+  version = "1.3";
+  build = "551.30-1";
   fullVersion = "stable_${version}.${build}";
 
   info = if stdenv.is64bit then {
       arch = "amd64";
-      sha256 = "188fb91f1eb41e1dcaeda982567260adb6c004f4df00de55eed962e6ca7c621e";
+      sha256 = "89d0630c9df56cfb12a87f23430179f6d14a8c57fb029d1c8d28ab06c98b7640";
     } else {
       arch = "i386";
-      sha256 = "0c699a0d7ced5e77c41a85e81077a1b4561d64071ec89e0e875a1c55e78634eb";
+      sha256 = "0a7e07833f5359e38516222767da63edeca92177cbb6d4ef4946a6ef7c7b2946";
     };
 in stdenv.mkDerivation rec {
   product    = "vivaldi";
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 925fe19d72e..c5cc7ca7431 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     mv * $out
 
     for n in $out/{bin,sbin}"/"*; do
-      wrapProgram $n --prefix PATH : "${which}/bin:${jre}/bin:${bash}/bin" --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "$out"
+      wrapProgram $n --prefix PATH : "${stdenv.lib.makeBinPath [ which jre bash ]}" --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "$out"
     done
   '';
 
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index bc3247c4b3d..75083409ba7 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -38,9 +38,9 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$out/bin/kube-proxy" --prefix PATH : "${iptables}/bin"
-    wrapProgram "$out/bin/kubelet" --prefix PATH : "${utillinux}/bin:${procps-ng}/bin"
+    wrapProgram "$out/bin/kubelet" --prefix PATH : "${stdenv.lib.makeBinPath [ utillinux procps-ng ]}"
     chmod +x "$out/libexec/kubernetes/safe_format_and_mount"
-    wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${e2fsprogs}/bin:${utillinux}/bin"
+    wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${stdenv.lib.makeBinPath [ e2fsprogs utillinux ]}"
     substituteInPlace "$out"/libexec/kubernetes/cluster/update-storage-objects.sh \
       --replace KUBE_OUTPUT_HOSTBIN KUBE_BIN
   '';
diff --git a/pkgs/applications/networking/cluster/marathon/default.nix b/pkgs/applications/networking/cluster/marathon/default.nix
index 11c275c9f49..f737d4e04bd 100644
--- a/pkgs/applications/networking/cluster/marathon/default.nix
+++ b/pkgs/applications/networking/cluster/marathon/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "marathon-${version}";
-  version = "0.15.3";
+  version = "1.1.1";
 
   src = fetchurl {
-    url = "https://downloads.mesosphere.io/marathon/v${version}/marathon-${version}.tgz";
-    sha256 = "1br4k596sjp4cf5l2nyaqhlsfdr443n08fvdyf4kilhr803x2rjq";
+    url = "https://downloads.mesosphere.com/marathon/v${version}/marathon-${version}.tgz";
+    sha256 = "35a80401383f6551c45c676beed30b3c1af6d3ad027f44735c208abe8eaca93d";
   };
 
   buildInputs = [ makeWrapper jdk mesos ];
diff --git a/pkgs/applications/networking/cluster/pig/default.nix b/pkgs/applications/networking/cluster/pig/default.nix
index a5666fc8f32..c99643beb90 100644
--- a/pkgs/applications/networking/cluster/pig/default.nix
+++ b/pkgs/applications/networking/cluster/pig/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
     for n in $out/{bin,sbin}"/"*; do
       wrapProgram $n \
-        --prefix PATH : "${jre}/bin:${bash}/bin" \
+        --prefix PATH : "${stdenv.lib.makeBinPath [ jre bash ]}" \
         --set JAVA_HOME "${jre}" --set HADOOP_PREFIX "${hadoop}"
     done
   '';
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 2bc1a643db7..d66209a6d20 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "terraform-${version}";
-  version = "0.7.0";
+  version = "0.7.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/terraform";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "hashicorp";
     repo = "terraform";
-    sha256 = "0k5d6zph6sq1qg8vi5jmk7apy6v67xn5i7rqjamyr5an7lpxssc9";
+    sha256 = "1nvz4nqkn8pl25zyw7x5079dbzmwdxsar9gbcjk1srfpa746j1y4";
   };
 
   postInstall = ''
@@ -22,4 +22,10 @@ buildGoPackage rec {
       fi
     done
   '';
+
+  meta = with stdenv.lib; {
+    description = "Tool for building, changing, and versioning infrastructure";
+    homepage = "https://www.terraform.io/";
+    license = licenses.mpl20;
+  };
 }
diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix
index d4dd13b880d..eb5d12ed82c 100644
--- a/pkgs/applications/networking/davmail/default.nix
+++ b/pkgs/applications/networking/davmail/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
   installPhase = ''
   mkdir -p $out/bin
   cp ./* $out/bin/ -R
-  wrapProgram $out/bin/davmail.sh --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
+  wrapProgram $out/bin/davmail.sh --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk libXtst ]}
    '';
 }
diff --git a/pkgs/applications/networking/drive/deps.json b/pkgs/applications/networking/drive/deps.json
index 3d71a76de8a..a1d1fde7727 100644
--- a/pkgs/applications/networking/drive/deps.json
+++ b/pkgs/applications/networking/drive/deps.json
@@ -1,26 +1,164 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/boltdb/bolt",
-      "github.com/cheggaaa/pb",
-      "github.com/odeke-em/cli-spinner",
-      "github.com/odeke-em/statos",
-      "golang.org/x/oauth2",
-      "github.com/odeke-em/exponential-backoff",
-      "github.com/odeke-em/extractor",
-      "github.com/odeke-em/meddler",
-      "github.com/odeke-em/xon",
-      "github.com/odeke-em/cache",
-      "github.com/odeke-em/drive",
-      "github.com/odeke-em/command",
-      "github.com/odeke-em/log",
-      "github.com/odeke-em/pretty-words",
-      "github.com/skratchdot/open-golang",
-      "google.golang.org/cloud",
-      "google.golang.org/api",
-      "github.com/mattn/go-isatty",
-      "golang.org/x/net"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    },
+    {
+        "goPackagePath": "google.golang.org/api",
+        "fetch": {
+            "type": "git",
+            "url": "https://code.googlesource.com/google-api-go-client",
+            "rev": "a5c3e2a4792aff40e59840d9ecdff0542a202a80",
+            "sha256": "1kigddnbyrl9ddpj5rs8njvf1ck54ipi4q1282k0d6b3am5qfbj8"
+        }
+    },
+    {
+        "goPackagePath": "google.golang.org/cloud",
+        "fetch": {
+            "type": "git",
+            "url": "https://code.googlesource.com/gocloud",
+            "rev": "6335269abf9002cf5a84613c13cda6010842b834",
+            "sha256": "15xrqxna5ms0r634k3bfzyymn431dvqcjwbsap8ay60x371kzbwf"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/oauth2",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/oauth2",
+            "rev": "397fe7649477ff2e8ced8fc0b2696f781e53745a",
+            "sha256": "0fza0l7iwh6llkq2yzqn7dxi138vab0da64lnghfj1p71fprjzn8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-isatty",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-isatty",
+            "rev": "ae0b1f8f8004be68d791a576e3d8e7648ab41449",
+            "sha256": "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/boltdb/bolt",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/boltdb/bolt",
+            "rev": "957d850b5158a4eebf915476058e720f43459584",
+            "sha256": "193adhhsqdy0kyq1l1fi8pg2n6pwyrw4h607qm78qyi26f8i7vzf"
+        }
+    },
+    {
+        "goPackagePath": "github.com/cheggaaa/pb",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/cheggaaa/pb",
+            "rev": "e648e12b78cedf14ebb2fc1855033f07b034cfbb",
+            "sha256": "03k4cars7hcqqgdsd0minfls2p7gjpm8q6y8vknh1s68kvxd4xam"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/cli-spinner",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/cli-spinner",
+            "rev": "610063bb4aeef25f7645b3e6080456655ec0fb33",
+            "sha256": "13wzs2qrxd72ah32ym0ppswhvyimjw5cqaq3q153y68vlvxd048c"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/statos",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/statos",
+            "rev": "f27d6ab69b62abd9d9fe80d355e23a3e45d347d6",
+            "sha256": "17cpks8bi9i7p8j38x0wy60jb9g39wbzszcmhx4hlq6yzxr04jvs"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/exponential-backoff",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/exponential-backoff",
+            "rev": "96e25d36ae36ad09ac02cbfe653b44c4043a8e09",
+            "sha256": "1as21p2jj8xpahvdxqwsw2i1s3fll14dlc9j192iq7xl1ybwpqs6"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/extractor",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/extractor",
+            "rev": "801861aedb854c7ac5e1329e9713023e9dc2b4d4",
+            "sha256": "036zmnqxy48h6mxiwywgxix2p4fqvl4svlmcp734ri2rbq3cmxs1"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/meddler",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/meddler",
+            "rev": "d2b51d2b40e786ab5f810d85e65b96404cf33570",
+            "sha256": "0m0fqrn3kxy4swyk4ja1y42dn1i35rq9j85y11wb222qppy2342x"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/xon",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/xon",
+            "rev": "d580be739d723da4f6378083128f93017b8ab295",
+            "sha256": "07a7zj01d4a23xqp01m48jp2v5mw49islf4nbq2rj13sd5w4s6sc"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/cache",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/cache",
+            "rev": "b51b08cb6cf889deda6c941a5205baecfd16f3eb",
+            "sha256": "1rmm1ky7irqypqjkk6qcd2n0xkzpaggdxql9dp9i9qci5rvvwwd4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/command",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/command",
+            "rev": "91ca5ec5e9a1bc2668b1ccbe0967e04a349e3561",
+            "sha256": "1ghckzr8h99ckagpmb15p61xazdjmf9mjmlym634hsr9vcj84v62"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/log",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/log",
+            "rev": "cad53c4565a0b0304577bd13f3862350bdc5f907",
+            "sha256": "059c933qjikxlvaywzpzljqnab19svymbv6x32pc7khw156fh48w"
+        }
+    },
+    {
+        "goPackagePath": "github.com/odeke-em/pretty-words",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/odeke-em/pretty-words",
+            "rev": "9d37a7fcb4ae6f94b288d371938482994458cecb",
+            "sha256": "1466wjhrg9lhqmzil1vf8qj16fxk32b5kxlcccyw2x6dybqa6pkl"
+        }
+    },
+    {
+        "goPackagePath": "github.com/skratchdot/open-golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/skratchdot/open-golang",
+            "rev": "c8748311a7528d0ba7330d302adbc5a677ef9c9e",
+            "sha256": "0qhn2d00v3m9fiqk9z7swdm599clc6j7rnli983s8s1byyp0x3ac"
+        }
+    }
 ]
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index b47b2a83de8..eadd85d4648 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -23,11 +23,11 @@
 let
   # NOTE: When updating, please also update in current stable,
   # as older versions stop working
-  version = "6.4.14";
+  version = "8.4.19";
   sha256 =
     {
-      "x86_64-linux" = "0wpdib3jf5bq4k8q5xv9g01fdcfjb4l903xjxn32rjw615s1q8bg";
-      "i686-linux" = "1lgc7ryp2mn230cfsbndn9ss71l378kib0lvs89rkn25d5zfgzn4";
+      "x86_64-linux" = "0pm43cklsm41mg463mz0ypvbladm2mz65s7ar9z4k4hgjrhyh67j";
+      "i686-linux" = "0myz8s2xdl034zb4548fgzz2f5gfvzfr1nwp50fh3f3hmf6frgp3";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
index cc66976b3ba..751f6f9855b 100644
--- a/pkgs/applications/networking/esniper/default.nix
+++ b/pkgs/applications/networking/esniper/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   postInstall = ''
     sed <"frontends/snipe" >"$out/bin/snipe" \
-      -e "2i export PATH=\"$out/bin:${coreutils}/bin:${gawk}/bin:${bash}/bin:${which}/bin:\$PATH\""
+      -e "2i export PATH=\"$out/bin:${stdenv.lib.makeBinPath [ coreutils gawk bash which ]}:\$PATH\""
     chmod 555 "$out/bin/snipe"
   '';
 
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 7293bae50a7..eb95647ff0f 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.20.0"; in
+let version = "3.20.1"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "0clfw266c980w2kjl4xm56d80ixpv8lj675p58hv2bz70ihxpwaa";
+    sha256 = "0bcy0j89y2mpjyzwnz1qa33412n7yl0g8px2r4v7gla25r2x5qwa";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/ike/default.nix b/pkgs/applications/networking/ike/default.nix
index 319d7488b6b..0cd603996c1 100644
--- a/pkgs/applications/networking/ike/default.nix
+++ b/pkgs/applications/networking/ike/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     make install
     for file in "$out"/bin/* "$out"/sbin/*; do
-        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${openssl.out}/lib:${gcc.cc}/lib:${stdenv.glibc.out}/lib::${gcc.cc}/lib64:${stdenv.glibc.out}/lib64:${libedit}/lib:${qt4}/lib"
+        wrapProgram $file --prefix LD_LIBRARY_PATH ":" "$out/lib:${stdenv.lib.makeLibraryPath [ openssl gcc.cc stdenv.glibc libedit qt4 ]}"
     done
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
index d2a08b98c07..e771db3795b 100644
--- a/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pythonPackages, pyqt4, cython, libvncserver, zlib, twisted
+{ stdenv, fetchurl, pythonPackages, libvncserver, zlib
 , gnutls, libvpx, makeDesktopItem }:
 
 pythonPackages.buildPythonApplication rec {
@@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication rec {
   propagatedBuildInputs = with pythonPackages;[ pyqt4 cjson sipsimple twisted
     ];
 
-  buildInputs = [ cython zlib libvncserver libvpx ];
+  buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ];
 
   desktopItem = makeDesktopItem {
     name = "Blink";
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index b6adcfc1910..8d9cf434e5d 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python, intltool, pkgconfig, libX11, gtk
-, ldns, pythonDBus, pythonPackages
+, ldns, pythonPackages
 
 , enableJingle ? true, farstream ? null, gst_plugins_bad ? null
 ,                      libnice ? null
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i -e '0,/^[^#]/ {
       /^[^#]/i export \\\
-        PYTHONPATH="'"$PYTHONPATH\''${PYTHONPATH:+:}\$PYTHONPATH"'" \\\
         GST_PLUGIN_PATH="'"\$GST_PLUGIN_PATH''${GST_PLUGIN_PATH:+:}${""
         }$GST_PLUGIN_PATH"'"
     }' scripts/gajim.in
@@ -53,21 +52,38 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    python intltool pkgconfig libX11
+    python libX11
+  ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ];
+
+  nativeBuildInputs = [
+    pythonPackages.wrapPython intltool pkgconfig
+  ];
+
+  propagatedBuildInputs = [
     pythonPackages.pygobject pythonPackages.pyGtkGlade
     pythonPackages.sqlite3 pythonPackages.pyasn1
     pythonPackages.pyxdg
     pythonPackages.nbxmpp
-    pythonPackages.pyopenssl pythonDBus
-  ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ]
-    ++ optional enableE2E pythonPackages.pycrypto
+    pythonPackages.pyopenssl pythonPackages.dbus-python
+  ] ++ optional enableE2E pythonPackages.pycrypto
     ++ optional enableRST pythonPackages.docutils
     ++ optional enableNotifications pythonPackages.notify
     ++ extraPythonPackages pythonPackages;
 
-  postInstall = ''
+  postFixup = ''
     install -m 644 -t "$out/share/gajim/icons/hicolor" \
                       "icons/hicolor/index.theme"
+
+    buildPythonPath "$out"
+
+    for i in $out/bin/*; do
+      name="$(basename "$i")"
+      if [ "$name" = "gajim-history-manager" ]; then
+        name="history_manager"
+      fi
+
+      patchPythonScript "$out/share/gajim/src/$name.py"
+    done
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index a5a6e2b688a..ac2daaa856f 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "4.0.1641";
+  version = "4.26.0.1655";
 
   rpath = stdenv.lib.makeLibraryPath [
     xdg_utils
@@ -43,7 +43,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
-        sha256 = "15xy89qmldp1zs3f809b8sayvawc7sz24l0718iib83g5jzvivsm";
+        sha256 = "1y484cp77kz984z9zdsy6c4669fmwv2knc287c1v24s81p5pqygg";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index d7b98d535af..ee05f16a8f4 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     chmod +x $out/bin/jitsi
     substituteInPlace $out/bin/jitsi \
         --subst-var-by JAVA ${jdk}/bin/java \
-        --subst-var-by EXTRALIBS ${gtk2}/lib
+        --subst-var-by EXTRALIBS ${gtk2.out}/lib
     patchShebangs $out
 
     libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}"
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
index 41a1ea3c3e7..245894147dc 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   '';
 
   passthru = {
-    wrapArgs = "--prefix PATH ':' ${texLive}/bin:${imagemagick.out}/bin";
+    wrapArgs = "--prefix PATH ':' ${stdenv.lib.makeBinPath [ texLive imagemagick ]}";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/pond/deps.json b/pkgs/applications/networking/instant-messengers/pond/deps.json
index 53f48df3b55..c4d600a2ab3 100644
--- a/pkgs/applications/networking/instant-messengers/pond/deps.json
+++ b/pkgs/applications/networking/instant-messengers/pond/deps.json
@@ -1,12 +1,47 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "golang.org/x/net",
-      "github.com/golang/protobuf",
-      "github.com/agl/ed25519",
-      "golang.org/x/crypto",
-      "github.com/agl/go-gtk"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/agl/ed25519",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/agl/ed25519",
+            "rev": "278e1ec8e8a6e017cd07577924d6766039146ced",
+            "sha256": "165d89cc6dl28j4hkn86pny0jz3sa6hamzdvpvwdj4iha3x6lzc9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    },
+    {
+        "goPackagePath": "github.com/agl/go-gtk",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/agl/go-gtk",
+            "rev": "91c1edb38c241d73129e6b098ca1c9fa83abfc15",
+            "sha256": "156ixlhakpqgyp35rsvmndrqz8aggv5bcmzg9ynpri3b9j6kim4d"
+        }
+    }
 ]
diff --git a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
index 703447594ed..9675b5d5315 100644
--- a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python, pythonPackages, pyqt4, openssl }:
+{ stdenv, fetchFromGitHub, pythonPackages, openssl }:
 
 stdenv.mkDerivation rec {
   name = "pybitmessage-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1f4h0yc1mfjnxzvxiv9hxgak59mgr3a5ykv50vlyiay82za20jax";
   };
 
-  buildInputs = [ python pyqt4 openssl pythonPackages.wrapPython pythonPackages.sqlite3 ];
+  buildInputs = with pythonPackages; [ python pyqt4 wrapPython sqlite3 ] ++ [ openssl ];
 
   preConfigure = ''
     substituteInPlace Makefile \
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     substituteInPlace $out/bin/pybitmessage \
-      --replace "exec python2" "exec ${python}/bin/python" \
+      --replace "exec python2" "exec ${pythonPackages.python}/bin/python" \
       --replace "/opt/openssl-compat-bitcoin/lib/" "${openssl.out}/lib/"
     wrapProgram $out/bin/pybitmessage \
       --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
index 326774dc1fe..d442addaeaa 100644
--- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
@@ -1,5 +1,8 @@
-{stdenv, fetchurl, python, pythonPackages, pygobject, pythonDBus}: 
-stdenv.mkDerivation rec {
+{stdenv, fetchurl, pythonPackages}:
+
+let
+  inherit (pythonPackages) python;
+in stdenv.mkDerivation rec {
   url = "ftp://ftp.goffi.org/sat/sat-0.2.0.tar.bz2";
   name = stdenv.lib.nameFromURL url ".tar";
   src = fetchurl {
@@ -10,28 +13,28 @@ stdenv.mkDerivation rec {
   buildInputs = with pythonPackages; 
     [
       python twisted urwid beautifulsoup wxPython pygobject
-      wokkel pythonDBus pyfeed wrapPython setuptools
+      wokkel dbus-python pyfeed wrapPython setuptools
     ];
 
   configurePhase = ''
     sed -i "/use_setuptools/d" setup.py
     sed -e "s@sys.prefix@'$out'@g" -i setup.py
     sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${pythonPackages.twisted}/bin\"" -i src/sat.sh
-    sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/lib/${python.libPrefix}/site-packages"" -i src/sat.sh
+    sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/${python.sitePackages}"" -i src/sat.sh
 
     echo 'import wokkel.muc' | python 
   '';
 
   buildPhase = ''
-    python setup.py build
+    ${python.interpreter}setup.py build
   '';
 
   installPhase = ''
-    python setup.py install --prefix="$out" 
+    ${python.interpreter} setup.py install --prefix="$out"
 
     for i in "$out/bin"/*; do
       head -n 1 "$i" | grep -E '[/ ]python( |$)' && {
-        wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages"
+        wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/${python.sitePackages}"
       } || true 
     done
   '';
diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix
index 7322ff2bb34..10f63369a9b 100644
--- a/pkgs/applications/networking/instant-messengers/sflphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix
@@ -77,7 +77,7 @@ rec {
     # gtk3 programs have the runtime dependency on XDG_DATA_DIRS
     preFixup = ''
       for f in "$out/bin/sflphone" "$out/bin/sflphone-client-gnome"; do
-        wrapProgram $f --prefix XDG_DATA_DIRS ":" "${gtk}/share:$GSETTINGS_SCHEMAS_PATH"
+        wrapProgram $f --prefix XDG_DATA_DIRS ":" "${gtk.out}/share:$GSETTINGS_SCHEMAS_PATH"
       done
     '';
 
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 461e755505c..130fe644143 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -16,20 +16,20 @@ let
 
 in stdenv.mkDerivation rec {
   name = "telegram-desktop-${version}";
-  version = "0.9.56";
+  version = "0.10.1";
   qtVersion = lib.replaceStrings ["."] ["_"] packagedQt;
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
-    sha256 = "000ngg6arfb6mif0hvin099f83q3sn7mw4vfvrikskczblw3a5lc";
+    sha256 = "08isxwif6zllglkpd9i7ypxm2s4bibzqris48607bafr88ylksdk";
   };
 
   tgaur = fetchgit {
     url = "https://aur.archlinux.org/telegram-desktop.git";
-    rev = "f8907d1ccaf8345c06232238342921213270e3d8";
-    sha256 = "04jh0fsrh4iwg188d20z15qkxv05wa5lpd8h21yxx3jxqljpdkws";
+    rev = "9ce7be9efed501f988bb099956fa63729f2c25ea";
+    sha256 = "1wp6lqscpm2byizchm0bj48dg9bga02r9r69ns10zxk0gk0qvvdn";
   };
 
   buildInputs = [
@@ -50,22 +50,8 @@ in stdenv.mkDerivation rec {
     "CONFIG+=release"
     "DEFINES+=TDESKTOP_DISABLE_AUTOUPDATE"
     "DEFINES+=TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
-    "INCLUDEPATH+=${gtk2.dev}/include/gtk-2.0"
-    "INCLUDEPATH+=${glib.dev}/include/glib-2.0"
-    "INCLUDEPATH+=${glib.out}/lib/glib-2.0/include"
-    "INCLUDEPATH+=${cairo.dev}/include/cairo"
-    "INCLUDEPATH+=${pango.dev}/include/pango-1.0"
-    "INCLUDEPATH+=${gtk2.out}/lib/gtk-2.0/include"
-    "INCLUDEPATH+=${gdk_pixbuf.dev}/include/gdk-pixbuf-2.0"
-    "INCLUDEPATH+=${atk.dev}/include/atk-1.0"
-    "INCLUDEPATH+=${libappindicator-gtk2}/include/libappindicator-0.1"
-    "INCLUDEPATH+=${libunity}/include/unity"
-    "INCLUDEPATH+=${dee}/include/dee-1.0"
-    "INCLUDEPATH+=${libdbusmenu-glib}/include/libdbusmenu-glib-0.4"
     "INCLUDEPATH+=${breakpad}/include/breakpad"
     "QT_TDESKTOP_VERSION=${systemQt}"
-    "LIBS+=-lcrypto"
-    "LIBS+=-lssl"
   ];
 
   qtSrcs = [ qtbase.src qtimageformats.src ];
@@ -79,11 +65,10 @@ in stdenv.mkDerivation rec {
     sed -i 'Telegram/Telegram.pro' \
       -e 's,CUSTOM_API_ID,,g' \
       -e 's,/usr,/does-not-exist,g' \
-      -e '/LIBS += .*libxkbcommon.a/d' \
-      -e 's,LIBS += .*libz.a,LIBS += -lz,' \
-      -e 's,LIBS += .*libbreakpad_client.a,LIBS += ${breakpad}/lib/libbreakpad_client.a,' \
       -e 's, -flto,,g' \
-      -e 's, -static-libstdc++,,g'
+      -e 's,LIBS += .*libbreakpad_client.a,LIBS += ${breakpad}/lib/libbreakpad_client.a,' \
+      -e 's, -static-libstdc++,,g' \
+      -e '/LIBS += .*libxkbcommon.a/d'
 
     export qmakeFlags="$qmakeFlags QT_TDESKTOP_PATH=$PWD/../qt"
 
@@ -105,7 +90,7 @@ in stdenv.mkDerivation rec {
       export configureFlags="-prefix "$PWD/../qt" -release -opensource -confirm-license -system-zlib \
         -system-libpng -system-libjpeg -system-freetype -system-harfbuzz -system-pcre -system-xcb \
         -system-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests \
-        -openssl-linked -dbus-linked -system-sqlite -verbose \
+        -openssl-linked -dbus-linked -system-sqlite -verbose -no-gtkstyle \
         ${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"
       export dontAddPrefix=1
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index f16ee8bd5cc..9c25c6eaad2 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/opt/viber/Viber \
       --set QT_PLUGIN_PATH "$out/opt/viber/plugins" \
       --set QT_XKB_CONFIG_ROOT "${xorg.xkeyboardconfig}/share/X11/xkb" \
-      --set QTCOMPOSE "${xorg.libX11}/share/X11/locale"
+      --set QTCOMPOSE "${xorg.libX11.out}/share/X11/locale"
     ln -s $out/opt/viber/Viber $out/bin/viber
 
     mv $out/usr/share $out/share
diff --git a/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json b/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json
index a5fd7fc3aa7..7ac2b86cc21 100644
--- a/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json
+++ b/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json
@@ -1,9 +1,20 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "golang.org/x/crypto",
-      "golang.org/x/net"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    }
 ]
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 79bf92ba3c3..1ad0cfa6275 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -52,9 +52,11 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt";
 
-  postInstall = ''
+  postInstall = with stdenv.lib; ''
     NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
     wrapProgram "$out/bin/weechat" \
+      ${optionalString perlSupport "--prefix PATH : ${perl}/bin"} \
+      --prefix PATH : ${pythonPackages.python}/bin \
       --prefix PYTHONPATH : "$PYTHONPATH" \
       --prefix PYTHONPATH : "$NIX_PYTHONPATH"
   '';
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index 86bf0b2e14b..62a58c42cd4 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -32,7 +32,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "claws-mail-${version}";
-  version = "3.13.2";
+  version = "3.14.0";
 
   meta = {
     description = "The user-friendly, lightweight, and fast email client";
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
-    sha256 = "1l8ankx0qpq1ix1an8viphcf11ksh53jsrm1xjmq8cjbh5910wva";
+    sha256 = "0nfchgga3ir91s8rky0a0vnz8cgj2f6h716wh3cmb466a01xfss6";
   };
 
   patches = [ ./mime.patch ];
diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix
index 673856e062a..bf3f6296acc 100644
--- a/pkgs/applications/networking/mailreaders/mailnag/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, buildPythonApplication, fetchurl, gettext, gtk3, pythonPackages
+{ stdenv, fetchurl, gettext, gtk3, pythonPackages
 , gdk_pixbuf, libnotify, gst_all_1
 , libgnome_keyring3 ? null, networkmanager ? null
 }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "mailnag-${version}";
   version = "1.1.0";
 
@@ -13,7 +13,7 @@ buildPythonApplication rec {
   };
 
   buildInputs = [
-    gettext gtk3 pythonPackages.pygobject3 pythonPackages.dbus
+    gettext gtk3 pythonPackages.pygobject3 pythonPackages.dbus-python
     pythonPackages.pyxdg gdk_pixbuf libnotify gst_all_1.gstreamer
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-bad libgnome_keyring3 networkmanager
diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix
index 4a37c4e8679..be74e079691 100644
--- a/pkgs/applications/networking/mailreaders/mailpile/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix
@@ -21,7 +21,7 @@ pythonPackages.buildPythonApplication rec {
 
   postInstall = ''
     wrapProgram $out/bin/mailpile \
-      --prefix PATH ":" "${gnupg1orig}/bin:${openssl.bin}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1orig openssl ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 08152547555..ae60ae11309 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
         --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking.out}/lib/gio/modules" \
-        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+        --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gtk.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
     done
   '';
 
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index 18d31c22077..a35cfdffece 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "owncloud-client" + "-" + version;
 
-  version = "2.2.1";
+  version = "2.2.3";
 
   src = fetchurl {
     url = "https://download.owncloud.com/desktop/stable/owncloudclient-${version}.tar.xz";
-    sha256 = "1wis62jk4y4mbr25y39y6af57pi6vp2mbryazmvn6zgnygf69m3h";
+    sha256 = "00bx9wrgvbdhi9vx30qfgkdz0k8nxlj313pac34cchx5xpij3jgq";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix
index 51d7a49cac7..d674c70e4c2 100644
--- a/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/pkgs/applications/networking/p2p/freenet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, ant, jdk, bash, coreutils, substituteAll }:
+{ stdenv, fetchurl, fetchFromGitHub, ant, jdk, bash, coreutils, substituteAll }:
 
 let
   freenet_ext = fetchurl {
@@ -6,28 +6,30 @@ let
     sha256 = "17ypljdvazgx2z6hhswny1lxfrknysz3x6igx8vl3xgdpvbb7wij";
   };
 
+  bcprov_version = "jdk15on-154";
   bcprov = fetchurl {
-    url = https://downloads.freenetproject.org/latest/bcprov-jdk15on-152.jar;
-    sha256 = "0wqpdcvcfh939fk8yr033ijzr1vjbp6ydlnv5ly8jiykwj0x3i0d";
+    url = "https://www.bouncycastle.org/download/bcprov-ext-${bcprov_version}.jar";
+    sha256 = "0abmhg2h44g8c5p7skzqwfxj8xwcjh9vs84mc0hr78k1am0633jk";
   };
   seednodes = fetchurl {
     url = https://downloads.freenetproject.org/alpha/opennet/seednodes.fref;
-    sha256 = "109zn9w8axdkjwhkkcm2s8dvib0mq0n8imjgs3r8hvi128cjsmg9";
+    sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv";
   };
-  version = "build01470";
+  version = "build01475";
 
   freenet-jars = stdenv.mkDerivation {
     name = "freenet-jars-${version}";
 
-    src = fetchgit {
-      url = https://github.com/freenet/fred;
-      rev = "refs/tags/${version}";
-      sha256 = "1b6e6fec2b9a729d4a25605fa142df9ea42e59b379ff665f580e32c6178c9746";
+    src = fetchFromGitHub {
+      owner = "freenet";
+      repo = "fred";
+      rev = version;
+      sha256 = "0k02fna9x219j7dhginbnf27i36bibb0rmm4qdwr5xm28hy1nd08";
     };
 
     patchPhase = ''
       cp ${freenet_ext} lib/freenet/freenet-ext.jar
-      cp ${bcprov} lib/bcprov-jdk15on-152.jar
+      cp ${bcprov} lib/bcprov-${bcprov_version}.jar
 
       sed '/antcall.*-ext/d' -i build.xml
       sed 's/@unknown@/${version}/g' -i build-clean.xml
@@ -39,7 +41,7 @@ let
 
     installPhase = ''
       mkdir -p $out/share/freenet
-      cp lib/bcprov-jdk15on-152.jar $out/share/freenet
+      cp lib/bcprov-${bcprov_version}.jar $out/share/freenet
       cp lib/freenet/freenet-ext.jar $out/share/freenet
       cp dist/freenet.jar $out/share/freenet
     '';
@@ -51,7 +53,7 @@ in stdenv.mkDerivation {
 
   src = substituteAll {
     src = ./freenetWrapper;
-    inherit bash coreutils seednodes;
+    inherit bash coreutils seednodes bcprov_version;
     freenet = freenet-jars;
     jre = jdk.jre;
   };
diff --git a/pkgs/applications/networking/p2p/freenet/freenetWrapper b/pkgs/applications/networking/p2p/freenet/freenetWrapper
index 6df7f492458..f3106265801 100755
--- a/pkgs/applications/networking/p2p/freenet/freenetWrapper
+++ b/pkgs/applications/networking/p2p/freenet/freenetWrapper
@@ -15,4 +15,4 @@ cp -u @seednodes@ $FREENET_HOME/seednodes.fref
 chmod u+rw $FREENET_HOME/seednodes.fref
 
 cd $FREENET_HOME
-@jre@/bin/java -cp @freenet@/share/freenet/bcprov-jdk15on-152.jar:@freenet@/share/freenet/freenet-ext.jar:@freenet@/share/freenet/freenet.jar -Xmx1024M freenet.node.NodeStarter
+@jre@/bin/java -cp @freenet@/share/freenet/bcprov-@bcprov_version@.jar:@freenet@/share/freenet/freenet-ext.jar:@freenet@/share/freenet/freenet.jar -Xmx1024M freenet.node.NodeStarter
diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix
index 6d14761356a..4f64e947f09 100644
--- a/pkgs/applications/networking/remote/citrix-receiver/default.nix
+++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix
@@ -135,7 +135,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper "$ICAInstDir/wfica -icaroot $ICAInstDir" "$out/bin/wfica" \
       --set ICAROOT "$ICAInstDir" \
-      --set GTK_PATH "${gtk}/lib/gtk-2.0:${gnome3.gnome_themes_standard}/lib/gtk-2.0" \
+      --set GTK_PATH "${gtk.out}/lib/gtk-2.0:${gnome3.gnome_themes_standard}/lib/gtk-2.0" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
       --set LD_LIBRARY_PATH "$libPath" \
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index 555667c035c..7f718dfdbe2 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec
     make install
 
     wrapProgram $out/bin/seafile-applet \
-      --suffix PATH : ${ccnet}/bin:${seafile-shared}/bin
+      --suffix PATH : ${stdenv.lib.makeBinPath [ ccnet seafile-shared ]}
     '';
 
   meta =
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
index c3f8e0f02c6..c1907c44e58 100644
--- a/pkgs/applications/networking/sync/backintime/common.nix
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -1,6 +1,8 @@
-{stdenv, fetchFromGitHub, makeWrapper, gettext, python3, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }:
+{stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python3Packages) python dbus-python keyring;
+in stdenv.mkDerivation rec {
   version = "1.1.12";
 
   name = "backintime-common-${version}";
@@ -12,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0n3x48wa8aa7i8fff85h3b5h3xpabk51ld0ymy3pkqh0krfgs59a";
   };
 
-  buildInputs = [ makeWrapper gettext python3 python3Packages.dbus python3Packages.keyring openssh cron rsync sshfsFuse encfs ];
+  buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfsFuse encfs ];
 
   installFlags = [ "DEST=$(out)" ];
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 2a02e0e657c..bd156680d4b 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, go }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.3";
+  version = "0.14.4";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner = "syncthing";
     repo = "syncthing";
     rev = "v${version}";
-    sha256 = "114i0911h3q6dn3j9x2qcm5lzpqclvrpf5vk87qpqp9qy62jp3az";
+    sha256 = "0i1pgwy7vn2hfcqa7dvrrc40hzrzn47alvnxm058f2hhxjis3fdw";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/applications/networking/syncthing012/deps.json b/pkgs/applications/networking/syncthing012/deps.json
index 75e10397017..b21f2ef6a16 100644
--- a/pkgs/applications/networking/syncthing012/deps.json
+++ b/pkgs/applications/networking/syncthing012/deps.json
@@ -1,21 +1,128 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/bkaradzic/go-lz4",
-      "github.com/calmh/luhn",
-      "golang.org/x/text",
-      "github.com/kardianos/osext",
-      "github.com/vitrun/qart",
-      "github.com/calmh/du",
-      "github.com/calmh/xdr",
-      "github.com/juju/ratelimit",
-      "github.com/thejerf/suture",
-      "github.com/golang/snappy",
-      "github.com/rcrowley/go-metrics",
-      "github.com/syndtr/goleveldb",
-      "golang.org/x/crypto",
-      "golang.org/x/net"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    },
+    {
+        "goPackagePath": "github.com/rcrowley/go-metrics",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/rcrowley/go-metrics",
+            "rev": "1ce93efbc8f9c568886b2ef85ce305b2217b3de3",
+            "sha256": "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kardianos/osext",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kardianos/osext",
+            "rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc",
+            "sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bkaradzic/go-lz4",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bkaradzic/go-lz4",
+            "rev": "74ddf82598bc4745b965729e9c6a463bedd33049",
+            "sha256": "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1"
+        }
+    },
+    {
+        "goPackagePath": "github.com/calmh/luhn",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/calmh/luhn",
+            "rev": "0c8388ff95fa92d4094011e5a04fc99dea3d1632",
+            "sha256": "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/text",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/text",
+            "rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e",
+            "sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"
+        }
+    },
+    {
+        "goPackagePath": "github.com/vitrun/qart",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/vitrun/qart",
+            "rev": "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0",
+            "sha256": "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/calmh/du",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/calmh/du",
+            "rev": "3c0690cca16228b97741327b1b6781397afbdb24",
+            "sha256": "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/calmh/xdr",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/calmh/xdr",
+            "rev": "e467b5aeb65ca8516fb3925c84991bf1d7cc935e",
+            "sha256": "1bi4b2xkjzcr0vq1wxz14i9943k71sj092dam0gdmr9yvdrg0nra"
+        }
+    },
+    {
+        "goPackagePath": "github.com/juju/ratelimit",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/juju/ratelimit",
+            "rev": "772f5c38e468398c4511514f4f6aa9a4185bc0a0",
+            "sha256": "02rs61ay6sq499lxxszjsrxp33m6zklds1xrmnr5fk73vpqfa28p"
+        }
+    },
+    {
+        "goPackagePath": "github.com/thejerf/suture",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/thejerf/suture",
+            "rev": "99c1f2d613756768fc4299acd9dc621e11ed3fd7",
+            "sha256": "094ksr2nlxhvxr58nbnzzk0prjskb21r86jmxqjr3rwg4rkwn6d4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/snappy",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/snappy",
+            "rev": "723cc1e459b8eea2dea4583200fd60757d40097a",
+            "sha256": "0bprq0qb46f5511b5scrdqqzskqqi2z8b4yh3216rv0n1crx536h"
+        }
+    },
+    {
+        "goPackagePath": "github.com/syndtr/goleveldb",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/syndtr/goleveldb",
+            "rev": "1a9d62f03ea92815b46fcaab357cfd4df264b1a0",
+            "sha256": "04ywbif36fiah4fw0x2abr5q3p4fdhi6q57d5icc2mz03q889vhb"
+        }
+    }
 ]
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index c4350c67807..99107787493 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for i in $out/bin/*; do
       wrapProgram $i \
-        --prefix PATH ':' "${pstoedit}/bin" \
+        --prefix PATH ':' "${pstoedit.out}/bin" \
         --prefix XDG_DATA_DIRS ':' "${oxygen_icons}/share"
     done
   '';
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
index 4a997d08d83..5c87218e306 100644
--- a/pkgs/applications/office/gnucash/2.6.nix
+++ b/pkgs/applications/office/gnucash/2.6.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${name}" \
         --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"  \
-        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
+        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
     done
 
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 87e7ce261a1..7ef77dc2562 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -45,14 +45,14 @@ stdenv.mkDerivation rec {
         --prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0"  \
         --prefix PERL5LIB ":" "$PERL5LIB"                               \
         --set GCONF_CONFIG_SOURCE 'xml::~/.gconf'                       \
-        --prefix PATH ":" "$out/bin:${perl}/bin:${gconf}/bin"
+        --prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
     done
 
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
   # The following settings fix failures in the test suite. It's not required otherwise.
-  NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib}/lib";
+  NIX_LDFLAGS = "-rpath=${guile}/lib -rpath=${glib.out}/lib";
   preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
 
   doCheck = false;      # https://github.com/NixOS/nixpkgs/issues/11084
diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix
index 1c921925cea..1422369d20e 100644
--- a/pkgs/applications/office/impressive/default.nix
+++ b/pkgs/applications/office/impressive/default.nix
@@ -1,10 +1,10 @@
-{ fetchurl, stdenv, python, makeWrapper, lib
-, xpdf, pillow, pyopengl, pygame
-, setuptools, mesa, freeglut }:
+{ fetchurl, stdenv, pythonPackages, makeWrapper, lib
+, xpdf, mesa, freeglut }:
 
-let version = "0.10.5";
-in
- stdenv.mkDerivation {
+let
+  inherit (pythonPackages) python pyopengl pygame setuptools pillow;
+  version = "0.10.5";
+in stdenv.mkDerivation {
     # This project was formerly known as KeyJNote.
     # See http://keyj.s2000.ws/?p=77 for details.
 
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 9eaaf903585..284ea570456 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pam, python3, tcsh, libxslt, perl, ArchiveZip
+{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip
 , CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
 , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk, libmspack, getopt, file, cairo, which
@@ -247,7 +247,7 @@ in stdenv.mkDerivation rec {
       libXdmcp libpthreadstubs mesa mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
-      python3 sablotron sane-backends tcsh unzip vigra which zip zlib
+      python3 sablotron sane-backends unzip vigra which zip zlib
       mdds bluez5 glibc libcmis libwps libabw
       libxshmfence libatomic_ops graphite2 harfbuzz
       librevenge libe-book libmwaw glm glew ncurses
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 8c69d610a9a..4ec179b8f6e 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pam, python3, tcsh, libxslt, perl, ArchiveZip
+{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip
 , CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
 , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk, libmspack, getopt, file, cairo, which
@@ -241,7 +241,7 @@ in stdenv.mkDerivation rec {
       libXdmcp libpthreadstubs mesa mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
-      python3 sablotron sane-backends tcsh unzip vigra which zip zlib
+      python3 sablotron sane-backends unzip vigra which zip zlib
       mdds bluez5 glibc libcmis libwps libabw
       libxshmfence libatomic_ops graphite2 harfbuzz
       librevenge libe-book libmwaw glm glew ncurses
diff --git a/pkgs/applications/office/skrooge/2.nix b/pkgs/applications/office/skrooge/2.nix
new file mode 100644
index 00000000000..f9be34efd95
--- /dev/null
+++ b/pkgs/applications/office/skrooge/2.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, cmake, ecm, makeQtWrapper, qtwebkit, qtscript, grantlee,
+  kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
+  kiconthemes, knewstuff, sqlcipher, qca-qt5, kdelibs4support, kactivities,
+  knotifyconfig, krunner, libofx }:
+
+stdenv.mkDerivation rec {
+  name = "skrooge-${version}";
+  version = "2.4.0";
+
+  src = fetchurl {
+    url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
+    sha256 = "132d022337140f841f51420536c31dfe07c90fa3a38878279026825f5d2526fe";
+  };
+
+  nativeBuildInputs = [ cmake ecm makeQtWrapper ];
+
+  buildInputs = [ qtwebkit qtscript grantlee kxmlgui kwallet kparts kdoctools
+    kjobwidgets kdesignerplugin kiconthemes knewstuff sqlcipher qca-qt5
+    kdelibs4support kactivities knotifyconfig krunner libofx
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/skrooge"
+    wrapQtProgram "$out/bin/skroogeconvert"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A personal finances manager, powered by KDE";
+    license = with licenses; [ gpl3 ];
+    maintainers = with maintainers; [ joko ];
+    homepage = https://skrooge.org/;
+  };
+}
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 236045fa335..fc07807b91d 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "abc-verifier-${version}";
-  version = "20150614";
+  version = "20160818";
 
   src = fetchhg {
     url    = "https://bitbucket.org/alanmi/abc";
-    rev    = "38661894bc1287cad9bd35978bd252dbfe3e6c56";
-    sha256 = "04v0hkvj501r10pj3yrqrk2463d1d7lhl8dzfjwkmlbmlmpjlvvv";
+    rev    = "a2e5bc66a68a72ccd267949e5c9973dd18f8932a";
+    sha256 = "09yvhj53af91nc54gmy7cbp7yljfcyj68a87494r5xvdfnsj11gy";
   };
 
   buildInputs = [ readline ];
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
index 7935be11926..6f42ff15a22 100644
--- a/pkgs/applications/science/logic/satallax/default.nix
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/share/doc/satallax" "$out/bin" "$out/lib" "$out/lib/satallax"
     cp bin/satallax.opt "$out/bin/satallax"
     wrapProgram "$out/bin/satallax" \
-      --suffix PATH : "${coq}/bin:${eprover}/bin:$out/libexec/satallax" \
+      --suffix PATH : "${stdenv.lib.makeBinPath [ coq eprover ]}:$out/libexec/satallax" \
       --add-flags "-M" --add-flags "$out/lib/satallax/modes"
 
     cp LICENSE README "$out/share/doc/satallax"
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index a19a4977440..6e0b4313b47 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, m4, perl, gfortran, texLive, ffmpeg, tk
+{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk
 , imagemagick, liblapack, python, openssl, libpng
 , which
 }:
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
   };
 
-  buildInputs = [ m4 perl gfortran texLive ffmpeg tk imagemagick liblapack
+  buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg tk imagemagick liblapack
                   python openssl libpng which];
 
   patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
@@ -25,9 +25,12 @@ stdenv.mkDerivation rec {
     export HOME=$out/sageHome
   '';
 
+  preBuild = "patchShebangs build";
+
   installPhase = ''DESTDIR=$out make install'';
 
   meta = {
+    broken = true;
     homepage = "http://www.sagemath.org";
     description = "A free open source mathematics software system";
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix
index 30e7fa6f50f..8ea670c3818 100644
--- a/pkgs/applications/science/misc/openmodelica/default.nix
+++ b/pkgs/applications/science/misc/openmodelica/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation {
   '';
 
   configurePhase = ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -L${gfortran.cc.lib}/lib"
+
     autoconf
     ./configure CC=${clang}/bin/clang CXX=${clang}/bin/clang++ --prefix=$out
   '';
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix
index bad10a8607a..f6df5fc496d 100644
--- a/pkgs/applications/search/catfish/default.nix
+++ b/pkgs/applications/search/catfish/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, file, which, intltool, findutils, xdg_utils, pycairo,
+{ stdenv, fetchurl, file, which, intltool, findutils, xdg_utils,
   gnome3, pythonPackages, wrapGAppsHook }:
 
 pythonPackages.buildPythonApplication rec {
diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index a3881baf1e7..aa4b83c59b5 100644
--- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "diff-so-fancy-${version}";
-  version = "0.10.1";
+  version = "0.11.1";
 
   # perl is needed here so patchShebangs can do its job
   buildInputs = [perl makeWrapper];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "so-fancy";
     repo = "diff-so-fancy";
     rev = "v${version}";
-    sha256 = "0wp5civn70jzil1gbygx6ccrxfrmc8xx90v7zgf36rqi2yhvv64m";
+    sha256 = "1dw32c5i9mry6zr2a6h1369fhp1qbqimx04qgdmdnmn1imyck1h3";
   };
 
   buildPhase = null;
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     # itself, so we are copying executable to lib, and only symlink it
     # from bin/
     cp diff-so-fancy $out/lib/diff-so-fancy
-    cp -r lib $out/lib/diff-so-fancy
+    cp -r libexec $out/lib/diff-so-fancy
     ln -s $out/lib/diff-so-fancy/diff-so-fancy $out/bin
 
     # ncurses is needed for `tput`
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/deps.json b/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/deps.json
index b04422768a5..914655e2813 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/deps.json
+++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-b2/deps.json
@@ -1,9 +1,20 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/pquerna/ffjson",
-      "gopkg.in/kothar/go-backblaze.v0"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/pquerna/ffjson",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/pquerna/ffjson",
+            "rev": "674bc015b5b3f50f9bb2561179778586b9af68c5",
+            "sha256": "0l53q7b1g25hfjm1iyynfs413rpav4c51yvdr244ivw1x3hksa7a"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/kothar/go-backblaze.v0",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/kothar/go-backblaze.v0",
+            "rev": "373819725fc560fa962c6cd883b533d2ebec4844",
+            "sha256": "1kmlwfnnfd4h46bb9pz2gw1hxqm1pzkwvidfmnc0zkrilaywk6fx"
+        }
+    }
 ]
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 7f1a8a1f906..8443745735b 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "2.9.2";
+  version = "2.9.3";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "1d9dmhgzcnwc2jbib4q23ypjbnw1gh1w8gif63qldwkpixj4dxgq";
+    sha256 = "0qzs681a64k3shh5p0rg41l1z16fbk5sj0xga45k34hp1hsp654z";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 8320318c708..f953bbad48b 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tig-2.1.1";
+  name = "tig-2.2";
 
   src = fetchurl {
     url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
-    sha256 = "0bw5wivswwh7vx897q8xc2cqgkqhdzk8gh6fnav2kf34sngigiah";
+    sha256 = "0k3m894vfkgkj7xbr0j6ph91351dl6id5f0hk2ksjp5lmg9i6llg";
   };
 
   buildInputs = [ ncurses asciidoc xmlto docbook_xsl readline git makeWrapper ]
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index f97c99183f2..e0e5143ae38 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '4.2.7'
+gem 'rails', '4.2.7.1'
 gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
 # Responders respond_to and respond_with
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 1919acecc61..8d5b2b2e137 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -3,34 +3,34 @@ GEM
   specs:
     RedCloth (4.3.2)
     ace-rails-ap (4.0.2)
-    actionmailer (4.2.7)
-      actionpack (= 4.2.7)
-      actionview (= 4.2.7)
-      activejob (= 4.2.7)
+    actionmailer (4.2.7.1)
+      actionpack (= 4.2.7.1)
+      actionview (= 4.2.7.1)
+      activejob (= 4.2.7.1)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.7)
-      actionview (= 4.2.7)
-      activesupport (= 4.2.7)
+    actionpack (4.2.7.1)
+      actionview (= 4.2.7.1)
+      activesupport (= 4.2.7.1)
       rack (~> 1.6)
       rack-test (~> 0.6.2)
       rails-dom-testing (~> 1.0, >= 1.0.5)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (4.2.7)
-      activesupport (= 4.2.7)
+    actionview (4.2.7.1)
+      activesupport (= 4.2.7.1)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       rails-dom-testing (~> 1.0, >= 1.0.5)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    activejob (4.2.7)
-      activesupport (= 4.2.7)
+    activejob (4.2.7.1)
+      activesupport (= 4.2.7.1)
       globalid (>= 0.3.0)
-    activemodel (4.2.7)
-      activesupport (= 4.2.7)
+    activemodel (4.2.7.1)
+      activesupport (= 4.2.7.1)
       builder (~> 3.1)
-    activerecord (4.2.7)
-      activemodel (= 4.2.7)
-      activesupport (= 4.2.7)
+    activerecord (4.2.7.1)
+      activemodel (= 4.2.7.1)
+      activesupport (= 4.2.7.1)
       arel (~> 6.0)
     activerecord-nulldb-adapter (0.3.3)
       activerecord (>= 2.0.0)
@@ -40,7 +40,7 @@ GEM
       multi_json (~> 1.11, >= 1.11.2)
       rack (>= 1.5.2, < 3)
       railties (>= 4.0, < 5.1)
-    activesupport (4.2.7)
+    activesupport (4.2.7.1)
       i18n (~> 0.7)
       json (~> 1.7, >= 1.7.7)
       minitest (~> 5.1)
@@ -287,7 +287,7 @@ GEM
       omniauth (~> 1.0)
       pyu-ruby-sasl (~> 0.0.3.1)
       rubyntlm (~> 0.3)
-    globalid (0.3.6)
+    globalid (0.3.7)
       activesupport (>= 4.1.0)
     gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
@@ -516,16 +516,16 @@ GEM
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
-    rails (4.2.7)
-      actionmailer (= 4.2.7)
-      actionpack (= 4.2.7)
-      actionview (= 4.2.7)
-      activejob (= 4.2.7)
-      activemodel (= 4.2.7)
-      activerecord (= 4.2.7)
-      activesupport (= 4.2.7)
+    rails (4.2.7.1)
+      actionmailer (= 4.2.7.1)
+      actionpack (= 4.2.7.1)
+      actionview (= 4.2.7.1)
+      activejob (= 4.2.7.1)
+      activemodel (= 4.2.7.1)
+      activerecord (= 4.2.7.1)
+      activesupport (= 4.2.7.1)
       bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.7)
+      railties (= 4.2.7.1)
       sprockets-rails
     rails-deprecated_sanitizer (1.0.3)
       activesupport (>= 4.2.0.alpha)
@@ -535,9 +535,9 @@ GEM
       rails-deprecated_sanitizer (>= 1.0.1)
     rails-html-sanitizer (1.0.3)
       loofah (~> 2.0)
-    railties (4.2.7)
-      actionpack (= 4.2.7)
-      activesupport (= 4.2.7)
+    railties (4.2.7.1)
+      actionpack (= 4.2.7.1)
+      activesupport (= 4.2.7.1)
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
     rainbow (2.1.0)
@@ -922,7 +922,7 @@ DEPENDENCIES
   rack-attack (~> 4.3.1)
   rack-cors (~> 0.4.0)
   rack-oauth2 (~> 1.2.1)
-  rails (= 4.2.7)
+  rails (= 4.2.7.1)
   rails-deprecated_sanitizer (~> 1.0.3)
   rainbow (~> 2.1.0)
   rblineprof (~> 0.3.6)
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index fadb14dc782..453bae3613c 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -24,7 +24,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "gitlab-${version}";
-  version = "8.10.3";
+  version = "8.10.6";
 
   buildInputs = [ env ruby bundler tzdata git nodejs procps ];
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "0fhnwrgrpccc2j9wgdmwwi9h1ym3ll97lhmddq0xfzivc302ri3w";
+    sha256 = "1nk0ak9p5ncqynrm965ypwb9bj7b1r2jy5g4vdb9b0ma1ns2bkzf";
   };
 
   patches = [
@@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
       SKIP_STORAGE_VALIDATION=true \
       rake assets:precompile RAILS_ENV=production
     mv config/gitlab.yml config/gitlab.yml.example
+    rm config/secrets.yml
     mv config config.dist
   '';
 
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index ce7ecd9f030..b0f6f3ec049 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -10,50 +10,50 @@
   actionmailer = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fhq3dg3icbi1vrz55xwalzn4wpbrdgm41ma1jkrgbwl4qqqrrsq";
+      sha256 = "0lw1pss1mrjm7x7qcg9pvxv55rz3d994yf3mwmlfg1y12fxq00n3";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   actionpack = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0swhxylh0mrq7b8am3b90xqnwldvfn52jd2m9zmc27r8hvc0h2fp";
+      sha256 = "1ray5bvlmkimjax011zsw0mz9llfkqrfm7q1avjlp4i0kpcz8zlh";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   actionview = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wsxa7zkvacmv4vf528nmid2v5smqy54vh17srj3997bgjyr68f3";
+      sha256 = "11m2x5nlbqrw79fh6h7m444lrka7wwy32b0dvgqg7ilbzih43k0c";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   activejob = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19bf6fpl1vw6qnpsqcvdhljrvp67a7j72x1ydz4rj2s7g4xbjas3";
+      sha256 = "0ish5wd8nvmj7f6x1i22aw5ycizy5n1z1c7f3kyxmqwhw7lb0gaz";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   activemodel = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v991wipszd5ly1fba8qzfyg86r06k8l8y353dv7438sngwd7slk";
+      sha256 = "0acz0mbmahsc9mn41275fpfnrqwig5k09m3xhz3455kv90fn79v5";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   activerecord = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m04absj00hxj4q527ng0w0ydgbfc1cgxlcksjixgnx4j1visibn";
+      sha256 = "1lk8l6i9p7qfl0pg261v5yph0w0sc0vysrdzc6bm5i5rxgi68flj";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   activerecord-nulldb-adapter = {
     source = {
@@ -74,10 +74,10 @@
   activesupport = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pm0gw4ykq9137n8i815vayyah0mk2m920clgg02jr3l23w6gsnj";
+      sha256 = "1gds12k7nxrcc09b727a458ndidy1nfcllj9x22jcaj7pppvq6r4";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -958,13 +958,12 @@
     version = "1.2.1";
   };
   globalid = {
-    dependencies = ["activesupport"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "145xrpsfx1qqjy33r6qa588wb16dvdhxzj2aysh755vhg6hgm291";
+      sha256 = "11plkgyl3w9k4y2scc1igvpgwyz4fnmsr63h2q4j8wkb48nlnhak";
       type = "gem";
     };
-    version = "0.3.6";
+    version = "0.3.7";
   };
   gollum-grit_adapter = {
     source = {
@@ -1773,10 +1772,10 @@
   rails = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "033wfvqjzlzkm0nrqrjpxxrp0lwhfm8sjlxn5zdhxhkzmhibrnvn";
+      sha256 = "1avd16ir7qx23dcnz1b3cafq1lja6rq0w222bs658p9n33rbw54l";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   rails-deprecated_sanitizer = {
     dependencies = ["activesupport"];
@@ -1808,10 +1807,10 @@
   railties = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0psnr9g436k2fkkjlhs7mq090i7vh0cvh7qwwrb8ppzbcr15hhab";
+      sha256 = "04rz7cn64zzvq7lnhc9zqmaqmqkq84q25v0ym9lcw75j1cj1mrq4";
       type = "gem";
     };
-    version = "4.2.7";
+    version = "4.2.7.1";
   };
   rainbow = {
     source = {
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
index 92a3cb55e4d..e972e1568e3 100644
--- a/pkgs/applications/version-management/gitlab/nulladapter.patch
+++ b/pkgs/applications/version-management/gitlab/nulladapter.patch
@@ -22,8 +22,8 @@ index e2b3d55..23a5454 100644
 --- a/Gemfile.lock
 +++ b/Gemfile.lock
 @@ -32,6 +32,8 @@ GEM
-       activemodel (= 4.2.7)
-       activesupport (= 4.2.7)
+       activemodel (= 4.2.7.1)
+       activesupport (= 4.2.7.1)
        arel (~> 6.0)
 +    activerecord-nulldb-adapter (0.3.3)
 +      activerecord (>= 2.0.0)
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 0e30f0239bf..0f92bcbe0ae 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre
-, SDL_image, glew, mesa, boost, glm
+, SDL_image, freetype, glew, mesa, boost, glm
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa
-    boost glm
+    boost glm freetype
   ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 99e45438984..503ae4e90b9 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,16 +1,14 @@
-{ stdenv, fetchurl, itstool, buildPythonApplication, python27, intltool, wrapGAppsHook
-, libxml2, pygobject3, gobjectIntrospection, gtk3, gnome3, pycairo, cairo, file
+{ stdenv, fetchurl, itstool, pythonPackages, intltool, wrapGAppsHook
+, libxml2, gobjectIntrospection, gtk3, gnome3, cairo, file
 }:
 
 
 let
   minor = "3.16";
   version = "${minor}.2";
-in
-
-buildPythonApplication rec {
+  inherit (pythonPackages) python buildPythonApplication pycairo pygobject3;
+in buildPythonApplication rec {
   name = "meld-${version}";
-  namePrefix = "";
 
   src = fetchurl {
     url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
@@ -18,19 +16,19 @@ buildPythonApplication rec {
   };
 
   buildInputs = [
-    python27 intltool wrapGAppsHook itstool libxml2
+    intltool wrapGAppsHook itstool libxml2
     gnome3.gtksourceview gnome3.gsettings_desktop_schemas pycairo cairo
     gnome3.defaultIconTheme gnome3.dconf file
   ];
   propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ];
 
   installPhase = ''
-    mkdir -p "$out/lib/${python27.libPrefix}/site-packages"
+    mkdir -p "$out/lib/${python.libPrefix}/site-packages"
 
-    export PYTHONPATH="$out/lib/${python27.libPrefix}/site-packages:$PYTHONPATH"
+    export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
 
-    ${python27}/bin/${python27.executable} setup.py install \
-      --install-lib=$out/lib/${python27.libPrefix}/site-packages \
+    ${python}/bin/${python.executable} setup.py install \
+      --install-lib=$out/lib/${python.libPrefix}/site-packages \
       --prefix="$out"
 
     mkdir -p $out/share/gsettings-schemas/$name
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 682f4cfc6ba..d3f5f39dde0 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, python, makeWrapper, docutils, unzip, hg-git, dulwich
-, guiSupport ? false, tk ? null, curses
+{ stdenv, fetchurl, pythonPackages, makeWrapper, docutils, unzip
+, guiSupport ? false, tk ? null
 , ApplicationServices, cf-private }:
 
 let
   # if you bump version, update pkgs.tortoisehg too or ping maintainer
   version = "3.8.2";
   name = "mercurial-${version}";
+  inherit (pythonPackages) curses docutils hg-git dulwich python;
 in
 
 stdenv.mkDerivation {
diff --git a/pkgs/applications/version-management/rabbitvcs/default.nix b/pkgs/applications/version-management/rabbitvcs/default.nix
index 0f2f7646ac6..212151b6c4a 100644
--- a/pkgs/applications/version-management/rabbitvcs/default.nix
+++ b/pkgs/applications/version-management/rabbitvcs/default.nix
@@ -11,7 +11,7 @@ python2Packages.buildPythonApplication rec {
     sha256 = "0964pdylrx4n9c9l8ncwv4q1p63y4hadb5v4pgvm0m2fah2jlkly";
   };
 
-  pythonPath = with python2Packages; [ configobj dbus pygobject pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ];
+  pythonPath = with python2Packages; [ configobj dbus-python pygobject pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ];
 
   prePatch = ''
       sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py
diff --git a/pkgs/applications/version-management/reposurgeon/default.nix b/pkgs/applications/version-management/reposurgeon/default.nix
index 55858034b1c..2408621b9cf 100644
--- a/pkgs/applications/version-management/reposurgeon/default.nix
+++ b/pkgs/applications/version-management/reposurgeon/default.nix
@@ -1,11 +1,13 @@
-{stdenv, fetchurl, makeWrapper, python27, python27Packages, git,
- docbook_xml_dtd_412, docbook_xml_xslt, asciidoc, xmlto,
- cython ? null,
- bazaar ? null, cvs ? null, darcs ? null, fossil ? null,
- mercurial ? null, monotone ? null, rcs ? null, src ? null,
- subversion ? null, cvs_fast_export ? null }:
+{ stdenv, fetchurl, makeWrapper, python27Packages, git
+, docbook_xml_dtd_412, docbook_xml_xslt, asciidoc, xmlto
+, bazaar ? null, cvs ? null, darcs ? null, fossil ? null
+, mercurial ? null, monotone ? null, rcs ? null, src ? null
+, subversion ? null, cvs_fast_export ? null }:
+
 with stdenv; with lib;
-mkDerivation rec {
+let
+  inherit (python27Packages) python cython;
+in mkDerivation rec {
   name = "reposurgeon-${meta.version}";
   meta = {
     description = "A tool for editing version-control repository history";
@@ -33,8 +35,8 @@ mkDerivation rec {
     makeFlagsArray=(
       XML_CATALOG_FILES="${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml ${docbook_xml_xslt}/xml/xsl/docbook/catalog.xml"
       prefix="$out"
-      pyinclude="-I${python27}/include/python2.7"
-      pylib="-L${python27}/lib -lpython2.7"
+      pyinclude="-I${python}/include/python2.7"
+      pylib="-L${python}/lib -lpython2.7"
     )
   '';
 
@@ -51,7 +53,7 @@ mkDerivation rec {
         [ out git bazaar cvs darcs fossil mercurial
           monotone rcs src subversion cvs_fast_export ]
       );
-      pythonpath = makeSearchPathOutput "lib" python27.sitePackages (
+      pythonpath = makeSearchPathOutput "lib" python.sitePackages (
         filter (x: x != null)
         [ python27Packages.readline or null python27Packages.hglib or null ]
       );
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
index cfecd96107b..2bff15adc69 100644
--- a/pkgs/applications/version-management/src/default.nix
+++ b/pkgs/applications/version-management/src/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, rcs, git, pylint }:
+{ stdenv, fetchurl, python, rcs, git }:
 
 stdenv.mkDerivation rec {
   name = "src-1.11";
diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix
new file mode 100644
index 00000000000..7990f996ec3
--- /dev/null
+++ b/pkgs/applications/version-management/yadm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, fetchFromGitHub }:
+
+let version = "1.04"; in
+stdenv.mkDerivation {
+  name = "yadm-${version}";
+
+  src = fetchFromGitHub {
+    owner  = "TheLocehiliosan";
+    repo   = "yadm";
+    rev    = "${version}";
+    sha256 = "1g5nz4y63ccxlbz67klm78525ps41ynis8683iayakg4907vd898";
+  };
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+    sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
+    chmod 755 $out/bin/yadm
+    install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
+  '';
+
+  meta = {
+    homepage = "https://github.com/TheLocehiliosan/yadm";
+    description = "Yet Another Dotfiles Manager";
+    longDescription = ''
+    yadm is a dotfile management tool with 3 main features: Manages files across
+    systems using a single Git repository. Provides a way to use alternate files on
+    a specific OS or host. Supplies a method of encrypting confidential data so it
+    can safely be stored in your repository.
+    '';
+    licence = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix
index 2d94cea0db9..872ac098f00 100644
--- a/pkgs/applications/video/byzanz/default.nix
+++ b/pkgs/applications/video/byzanz/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, which, gnome3, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1 }:
+{ stdenv, fetchgit, wrapGAppsHook, which, gnome3, glib, intltool, pkgconfig, libtool, cairo, gtk3, gst_all_1, xorg }:
 
 stdenv.mkDerivation rec {
   version = "0.2.3.alpha";
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
-  buildInputs = [ which gnome3.gnome_common glib intltool pkgconfig libtool cairo gtk3 gst_all_1.gstreamer gst_all_1.gst-plugins-base ];
+  buildInputs = [ which gnome3.gnome_common glib intltool pkgconfig libtool cairo gtk3 xorg.xwininfo ]
+  ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]);
 
   meta = with stdenv.lib; {
     description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";
diff --git a/pkgs/applications/video/devede/default.nix b/pkgs/applications/video/devede/default.nix
index ce44377260e..824ef9661b8 100644
--- a/pkgs/applications/video/devede/default.nix
+++ b/pkgs/applications/video/devede/default.nix
@@ -1,7 +1,7 @@
-{ pkgs, stdenv, fetchurl, pythonPackages, buildPythonApplication, pygtk, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor }:
+{ pkgs, stdenv, fetchurl, pythonPackages, ffmpeg, mplayer, vcdimager, cdrkit, dvdauthor }:
 
 let
-  inherit (pythonPackages) dbus;
+  inherit (pythonPackages) dbus-python buildPythonApplication pygtk;
 
 in buildPythonApplication rec {
   name = "devede-3.23.0";
@@ -14,7 +14,7 @@ in buildPythonApplication rec {
 
   buildInputs = [ ffmpeg ];
 
-  propagatedBuildInputs = [ pygtk dbus ffmpeg mplayer dvdauthor vcdimager cdrkit ];
+  propagatedBuildInputs = [ pygtk dbus-python ffmpeg mplayer dvdauthor vcdimager cdrkit ];
 
   postPatch = ''
     substituteInPlace devede --replace "/usr/share/devede" "$out/share/devede"
diff --git a/pkgs/applications/video/kazam/default.nix b/pkgs/applications/video/kazam/default.nix
index 6f0a811fe82..9113ff75bfd 100644
--- a/pkgs/applications/video/kazam/default.nix
+++ b/pkgs/applications/video/kazam/default.nix
@@ -16,11 +16,11 @@ python3Packages.buildPythonApplication rec {
   buildInputs = with python3Packages;
     [ pygobject3 pyxdg pycairo gst_all_1.gstreamer gst_all_1.gst-plugins-base
       gst_all_1.gst-plugins-good gobjectIntrospection gtk3 libwnck3 distutils_extra
-      intltool dbus ];
+      intltool dbus-python ];
 
   # TODO: figure out why PYTHONPATH is not passed automatically for those programs
   pythonPath = with python3Packages;
-    [ pygobject3 pyxdg pycairo dbus ];
+    [ pygobject3 pyxdg pycairo dbus-python ];
 
   patches = [ ./datadir.patch ./bug_1190693.patch ];
   prePatch = ''
diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix
index 07d60fe4764..2a45c1a9eb2 100644
--- a/pkgs/applications/video/miro/default.nix
+++ b/pkgs/applications/video/miro/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, python, buildPythonApplication, pythonPackages, pkgconfig
-, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk
-, taglib, sqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
+{ stdenv, fetchurl, pkgconfig
+, pythonPackages, pyrex096, ffmpeg, boost, glib, gtk2, webkitgtk2, libsoup
+, taglib, sqlite
 , libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
 , gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
 , enableBonjour ? false, avahi ? null
@@ -10,10 +10,11 @@ assert enableBonjour -> avahi != null;
 
 with stdenv.lib;
 
-buildPythonApplication rec {
-  name = "miro-${version}";
-  namePrefix = "";
+let
+  inherit (pythonPackages) python buildPythonApplication;
   version = "6.0";
+in buildPythonApplication rec {
+  name = "miro-${version}";
 
   src = fetchurl {
     url = "http://ftp.osuosl.org/pub/pculture.org/miro/src/${name}.tar.gz";
@@ -56,7 +57,7 @@ buildPythonApplication rec {
 
   preInstall = ''
     # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-    ${python}/bin/${python.executable} setup.py install_data --root=$out
+    ${python.interpreter} setup.py install_data --root=$out
     sed -i '/data_files=data_files/d' setup.py
   '';
 
@@ -68,14 +69,14 @@ buildPythonApplication rec {
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
   '';
 
-  buildInputs = [
-    pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup
-    pygtk taglib gsettings_desktop_schemas sqlite
+  buildInputs = with pythonPackages; [ pygtk pygobject ] ++ [
+    pkgconfig pyrex096 ffmpeg boost glib gtk2 webkitgtk2 libsoup
+    taglib gsettings_desktop_schemas sqlite
   ];
 
-  propagatedBuildInputs = [
-    pygobject pygtk pycurl python.modules.sqlite3 mutagen pycairo pythonDBus
-    pywebkitgtk libtorrentRasterbar
+  propagatedBuildInputs = with pythonPackages; [
+    pygobject pygtk pycurl sqlite3 mutagen pycairo dbus-python
+    pywebkitgtk] ++ [ libtorrentRasterbar
     gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
   ] ++ optional enableBonjour avahi;
 
diff --git a/pkgs/applications/video/mkcast/default.nix b/pkgs/applications/video/mkcast/default.nix
index 8c67b667a32..a0605bb7128 100644
--- a/pkgs/applications/video/mkcast/default.nix
+++ b/pkgs/applications/video/mkcast/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for f in $out/bin/*; do #*/
-      wrapProgram $f --prefix PATH : "${xdpyinfo}/bin:${wmctrl}/bin/:${byzanz}/bin/:${gnome3.gnome_terminal}/bin/:$out/bin"
+      wrapProgram $f --prefix PATH : "${stdenv.lib.makeBinPath [ xdpyinfo wmctrl byzanz gnome3.gnome_terminal ]}:$out/bin"
     done
 
     rm -r screenkey/.bzr
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index 5f142d715f5..1fc0182a68a 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     echo "exec ${python3Packages.python.interpreter} $(toPythonPath $out)/launch.py" >>$out/bin/openshot-qt
     chmod +x $out/bin/openshot-qt
     wrapProgram $out/bin/openshot-qt \
-      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip_4_16}):$(toPythonPath ${python3Packages.httplib2}):$PYTHONPATH"
+      --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${libopenshot}):$(toPythonPath ${python3Packages.pyqt5}):$(toPythonPath ${python3Packages.sip}):$(toPythonPath ${python3Packages.httplib2}):$PYTHONPATH"
   '';
 
   doCheck = false;
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index 4a831fe110f..d487f07e3d6 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
     gst-plugins-bad gst-plugins-ugly gst-libav gst-validate
   ]) ++ (with python3Packages; [
     python pygobject3 gst-python pyxdg numpy pycairo sqlite3 matplotlib
-    dbus
+    dbus-python
   ]);
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/qarte/default.nix b/pkgs/applications/video/qarte/default.nix
index d4221e8f57e..f01f4ffd7f5 100644
--- a/pkgs/applications/video/qarte/default.nix
+++ b/pkgs/applications/video/qarte/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }:
+{ stdenv, fetchbzr, pythonPackages, rtmpdump, makeWrapper }:
 
-stdenv.mkDerivation {
+let
+  inherit (pythonPackages) python pyqt4 sip;
+in stdenv.mkDerivation {
   name = "qarte-2.4.0";
   src = fetchbzr {
     url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk;
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index fdadc1d99ab..efab9703df3 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -1,20 +1,26 @@
-{ stdenv, fetchurl, SDL, frei0r, gettext, makeWrapper, mlt, pkgconfig, qtbase, qmakeHook }:
+{ stdenv, fetchurl, SDL, frei0r, gettext, mlt, jack1, pkgconfig, qtbase,
+qtmultimedia, qtwebkit, qtx11extras, qtwebsockets, qtquickcontrols,
+qtgraphicaleffects,
+qmakeHook, makeQtWrapper }:
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "14.09";
+  version = "16.08";
 
   src = fetchurl {
     url = "https://github.com/mltframework/shotcut/archive/v${version}.tar.gz";
-    sha256 = "1504ds3ppqmpg84nb2gb74qndqysjwn3xw7n8xv19kd1pppnr10f";
+    sha256 = "10f32mfj3f8mjp0yi0jb7wc5d3inycn5c1pvqdagjhyyv3rvx9zy";
   };
 
-  buildInputs = [ SDL frei0r gettext makeWrapper mlt pkgconfig qtbase qmakeHook ];
+  buildInputs = [ SDL frei0r gettext mlt pkgconfig qtbase qtmultimedia qtwebkit
+    qtx11extras qtwebsockets qtquickcontrols qtgraphicaleffects qmakeHook makeQtWrapper ];
+
+  enableParallelBuilding = true;
 
   postInstall = ''
     mkdir -p $out/share/shotcut
     cp -r src/qml $out/share/shotcut/
-    wrapProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+    wrapQtProgram $out/bin/shotcut --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1 --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ jack1 SDL ]}
   '';
 
   meta = with stdenv.lib; {
@@ -35,6 +41,6 @@ stdenv.mkDerivation rec {
 
     # after qt5 bump it probably needs to be updated,
     # but newer versions seem to need newer than the latest stable mlt
-    broken = true;
+    # broken = true;
   };
 }
diff --git a/pkgs/applications/video/vlc/plugin.nix b/pkgs/applications/video/vlc/plugin.nix
new file mode 100644
index 00000000000..3a3e9162999
--- /dev/null
+++ b/pkgs/applications/video/vlc/plugin.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, vlc, autoconf, automake, libtool, pkgconfig, npapi_sdk,
+libxcb, xlibsWrapper, gtk}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "vlc-plugin-${version}";
+  version = "2.2.2"; # This 2.2.2 builds fine with vlc 2.2.4
+
+  src = fetchgit {
+    url = "https://code.videolan.org/videolan/npapi-vlc.git";
+    rev = "5fa6fbc11cf5bad983f57656c0085e47e18fbf20";
+    sha256 = "18fbiy4r8rlw4fsgcxgzhi6qi9r48d0rmnp8hs994w2p94fa8kwd";
+  };
+
+  preConfigure = "sh autogen.sh";
+
+  buildInputs = [ vlc autoconf automake libtool pkgconfig npapi_sdk libxcb
+      xlibsWrapper gtk ];
+
+  enableParallelBuilding = true;
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Webplugins based on libVLC (for firefox, npapi)";
+    homepage = https://code.videolan.org/videolan/npapi-vlc;
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index cfa58c71768..3d69de9c15b 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/libexec/docker/docker
     install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit
     makeWrapper $out/libexec/docker/docker $out/bin/docker \
-      --prefix PATH : "${iproute}/sbin:sbin:${iptables}/sbin:${e2fsprogs}/sbin:${xz.bin}/bin:${utillinux}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ iproute iptables e2fsprogs xz utillinux ]}"
 
     # systemd
     install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service
diff --git a/pkgs/applications/virtualization/docker/gc.nix b/pkgs/applications/virtualization/docker/gc.nix
index f9fb6311fc3..dcac628e367 100644
--- a/pkgs/applications/virtualization/docker/gc.nix
+++ b/pkgs/applications/virtualization/docker/gc.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     cp docker-gc $out/bin
     chmod +x $out/bin/docker-gc
     wrapProgram $out/bin/docker-gc \
-        --prefix PATH : "${docker}/bin:${coreutils}/bin:${procps}/bin:${gnused}/bin:${findutils}/bin:${gnugrep}/bin"
+        --prefix PATH : "${stdenv.lib.makeBinPath [ docker coreutils procps gnused findutils gnugrep ]}"
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index f5e0441ea6c..dd8ddfd0e0b 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -36,9 +36,7 @@ in stdenv.mkDerivation rec {
   postInstall = ''
 	sed -i 's,which ,command -v ,' "$out/etc/vmware-tools/scripts/vmware/network"
 	wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
-		--prefix PATH ':' "${iproute}/bin" \
-		--prefix PATH ':' "${dbus}/bin" \
-		--prefix PATH ':' "${systemd}/bin"
+		--prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/virtualization/tini/default.nix b/pkgs/applications/virtualization/tini/default.nix
index fe016da6e58..535ca551785 100644
--- a/pkgs/applications/virtualization/tini/default.nix
+++ b/pkgs/applications/virtualization/tini/default.nix
@@ -7,14 +7,12 @@ stdenv.mkDerivation rec {
     url = "https://github.com/krallin/tini/archive/v0.8.3.tar.gz";
     sha256 ="1w7rj4crrcyv25idmh4asbp2sxzwyihy5mbpw384bzxjzaxn9xpa";
   };
+  patchPhase = "sed -i /tini-static/d CMakeLists.txt";
   NIX_CFLAGS_COMPILE = [
     "-DPR_SET_CHILD_SUBREAPER=36"
     "-DPR_GET_CHILD_SUBREAPER=37"
   ];
   buildInputs = [ cmake ];
-  postInstall = ''
-    rm $out/bin/tini-static
-  '';
   meta = with stdenv.lib; {
     description = "A tiny but valid init for containers";
     homepage = https://github.com/krallin/tini;
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 1a0f8f93625..5cda21066b5 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python
-, wrapGAppsHook, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte
+{ stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl
+, wrapGAppsHook, virtinst, gnome_python, gtkvnc, vte
 , gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib
 , avahi, dconf, spiceSupport ? true, spice_gtk, libosinfo, gnome3, system-libvirt
 }:
@@ -21,7 +21,7 @@ buildPythonApplication rec {
     [ eventlet greenlet gflags netaddr carrot routes
       PasteDeploy m2crypto ipy twisted
       distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
-      urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3
+      urlgrabber virtinst pyGtkGlade dbus-python gnome_python pygobject3
       libvirt libxml2Python ipaddr vte libosinfo gobjectIntrospection gtk3 mox
       gtkvnc libvirt-glib glib gsettings_desktop_schemas gnome3.defaultIconTheme
       wrapGAppsHook
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 1a1134e84a4..c0183fc7af7 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -75,7 +75,7 @@ stdenv.mkDerivation {
 
     for i in lib/VBoxOGL*.so
     do
-        patchelf --set-rpath $out/lib:${dbus.lib}/lib:${libXcomposite.out}/lib:${libXdamage.out}/lib:${libXext.out}/lib:${libXfixes.out}/lib $i
+        patchelf --set-rpath ${lib.makeLibraryPath [ "$out" dbus libXcomposite libXdamage libXext libXfixes ]} $i
     done
 
     # FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions
diff --git a/pkgs/applications/virtualization/xen/4.5.0.nix b/pkgs/applications/virtualization/xen/4.5.0.nix
index 48b3ee4d75b..887734ac6b9 100644
--- a/pkgs/applications/virtualization/xen/4.5.0.nix
+++ b/pkgs/applications/virtualization/xen/4.5.0.nix
@@ -2,12 +2,12 @@
 
 let
   # Xen 4.5.0
-  xenConfig = {
-    name = "xen-4.5.0";
+  xenConfig = rec {
     version = "4.5.0";
+    name = "xen-${version}";
 
     src = fetchurl {
-      url = "http://bits.xensource.com/oss-xen/release/4.5.0/xen-4.5.0.tar.gz";
+      url = "http://bits.xensource.com/oss-xen/release/${version}/${name}.tar.gz";
       sha256 = "0fvg00d596gh6cfm51xr8kj2mghcyivrf6np3dafnbldnbi41nsv";
     };
 
@@ -15,14 +15,14 @@ let
     firmwareGits =
       [ # tag 1.7.5
         { git = { name = "seabios";
-                  url = git://xenbits.xen.org/seabios.git;
+                  url = https://xenbits.xen.org/git-http/seabios.git;
                   rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2";
-                  sha256 = "b96a0b9f31cab0f3993d007dcbe5f1bd69ad02b0a23eb2dc8a3ed1aafe7985cb";
+                  sha256 = "0jk54ybhmw97pzyhpm6jr2x99f702kbn0ipxv5qxcbynflgdazyb";
                 };
           patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
         }
         { git = { name = "ovmf";
-                  url = git://xenbits.xen.org/ovmf.git;
+                  url = https://xenbits.xen.org/git-http/ovmf.git;
                   rev = "447d264115c476142f884af0be287622cd244423";
                   sha256 = "7086f882495a8be1497d881074e8f1005dc283a5e1686aec06c1913c76a6319b";
                 };
@@ -32,20 +32,20 @@ let
     toolsGits =
       [ # tag qemu-xen-4.5.0
         { git = { name = "qemu-xen";
-                  url = git://xenbits.xen.org/qemu-upstream-4.5-testing.git;
+                  url = https://xenbits.xen.org/git-http/qemu-xen.git;
                   rev = "1ebb75b1fee779621b63e84fefa7b07354c43a99";
-                  sha256 = "1j312q2mqvkvby9adkkxf7f1pn3nz85g5mr9nbg4qpf2y9cg122z";
+                  sha256 = "0yp9vmna3yl28vm5fkirghzhndaihmsm34fjzgr9sl6s46wx5yzg";
                 };
         }
         # tag xen-4.5.0
         { git = { name = "qemu-xen-traditional";
-                  url = git://xenbits.xen.org/qemu-xen-4.5-testing.git;
+                  url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
                   rev = "b0d42741f8e9a00854c3b3faca1da84bfc69bf22";
-                  sha256 = "ce52b5108936c30ab85ec0c9554f88d5e7b34896f3acb666d56765b49c86f2af";
+                  sha256 = "1lxlf1s81y5j0rhzzm1f4sbyrnbvd32vxiczs1qjcg6ls866vlki";
                 };
         }
         { git = { name = "xen-libhvm";
-                  url = "https://github.com/ts468/xen-libhvm";
+                  url = https://github.com/ts468/xen-libhvm;
                   rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63";
                   sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8";
                 };
@@ -77,4 +77,3 @@ let
   };
 
 in callPackage ./generic.nix (args // { xenConfig=xenConfig; })
-
diff --git a/pkgs/applications/virtualization/xen/4.5.2.nix b/pkgs/applications/virtualization/xen/4.5.2.nix
index f8f7630189f..e0b13edb1f2 100644
--- a/pkgs/applications/virtualization/xen/4.5.2.nix
+++ b/pkgs/applications/virtualization/xen/4.5.2.nix
@@ -15,16 +15,16 @@ let
     firmwareGits =
       [ # tag 1.7.5
         { git = { name = "seabios";
-                  url = git://xenbits.xen.org/seabios.git;
+                  url = https://xenbits.xen.org/git-http/seabios.git;
                   rev = "e51488c5f8800a52ac5c8da7a31b85cca5cc95d2";
-                  sha256 = "b96a0b9f31cab0f3993d007dcbe5f1bd69ad02b0a23eb2dc8a3ed1aafe7985cb";
+                  sha256 = "0jk54ybhmw97pzyhpm6jr2x99f702kbn0ipxv5qxcbynflgdazyb";
                 };
           patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ];
         }
         { git = { name = "ovmf";
-                  url = git://xenbits.xen.org/ovmf.git;
+                  url = https://xenbits.xen.org/git-http/ovmf.git;
                   rev = "cb9a7ebabcd6b8a49dc0854b2f9592d732b5afbd";
-                  sha256 = "1ncb8dpqzaj3s8am44jvclhby40hwczljz0a1gd282h9yr4k4sk2";
+                  sha256 = "07zmdj90zjrzip74fvd4ss8n8njk6cim85s58mc6snxmqqv7gmcq";
                 };
         }
       ];
@@ -32,20 +32,20 @@ let
     toolsGits =
       [ # tag qemu-xen-4.5.2
         { git = { name = "qemu-xen";
-                  url = git://xenbits.xen.org/qemu-upstream-4.5-testing.git;
+                  url = https://xenbits.xen.org/git-http/qemu-xen.git;
                   rev = "e5a1bb22cfb307db909dbd3404c48e5bbeb9e66d";
-                  sha256 = "1qflb3j8qcvipavybqhi0ql7m2bx51lhzgmf7pdbls8minpvdzg2";
+                  sha256 = "00h6hc1y19y9wafxk01hvwm2j8lysz26wi2dnv8md76zxavg4maa";
                 };
         }
         # tag xen-4.5.2
         { git = { name = "qemu-xen-traditional";
-                  url = git://xenbits.xen.org/qemu-xen-4.5-testing.git;
+                  url = https://xenbits.xen.org/git-http/qemu-xen-traditional.git;
                   rev = "dfe880e8d5fdc863ce6bbcdcaebaf918f8689cc0";
-                  sha256 = "14fxdsnkq729z5glkifdpz26idmn7fl38w1v97xj8cf6ifvk76cz";
+                  sha256 = "07jwpxgk9ls5hma6vv1frnx1aczlvpddlgiyii9qmmlxxwjs21yj";
                 };
         }
         { git = { name = "xen-libhvm";
-                  url = "https://github.com/ts468/xen-libhvm";
+                  url = https://github.com/ts468/xen-libhvm;
                   rev = "442dcc4f6f4e374a51e4613532468bd6b48bdf63";
                   sha256 = "9ba97c39a00a54c154785716aa06691d312c99be498ebbc00dc3769968178ba8";
                 };
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index c830fccb120..39ca30a7543 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -141,6 +141,9 @@ stdenv.mkDerivation {
       touch tools/include/gnu/stubs-32.h
     '';
 
+  # Fix build on Glibc 2.24.
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   # TODO: Flask needs more testing before enabling it by default.
   #makeFlags = "XSM_ENABLE=y FLASK_ENABLE=y PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
   makeFlags = "PREFIX=$(out) CONFIG_DIR=/etc XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files ";
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index d4721c99200..3a2a030b8a4 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
       --prefix LUA_PATH ";" '"${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua"' \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
-      --prefix PATH : "${compton}/bin:${unclutter}/bin:${procps}/bin:${iproute}/sbin:${coreutils}/bin:${curl.bin}/bin:${alsaUtils}/bin:${findutils}/bin:${xterm}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ compton unclutter procps iproute coreutils curl alsaUtils findutils xterm ]}"
 
     wrapProgram $out/bin/awesome-client \
       --prefix PATH : "${which}/bin"
diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix
index 09c36835dad..46b8c8affc7 100644
--- a/pkgs/applications/window-managers/compiz/default.nix
+++ b/pkgs/applications/window-managers/compiz/default.nix
@@ -1,17 +1,19 @@
-{stdenv, fetchurl, cmake, pkgconfig
+{ stdenv, fetchurl, cmake, pkgconfig
 , libXrender, renderproto, gtk, libwnck, pango, cairo
 , GConf, libXdamage, damageproto, libxml2, libxslt, glibmm
 , metacity
 , libstartup_notification, libpthreadstubs, libxcb, intltool
 , ORBit2, libXau, libICE, libSM
 , dbus, dbus_glib, librsvg, mesa
-, libXdmcp, libnotify, python
-, hicolor_icon_theme, libjpeg_turbo, libsigcxx, protobuf, pygtk, pythonDBus
+, libXdmcp, libnotify, pythonPackages
+, hicolor_icon_theme, libjpeg_turbo, libsigcxx, protobuf
 , xdg_utils
 , gettext, boost, pyrex
 , makeWrapper
 }:
 let
+  inherit (pythonPackages) python dbus-python pygtk;
+
   s = # Generated upstream information
   rec {
     baseName="compiz";
@@ -29,7 +31,7 @@ let
     ORBit2 libXau libICE libSM
     dbus dbus_glib librsvg mesa
     libXdmcp libnotify python
-    hicolor_icon_theme libjpeg_turbo libsigcxx protobuf pygtk pythonDBus
+    hicolor_icon_theme libjpeg_turbo libsigcxx protobuf pygtk dbus-python
     xdg_utils
     gettext boost pyrex
     makeWrapper 
diff --git a/pkgs/applications/window-managers/compton/git.nix b/pkgs/applications/window-managers/compton/git.nix
index afa7d123107..61b35631178 100644
--- a/pkgs/applications/window-managers/compton/git.nix
+++ b/pkgs/applications/window-managers/compton/git.nix
@@ -4,13 +4,13 @@
   libXrandr, libXrender, xwininfo }:
 
 stdenv.mkDerivation {
-  name = "compton-git-2015-09-21";
+  name = "compton-git-2016-08-10";
 
   src = fetchFromGitHub {
     owner  = "chjj";
     repo   = "compton";
-    rev    = "2343e4bbd298b35ea5c190c52abd2b0cb9f79a18";
-    sha256 = "1pb0ic47sfd796crwk47cya2ahbxsm6ygi6sh4fwd734kwz37h4z";
+    rev    = "f1cd308cde0f1e1f21ec2ac8f16a3c873fa22d3a";
+    sha256 = "1ky438d1rsg4ylkcp60m82r0jck8rks3gfa869rc63k37p2nfn8p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 460096cf16c..c3425afd988 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "jwm-${version}";
-  version = "1535";
+  version = "1548";
   
   src = fetchurl {
      url = "https://github.com/joewing/jwm/archive/s${version}.tar.gz";
-     sha256 = "1v593v1n9p9nvlhz1m9vc94wj21a6rbk7hcja30421h5mwa2b6gb";
+     sha256 = "1ih5y7567vwcbnkjwm3cc9iq4n9rzz818mkh6ryli9ld230hla5r";
   };
 
   nativeBuildInputs = [ pkgconfig automake autoconf libtool gettext which ];
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
index 91ee7dedb5d..2ce69a68f32 100644
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     cp $out/share/stumpwm/modules/util/stumpish/stumpish $out/bin/
     chmod +x $out/bin/stumpish
     wrapProgram $out/bin/stumpish \
-      --prefix PATH ":" "${rlwrap}/bin:${gnused}/bin:${gnugrep}/bin:${coreutils}/bin:${xprop}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap gnused gnugrep coreutils xprop ]}"
 
     # Paths in the compressed image $out/bin/stumpwm are not
     # recognized by Nix. Add explicit reference here.
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
index c28d090e0bd..e7994eaf05f 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "wmsystemtray-1.4";
   src = fetchurl {
-     url = http://sourceforge.net/projects/wmsystemtray/files/wmsystemtray/wmsystemtray-1.4.tar.gz;
+     url = mirror://sourceforge/project/wmsystemtray/wmsystemtray/wmsystemtray-1.4.tar.gz;
      sha256 = "8edef43691e9fff071000e29166c7c1ad420c0956e9068151061e881c8ac97e9";
   };
 
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index 894ea95b5fa..024a1866dac 100644
--- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -22,6 +22,7 @@ dontLink=0
 getVersion=0
 nonFlagArgs=0
 [[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0
+cppInclude=1
 
 params=("$@")
 n=0
@@ -46,6 +47,10 @@ while [ $n -lt ${#params[*]} ]; do
         isCpp=1
     elif [ "$p" = -nostdlib ]; then
         isCpp=-1
+    elif [ "$p" = -nostdinc ]; then
+        cppInclude=0
+    elif [ "$p" = -nostdinc++ ]; then
+        cppInclude=0
     elif [ "${p:0:1}" != - ]; then
         nonFlagArgs=1
     elif [ "$p" = -m32 ]; then
@@ -106,7 +111,9 @@ if [ "$NIX_ENFORCE_NO_NATIVE" = 1 ]; then
 fi
 
 if [[ "$isCpp" = 1 ]]; then
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${NIX_CXXSTDLIB_COMPILE-@default_cxx_stdlib_compile@}"
+    if [[ "$cppInclude" = 1 ]]; then
+        NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE ${NIX_CXXSTDLIB_COMPILE-@default_cxx_stdlib_compile@}"
+    fi
     NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK $NIX_CXXSTDLIB_LINK"
 fi
 
diff --git a/pkgs/build-support/fetchfossil/builder.sh b/pkgs/build-support/fetchfossil/builder.sh
new file mode 100644
index 00000000000..5f08aca424f
--- /dev/null
+++ b/pkgs/build-support/fetchfossil/builder.sh
@@ -0,0 +1,22 @@
+source $stdenv/setup
+header "Cloning Fossil $url [$rev] into $out"
+
+# Fossil, bless its adorable little heart, wants to write global configuration
+# to $HOME/.fossil. AFAICT, there is no way to disable this functionality.
+# Instead, we'll let it write to the build directory.
+export HOME=$(pwd)
+
+# We must explicitly set the admin user for the clone to something reasonable.
+fossil clone -A nobody "$url" fossil-clone.fossil
+
+mkdir fossil-clone
+WORKDIR=$(pwd)
+mkdir $out
+pushd $out
+fossil open "$WORKDIR/fossil-clone.fossil" "$rev"
+popd
+
+# Just nuke the checkout file.
+rm $out/.fslckout
+
+stopNest
diff --git a/pkgs/build-support/fetchfossil/default.nix b/pkgs/build-support/fetchfossil/default.nix
new file mode 100644
index 00000000000..439c96019a4
--- /dev/null
+++ b/pkgs/build-support/fetchfossil/default.nix
@@ -0,0 +1,20 @@
+{stdenv, fossil}:
+
+{name ? null, url, rev, sha256}:
+
+stdenv.mkDerivation {
+  name = "fossil-archive" + (if name != null then "-${name}" else "");
+  builder = ./builder.sh;
+  buildInputs = [fossil];
+
+  # Envvar docs are hard to find. A link for the future:
+  # https://www.fossil-scm.org/index.html/doc/trunk/www/env-opts.md
+  impureEnvVars = [ "http_proxy" ];
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = sha256;
+
+  inherit url rev;
+  preferLocalBuild = true;
+}
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 68244a43e58..5ae5eb105e7 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -87,16 +87,44 @@ rec {
   ];
 
   savannah = [
-    ftp://mirror.csclub.uwaterloo.ca/nongnu/
-    ftp://mirror.publicns.net/pub/nongnu/
-    ftp://savannah.c3sl.ufpr.br/
-    http://download.savannah.gnu.org/releases/
+    # Mirrors from https://download-mirror.savannah.gnu.org/releases/00_MIRRORS.html
+    http://mirror.easyname.at/nongnu/
+    http://mirror2.klaus-uwe.me/nongnu/
+    http://savannah.c3sl.ufpr.br/
+    http://mirror.csclub.uwaterloo.ca/nongnu/
+    http://mirror.cedia.org.ec/nongnu/
+    http://ftp.igh.cnrs.fr/pub/nongnu/
+    http://mirror6.layerjet.com/nongnu
+    http://mirror.netcologne.de/savannah/
     http://ftp.cc.uoc.gr/mirrors/nongnu.org/
+    http://nongnu.uib.no/
+    http://mirrors.fe.up.pt/pub/nongnu/
+    http://mirror.lihnidos.org/GNU/savannah/
+    http://savannah.mirror.si/
+    http://ftp.acc.umu.se/mirror/gnu.org/savannah/
     http://ftp.twaren.net/Unix/NonGNU/
-    http://mirror.csclub.uwaterloo.ca/nongnu/
-    http://nongnu.askapache.com/
-    http://savannah.c3sl.ufpr.br/
-    http://www.centervenus.com/mirrors/nongnu/
+    http://ftp.yzu.edu.tw/pub/nongnu/
+    http://mirror.rackdc.com/savannah/
+    http://savannah-nongnu-org.ip-connect.vn.ua/
+    http://www.mirrorservice.org/sites/download.savannah.gnu.org/releases/
+    http://savannah.spinellicreations.com/
+    http://gnu.mirrors.pair.com/savannah/savannah/
+    ftp://mirror.easyname.at/nongnu/
+    ftp://mirror2.klaus-uwe.me/nongnu/
+    ftp://savannah.c3sl.ufpr.br/savannah-nongnu/
+    ftp://mirror.csclub.uwaterloo.ca/nongnu/
+    ftp://mirror.cedia.org.ec/nongnu
+    ftp://ftp.igh.cnrs.fr/pub/nongnu/
+    ftp://mirror6.layerjet.com/nongnu/
+    ftp://mirror.netcologne.de/savannah/
+    ftp://nongnu.uib.no/pub/nongnu/
+    ftp://mirrors.fe.up.pt/pub/nongnu/
+    ftp://savannah.mirror.si/savannah/
+    ftp://ftp.twaren.net/Unix/NonGNU/
+    ftp://ftp.yzu.edu.tw/pub/nongnu/
+    ftp://savannah-nongnu-org.ip-connect.vn.ua/mirror/savannah.nongnu.org/
+    ftp://ftp.mirrorservice.org/sites/download.savannah.gnu.org/releases/
+    ftp://spinellicreations.com/gnu_dot_org_savannah_mirror/
   ];
 
   samba = [
@@ -290,34 +318,49 @@ rec {
 
   # Sage mirrors (http://www.sagemath.org/mirrors.html)
   sagemath = [
-    http://boxen.math.washington.edu/home/sagemath/sage-mirror/src/
-    http://echidna.maths.usyd.edu.au/sage/src/
-    http://ftp.iitm.ac.in/sage/src/
+    # Africa
+    http://sagemath.polytechnic.edu.na/src/
+    ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/src/
+    http://sagemath.mirror.ac.za/src/
+    https://ftp.leg.uct.ac.za/pub/packages/sage/src/
+    http://mirror.ufs.ac.za/sagemath/src/
+
+    # America, North
+    http://mirrors-usa.go-parts.com/sage/sagemath/src/
+    http://mirrors.mit.edu/sage/src/
+    http://www.cecm.sfu.ca/sage/src/
+    http://files.sagemath.org/src/
+    http://mirror.clibre.uqam.ca/sage/src/
+    https://mirrors.xmission.com/sage/src/
+
+    # America, South
+    http://sagemath.c3sl.ufpr.br/src/
+    http://linorg.usp.br/sage/
+
+    # Asia
+    http://sage.asis.io/src/
+    http://mirror.hust.edu.cn/sagemath/src/
+    https://ftp.iitm.ac.in/sage/src/
     http://ftp.kaist.ac.kr/sage/src/
     http://ftp.riken.jp/sagemath/src/
+    https://mirrors.tuna.tsinghua.edu.cn/sagemath/src/
+    https://mirrors.ustc.edu.cn/sagemath/src/
     http://ftp.tsukuba.wide.ad.jp/software/sage/src/
-    http://jambu.spms.ntu.edu.sg/sage/src/
-    http://linorg.usp.br/sage/src/
-    http://mirror.aarnet.edu.au/pub/sage/src/
-    http://mirror.clibre.uqam.ca/sage/src/
-    http://mirror.hust.edu.cn/sagemath/src/
-    http://mirror.switch.ch/mirror/sagemath/src/
-    http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
-    http://mirrors.fe.up.pt/pub/sage/src/
-    http://mirrors.hustunique.com/sagemath/src/
-    http://mirrors.ustc.edu.cn/sagemath/src/
-    http://mirrors.xmission.com/sage/src/
-    http://sage.asis.io/src/
+    http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/src/
+    https://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/
+
+    # Australia
+    http://echidna.maths.usyd.edu.au/sage/src/
+
+    # Europe
     http://sage.mirror.garr.it/mirrors/sage/src/
-    http://sage.yasar.edu.tr/src/
-    http://sagemath.c3sl.ufpr.br/src/
-    http://sagemath.polytechnic.edu.na/src/
     http://sunsite.rediris.es/mirror/sagemath/src/
+    http://mirror.switch.ch/mirror/sagemath/src/
+    http://mirrors.fe.up.pt/pub/sage/src/
     http://www-ftp.lip6.fr/pub/math/sagemath/src/
-    http://www.mirrorservice.org/sites/www.sagemath.org/src/
+    http://ftp.ntua.gr/pub/sagemath/src/
 
     # Old versions
-    http://www.cecm.sfu.ca/sage/src/
     http://sagemath.org/src-old/
   ];
 
diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh
index 71d507b1e2b..8a31c760da0 100644
--- a/pkgs/build-support/kernel/modules-closure.sh
+++ b/pkgs/build-support/kernel/modules-closure.sh
@@ -1,7 +1,5 @@
 source $stdenv/setup
 
-set -o pipefail
-
 version=$(cd $kernel/lib/modules && ls -d *)
 
 echo "kernel version is $version"
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 7ac1b2cc519..5b407f530dc 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -587,7 +587,7 @@ rec {
       buildCommand = ''
         ${createRootFS}
 
-        PATH=$PATH:${dpkg}/bin:${dpkg}/bin:${glibc.bin}/bin:${lzma.bin}/bin
+        PATH=$PATH:${stdenv.lib.makeBinPath [ dpkg dpkg glibc lzma ]}
 
         # Unpack the .debs.  We do this to prevent pre-install scripts
         # (which have lots of circular dependencies) from barfing.
@@ -1124,6 +1124,32 @@ rec {
       unifiedSystemDir = true;
     };
 
+    fedora24i386 = {
+      name = "fedora-24-i386";
+      fullName = "Fedora 24 (i386)";
+      packagesList = fetchurl rec {
+        url = "mirror://fedora/linux/releases/24/Everything/i386/os/repodata/${sha256}-primary.xml.gz";
+        sha256 = "6928e251628da7a74b79180739a43784e534eaa744ba4bcb18c847dff541f344";
+      };
+      urlPrefix = mirror://fedora/linux/releases/24/Everything/i386/os;
+      archs = ["noarch" "i386" "i586" "i686"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
+    fedora24x86_64 = {
+      name = "fedora-24-x86_64";
+      fullName = "Fedora 24 (x86_64)";
+      packagesList = fetchurl rec {
+        url = "mirror://fedora/linux/releases/24/Everything/x86_64/os/repodata/${sha256}-primary.xml.gz";
+        sha256 = "8dcc989396ed27fadd252ba9b655019934bc3d9915f186f1f2f27e71eba7b42f";
+      };
+      urlPrefix = mirror://fedora/linux/releases/24/Everything/x86_64/os;
+      archs = ["noarch" "x86_64"];
+      packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
+      unifiedSystemDir = true;
+    };
+
     opensuse103i386 = {
       name = "opensuse-10.3-i586";
       fullName = "openSUSE 10.3 (i586)";
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 65df7fc1f95..98ce946044d 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   major = "0.0";
-  minor = "24";
+  minor = "25";
   name = "cantarell-fonts-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/cantarell-fonts/${major}/${name}.tar.xz";
-    sha256 = "0r4jnc2x9yncf40lixjb1pqgpq8rzbi2fz33pshlqzjgx2d69bcw";
+    sha256 = "0zvkd8cm1cg2919v1js9qmzwa02sjl7qajj3gcvgqvai1fm2i8hl";
   };
 
   meta = {
diff --git a/pkgs/data/fonts/emojione/default.nix b/pkgs/data/fonts/emojione/default.nix
index 3e74ca9270a..e19734c1913 100644
--- a/pkgs/data/fonts/emojione/default.nix
+++ b/pkgs/data/fonts/emojione/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "emojione-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "eosrei";
     repo = "emojione-color-font";
     rev = "v${version}";
-    sha256 = "001c2bph4jcdg9arfmyxrscf1i09gvg44kqy28chjmhxzq99hpcg";
+    sha256 = "0hgs661g1j91lkafhrfx5ix7ymarh5bzcx34r2id6jl7dc3j41l3";
   };
 
   preBuild = ''
diff --git a/pkgs/data/fonts/nerdfonts/default.nix b/pkgs/data/fonts/nerdfonts/default.nix
index 1f8d17509f7..894325e5b7f 100644
--- a/pkgs/data/fonts/nerdfonts/default.nix
+++ b/pkgs/data/fonts/nerdfonts/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchFromGitHub, bash, which }:
+{ stdenv, fetchFromGitHub, bash, which, withFont ? "" }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.0";
+  version = "0.8.0";
   name = "nerdfonts-${version}";
   src = fetchFromGitHub {
     owner = "ryanoasis";
     repo = "nerd-fonts";
     rev = version;
-    sha256 = "0q2h8hpkbid8idi2kvzx5bnhyh65y51k02g7xpv3drjqj08cz7y0";
+    sha256 = "0n7idfk4460j8g0rw73hzz195pdh4c916hpc5r6dxpvgcmvryzc5";
   };
   dontPatchShebangs = true;
   buildInputs = [ which ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   '';
   installPhase = ''
     mkdir -p $out/share/fonts/truetype
-    ./install.sh
+    ./install.sh ${withFont}
   '';
   meta = with stdenv.lib; {
     description = "Nerd Fonts is a project that attempts to patch as many developer targeted and/or used fonts as possible. The patch is to specifically add a high number of additional glyphs from popular 'iconic fonts' such as Font Awesome, Devicons, Octicons, and others.";
diff --git a/pkgs/data/misc/poppler-data/default.nix b/pkgs/data/misc/poppler-data/default.nix
index 59dd4da792b..beac8105199 100644
--- a/pkgs/data/misc/poppler-data/default.nix
+++ b/pkgs/data/misc/poppler-data/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, cmake }:
+{ fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "poppler-data-0.4.7";
@@ -8,22 +8,17 @@ stdenv.mkDerivation rec {
     sha256 = "1pm7wg6xqj4sppb5az4pa7psfdk4yxxkw52j85bm9fksibcb0lp7";
   };
 
-  buildInputs = [ cmake ];
+  postPatch = ''
+    sed -i 's,$(datadir)/pkgconfig,$(prefix)/lib/pkgconfig,g' Makefile
+  '';
 
-# TODO: actually use $prefix/etc/profile.d in NixOS
-  postInstall =
-    ''
-      mkdir -pv ''${out}/etc/profile.d
-      echo "export POPPLER_DATADIR=''${out}/share/poppler" |
-        tee ''${out}/etc/profile.d/60-poppler.sh
-      chmod -c +x ''${out}/etc/profile.d/60-poppler.sh
-    '';
+  installFlags = [ "prefix=$(out)" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://poppler.freedesktop.org/;
     description = "Encoding files for Poppler, a PDF rendering library";
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.free; # more free licenses combined
-    maintainers = [ stdenv.lib.maintainers.urkud ];
+    platforms = platforms.all;
+    license = licenses.free; # more free licenses combined
+    maintainers = with maintainers; [ urkud ];
   };
 }
diff --git a/pkgs/data/misc/wireless-regdb/default.nix b/pkgs/data/misc/wireless-regdb/default.nix
index d7dfd60c27f..3aae3adf2a8 100644
--- a/pkgs/data/misc/wireless-regdb/default.nix
+++ b/pkgs/data/misc/wireless-regdb/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "wireless-regdb-${version}";
-  version = "2016-05-02";
+  version = "2016-06-10";
 
   src = fetchgit {
-    sha256 = "1qa741an242wi6gdikkr4ahanphfhwnjg8q2z3rsv8wdha91k895";
+    sha256 = "0im9likzpziircl96pql2jpyl8pfcqc5v0wgqy705j4ga5sx8pmn";
     url = https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git;
     rev = "refs/tags/master-${version}";
   };
diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix
index 0dabd7f1347..9cde3cf4594 100644
--- a/pkgs/desktops/enlightenment/econnman.nix
+++ b/pkgs/desktops/enlightenment/econnman.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ makeWrapper pkgconfig efl python2Packages.python python2Packages.wrapPython dbus ];
-  pythonPath = [ python2Packages.pythonefl python2Packages.dbus elementary ];
+  pythonPath = [ python2Packages.pythonefl python2Packages.dbus-python elementary ];
   postInstall = ''
     wrapPythonPrograms
   '';
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index 19079d7793d..218de3bfa7c 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto
     xorg.libX11 udev utillinux systemd ];
 
-  propagatedBuildInputs = [ libxkbcommon python27Packages.dbus dbus libjpeg xorg.libXcomposite
+  propagatedBuildInputs = [ libxkbcommon python27Packages.dbus-python dbus libjpeg xorg.libXcomposite
     xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext
     bullet xorg.libXScrnSaver xorg.libXrender xorg.libXfixes xorg.libXrandr
     xorg.libxkbfile xorg.libxcb xorg.xcbutilkeysyms openjpeg doxygen expat luajit
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   patches = [ ./efl-elua.patch ];
 
   preConfigure = ''
-    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base.dev}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
     export LD_LIBRARY_PATH="$(pwd)/src/lib/eina/.libs:$LD_LIBRARY_PATH"
   '';
 
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index 41ca17bd5e4..b019951db5f 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus,  gnome_vfs}:
+{ stdenv, fetchurl, pythonPackages, pkgconfig, libgnome, GConf, glib, gtk, gnome_vfs}:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject pygtk dbus-python;
+in stdenv.mkDerivation rec {
   version = "2.28";
   name = "gnome-python-${version}.1";
 
@@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
     cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/
   '';
 
-  buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus gnome_vfs ];
+  buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome dbus-python gnome_vfs ];
 
   doCheck = false;
 
diff --git a/pkgs/desktops/gnome-3/3.20/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/3.20/apps/accerciser/default.nix
index a2813e0581b..f8856ca7130 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/accerciser/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook
-, itstool, libxml2, python3, python3Packages, pyatspi, at_spi2_core
+, itstool, libxml2, python3Packages, at_spi2_core
 , dbus, intltool, libwnck3 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    pkgconfig gtk3 wrapGAppsHook itstool libxml2 python3 pyatspi
+    pkgconfig gtk3 wrapGAppsHook itstool libxml2 python3Packages.python python3Packages.pyatspi
     python3Packages.pygobject3 python3Packages.ipython
     at_spi2_core dbus intltool libwnck3 gnome3.defaultIconTheme
   ];
diff --git a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix
index a9bb87d4ddd..6ae149cd570 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
   configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar"
                      "--disable-libcryptui" ];
 
-  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss}/include/nss -I${glib.dev}/include/gio-unix-2.0";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix b/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix
index 9c55a6b60e2..b43dc9c505d 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/evolution/src.nix
@@ -1,11 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "3.20";
-  name = "evolution-${major}.4";
+fetchurl: {
+  name = "evolution-3.20.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evolution/${major}/${name}.tar.xz";
-    sha256 = "1g1nai6jz0irz94d06vx8gbwbzdp7r53qjxvjfhdqhlhnhy76a9c";
+    url = mirror://gnome/sources/evolution/3.20/evolution-3.20.5.tar.xz;
+    sha256 = "2e13551ce0996963506f0bdde5e01c3b8aa0622849a272ff12877cd595baeb6e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gedit/default.nix
index d0c48752e73..69056e28c26 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gedit/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib")
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gnome3.libpeas gnome3.gtksourceview ]}")
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix
index 1edea6b888b..edb0075fdae 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-boxes/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, intltool, itstool, libvirt-glib
 , glib, gobjectIntrospection, libxml2, gtk3, gtkvnc, libvirt, spice_gtk
-, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala
+, spice_protocol, libuuid, libsoup, libosinfo, systemd, tracker, vala_0_32
 , libcap_ng, libcap, yajl, gmp, gdbm, cyrus_sasl, gnome3, librsvg
 , desktop_file_utils, mtools, cdrkit, libcdio, numactl, xen
 , libusb, libarchive, acl, libgudev, qemu
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     makeWrapper pkgconfig intltool itstool libvirt-glib glib
     gobjectIntrospection libxml2 gtk3 gtkvnc libvirt spice_gtk spice_protocol
-    libuuid libsoup libosinfo systemd tracker vala libcap_ng libcap yajl gmp
+    libuuid libsoup libosinfo systemd tracker vala_0_32 libcap_ng libcap yajl gmp
     gdbm cyrus_sasl gnome3.defaultIconTheme libusb libarchive
     librsvg desktop_file_utils acl libgudev numactl xen
   ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
         wrapProgram "$prog" \
             --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
             --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-            --prefix PATH : "${mtools}/bin:${cdrkit}/bin:${libcdio}/bin:${qemu}/bin"
+            --prefix PATH : "${stdenv.lib.makeBinPath [ mtools cdrkit libcdio qemu ]}"
     done
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix
index 1ef58f33c90..054f340bf42 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-maps/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-maps-3.20.1";
+  name = "gnome-maps-3.20.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-maps/3.20/gnome-maps-3.20.1.tar.xz;
-    sha256 = "4874d10a3cfdffd5d1db6084d67b5e8dc8c2db2ff995302b80060ecfc5e99bd5";
+    url = mirror://gnome/sources/gnome-maps/3.20/gnome-maps-3.20.2.tar.xz;
+    sha256 = "e860144795339fdbb2f1239c4db092ad12beb9acaa3f3f8aa1d935c36d86bc3f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-music/default.nix
index f48feb20579..ea8f15fd4e5 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-music/default.nix
@@ -1,5 +1,5 @@
 { stdenv, intltool, fetchurl, gdk_pixbuf, tracker
-, python3, libxml2, python3Packages, libnotify, wrapGAppsHook
+, libxml2, python3Packages, libnotify, wrapGAppsHook
 , pkgconfig, gtk3, glib, cairo
 , makeWrapper, itstool, gnome3, librsvg, gst_all_1 }:
 
@@ -9,9 +9,9 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg python3
+                  gdk_pixbuf gnome3.defaultIconTheme librsvg python3Packages.python
                   gnome3.grilo gnome3.grilo-plugins gnome3.totem-pl-parser libxml2 libnotify
-                  python3Packages.pycairo python3Packages.dbus python3Packages.requests2
+                  python3Packages.pycairo python3Packages.dbus-python python3Packages.requests2
                   python3Packages.pygobject3 gst_all_1.gstreamer gst_all_1.gst-plugins-base
                   gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad wrapGAppsHook
                   gnome3.gsettings_desktop_schemas makeWrapper tracker ];
diff --git a/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix b/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix
index c24de8525a8..e8569dc5433 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/gnome-photos/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-photos-3.20.2";
+  name = "gnome-photos-3.20.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-photos/3.20/gnome-photos-3.20.2.tar.xz;
-    sha256 = "ec6b95ad1c4aeeb065a65d2d48335036c0750761c7f6762bafcf874791272b46";
+    url = mirror://gnome/sources/gnome-photos/3.20/gnome-photos-3.20.3.tar.xz;
+    sha256 = "d1dd8bd8178dd1d0120abd2ff3e959fb1199f4e1751558f925ce7f1278548996";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix
index 49c48a6b962..e59df06f8a0 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/seahorse/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, vala
+{ stdenv, intltool, fetchurl, vala_0_32
 , pkgconfig, gtk3, glib
 , makeWrapper, itstool, gnupg, libsoup
 , gnome3, librsvg, gdk_pixbuf, gpgme
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr
                   gnome3.gsettings_desktop_schemas makeWrapper gnupg
                   gdk_pixbuf gnome3.defaultIconTheme librsvg gpgme
-                  libsecret avahi libsoup p11_kit vala gnome3.gcr
+                  libsecret avahi libsoup p11_kit vala_0_32 gnome3.gcr
                   openssh ];
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix b/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix
index 874c7280949..f7a0ff473cc 100644
--- a/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/baobab/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, vala, libgtop
+{ stdenv, intltool, fetchurl, vala_0_32, libgtop
 , pkgconfig, gtk3, glib
 , bash, makeWrapper, itstool, libxml2
 , gnome3, librsvg, gdk_pixbuf, file }:
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2
+  buildInputs = [ vala_0_32 pkgconfig gtk3 glib libgtop intltool itstool libxml2
                   gnome3.gsettings_desktop_schemas makeWrapper file
                   gdk_pixbuf gnome3.defaultIconTheme librsvg ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/3.20/core/dconf-editor/default.nix
index bf39965bf77..6e0184e134e 100644
--- a/pkgs/desktops/gnome-3/3.20/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
+{ stdenv, fetchurl, vala_0_32, libxslt, pkgconfig, glib, dbus_glib, gnome3
 , libxml2, intltool, docbook_xsl_ns, docbook_xsl, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
 
-  buildInputs = [ vala libxslt glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
+  buildInputs = [ vala_0_32 libxslt glib dbus_glib gnome3.gtk libxml2 gnome3.defaultIconTheme
                   intltool docbook_xsl docbook_xsl_ns gnome3.dconf ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.20/core/dconf/default.nix
index 990e2007a23..598d60dd8b7 100644
--- a/pkgs/desktops/gnome-3/3.20/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/dconf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
+{ stdenv, fetchurl, vala_0_32, libxslt, pkgconfig, glib, dbus_glib, gnome3
 , libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
 
 let
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "4373e0ced1f4d7d68d518038796c073696280e22957babb29feb0267c630fec2";
   };
 
-  buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
+  buildInputs = [ vala_0_32 libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
                   intltool docbook_xsl docbook_xsl_ns makeWrapper ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/core/empathy/default.nix b/pkgs/desktops/gnome-3/3.20/core/empathy/default.nix
index 207ccbe1d36..9a29d11f1ae 100644
--- a/pkgs/desktops/gnome-3/3.20/core/empathy/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/empathy/default.nix
@@ -35,9 +35,9 @@ stdenv.mkDerivation rec {
                   gnome3.defaultIconTheme gnome3.gsettings_desktop_schemas
                   file libtool librsvg ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
-                         "-I${dbus_libs}/include/dbus-1.0"
-                         "-I${dbus_libs}/lib/dbus-1.0/include" ];
+  NIX_CFLAGS_COMPILE = [ "-I${dbus_glib.dev}/include/dbus-1.0"
+                         "-I${dbus_libs.dev}/include/dbus-1.0"
+                         "-I${dbus_libs.dev}/lib/dbus-1.0/include" ];
 
   preFixup = ''
     for f in $out/bin/* $out/libexec/*; do
diff --git a/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix b/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix
index 322dd3bedac..5043d7cf2fe 100644
--- a/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/epiphany/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
                   gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common
                   gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf ];
 
-  NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss -I${glib}/include/gio-unix-2.0";
+  NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss}/include/nss -I${glib.dev}/include/gio-unix-2.0";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/default.nix
index c12b3daa8c9..6b13b726296 100644
--- a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv, pkgconfig, gnome3, python
 , intltool, libsoup, libxml2, libsecret, icu, sqlite
-, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }:
+, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala_0_32 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   buildInputs = with gnome3;
     [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts
       gcr p11_kit libgweather libgdata gperf makeWrapper icu sqlite gsettings_desktop_schemas ]
-    ++ stdenv.lib.optional valaSupport vala;
+    ++ stdenv.lib.optional valaSupport vala_0_32;
 
   propagatedBuildInputs = [ libsecret nss nspr libical db ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix
index cdb3dacf7ab..eaeece5baf2 100644
--- a/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/evolution-data-server/src.nix
@@ -1,11 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "3.20";
-  name = "evolution-data-server-${major}.4";
+fetchurl: {
+  name = "evolution-data-server-3.20.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evolution-data-server/${major}/${name}.tar.xz";
-    sha256 = "03h81dnk34b3xf2065rymr1jd7as4dmpd89hyf380c5np36f6l7j";
+    url = mirror://gnome/sources/evolution-data-server/3.20/evolution-data-server-3.20.5.tar.xz;
+    sha256 = "0d1586cd326d997497a2a6fddd939a83892be07cb20f8c88fda5013f8c5bbe7e";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/folks/default.nix b/pkgs/desktops/gnome-3/3.20/core/folks/default.nix
index 6e200bdb318..842864b0b81 100644
--- a/pkgs/desktops/gnome-3/3.20/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/folks/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool
-, vala, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
+, vala_0_32, sqlite, libxml2, dbus_glib, libsoup, nss, dbus_libs
 , telepathy_glib, evolution_data_server, libsecret, db }:
 
 # TODO: enable more folks backends
@@ -18,13 +18,13 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
   # dbus_daemon needed for tests
   buildInputs = [ dbus_glib telepathy_glib evolution_data_server dbus_libs
-                  vala libsecret libxml2 libsoup nspr nss intltool db ];
+                  vala_0_32 libsecret libxml2 libsoup nspr nss intltool db ];
   nativeBuildInputs = [ pkgconfig ];
 
   configureFlags = "--disable-fatal-warnings";
 
-  NIX_CFLAGS_COMPILE = ["-I${nspr}/include/nspr" "-I${nss}/include/nss"
-                        "-I${dbus_glib}/include/dbus-1.0" "-I${dbus_libs}/include/dbus-1.0"];
+  NIX_CFLAGS_COMPILE = ["-I${nspr.dev}/include/nspr" "-I${nss}/include/nss"
+                        "-I${dbus_glib.dev}/include/dbus-1.0" "-I${dbus_libs.dev}/include/dbus-1.0"];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gcr/default.nix b/pkgs/desktops/gnome-3/3.20/core/gcr/default.nix
index e0e8d1e7338..55eebf77be5 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gcr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
 , libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk
-, gobjectIntrospection, makeWrapper, libxslt, vala, gnome3 }:
+, gobjectIntrospection, makeWrapper, libxslt, vala_0_32, gnome3 }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   buildInputs = [
     pkgconfig intltool gnupg glib gobjectIntrospection libxslt
-    libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper vala
+    libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper vala_0_32
   ];
 
   propagatedBuildInputs = [ p11_kit ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix
index e1b81339e91..23cdf41d5c0 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/default.nix
@@ -7,6 +7,26 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
 
+  # Fix for  https://github.com/NixOS/nixpkgs/issues/17912
+  # See also https://bugzilla.gnome.org/show_bug.cgi?id=673101
+  # Should be removed when next release comes out
+  srcHistoryEntry = fetchurl {
+    url = "https://raw.githubusercontent.com/GNOME/gnome-calculator/9bb6936ba74602ec891c1ffecdf1665dba1a1be4/data/history-entry.ui";
+    sha256 = "0a6d6anwrg5l3kc7i8jyky4idnzi9bhjv9awi6615505pjhcxnaj";
+  };
+
+  srcHistoryView = fetchurl {
+    url = "https://raw.githubusercontent.com/GNOME/gnome-calculator/b87b4f5cd0cff0b9cf9e9cd2a056c56be653cab1/data/history-view.ui";
+    sha256 = "0zyq1mcxsh707jhh3vfqplk5s83lb26gvjz62l5l6rq5yrd43fyw";
+  };
+
+  prePatch = ''
+    [ -f data/history-entry.ui ] && echo Remove the fix && exit 1
+    [ -f data/history-view.ui ]  && echo Remove the fix && exit 1
+    cp -v ${srcHistoryEntry} data/history-entry.ui
+    cp -v ${srcHistoryView}  data/history-view.ui
+  '';
+
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix
index a24b0b5b876..60270be06b7 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-calculator/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-calculator-3.20.1";
+  name = "gnome-calculator-3.20.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-calculator/3.20/gnome-calculator-3.20.1.tar.xz;
-    sha256 = "02edcf99857599ac10ecd2faaf33ad20a9f11f7c5a89a52ee1b511d99b594b90";
+    url = mirror://gnome/sources/gnome-calculator/3.20/gnome-calculator-3.20.2.tar.xz;
+    sha256 = "2af1c12a12a230f90fc221ff908efd80fe7eebfeaad56cd698c393d2fc34a8fb";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-contacts/default.nix
index 6ec3c7871bb..8097cf32ba6 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-contacts/default.nix
@@ -3,7 +3,7 @@
 , libchamplain, clutter_gtk, geocode_glib
 , bash, makeWrapper, itstool, folks, libnotify, libxml2
 , gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss
-, libsoup, vala, dbus_glib, automake115x, autoconf }:
+, libsoup, vala_0_32, dbus_glib, automake115x, autoconf }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
                   libxml2 libsoup gnome3.gnome_online_accounts nspr nss
                   gdk_pixbuf gnome3.defaultIconTheme librsvg
                   libchamplain clutter_gtk geocode_glib
-                  vala automake115x autoconf db ];
+                  vala_0_32 automake115x autoconf db ];
 
   preFixup = ''
     for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-control-center/default.nix
index 1b83bc061b7..e77e9e19970 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-control-center/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
       networkmanager modemmanager makeWrapper gnome3.gnome-bluetooth grilo ];
 
   preBuild = ''
-    substituteInPlace tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
     substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
 
     # hack to make test-endianess happy
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix
index 8421bb362c3..c94c178558d 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-dictionary/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram "$out/bin/gnome-dictionary" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix
index e3dc558a49a..3ea108808f5 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-keyring/default.nix
@@ -21,9 +21,9 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$out/bin/gnome-keyring" \
-      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${glib.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
     wrapProgram "$out/bin/gnome-keyring-daemon" \
-      --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${glib.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/default.nix
index 703d55e42d0..85c15042614 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/default.nix
@@ -7,7 +7,7 @@
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
+  NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix
index 4c263d9d2d6..088c4127b80 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-online-accounts/src.nix
@@ -1,11 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "3.20";
-  name = "gnome-online-accounts-${major}.2";
+fetchurl: {
+  name = "gnome-online-accounts-3.20.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-online-accounts/${major}/${name}.tar.xz";
-    sha256 = "1pf1rn1i7dqll9ph6scg2g281njx5pq6z0wyj9493m474nfmsmab";
+    url = mirror://gnome/sources/gnome-online-accounts/3.20/gnome-online-accounts-3.20.3.tar.xz;
+    sha256 = "094fc04cf3e0b4ace667fce3b5bdcca5093e0c93f9184439e663c69546c1e046";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix
index 72aa97fa6b6..29ebe8b0ca6 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-screenshot/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram "$out/bin/gnome-screenshot" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-session/default.nix
index 8f876386f32..69b908ec01e 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-session/default.nix
@@ -11,9 +11,10 @@ stdenv.mkDerivation rec {
       gnome3.gnome_settings_daemon xorg.xtrans gnome3.defaultIconTheme
       gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ];
 
+  # FIXME: glib binaries shouldn't be in .dev!
   preFixup = ''
     wrapProgram "$out/bin/gnome-session" \
-      --prefix PATH : "${glib}/bin" \
+      --prefix PATH : "${glib.dev}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix
index 2a93328d8ca..00999353c2f 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-settings-daemon/default.nix
@@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
       polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom libxslt
       libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ];
 
+  # FIXME: glib binaries shouldn't be in .dev!
   preFixup = ''
     wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix PATH : "${glib}/bin" \
+      --prefix PATH : "${glib.dev}/bin" \
       --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix
index 4d377903cc1..ea9378fcd3c 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-software/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gnome-software-3.20.0";
+  name = "gnome-software-3.20.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-software/3.20/gnome-software-3.20.0.tar.xz;
-    sha256 = "0w0bp29fm13a235gq8vylihzjfxx20ri46w4w2syaw0cixxihbix";
+    url = mirror://gnome/sources/gnome-software/3.20/gnome-software-3.20.4.tar.xz;
+    sha256 = "d6a2794348e2c543218e3efb01105a7e6d51e93ad3055a2482e3104ca75345f2";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix
index 271f23e6920..50ee229cfa4 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-system-log/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram "$out/bin/gnome-system-log" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-terminal/default.nix
index c523d732e03..beb019947ce 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-terminal/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, libuuid, vala
+, gnome_doc_utils, intltool, libX11, which, libuuid, vala_0_32
 , desktop_file_utils, itstool, wrapGAppsHook, appdata-tools }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
   buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte appdata-tools
-                  gnome3.dconf itstool gnome3.nautilus vala ];
+                  gnome3.dconf itstool gnome3.nautilus vala_0_32 ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2
                         desktop_file_utils wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix
index 977c5800aeb..a405751a963 100644
--- a/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/gnome-user-share/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
     sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf 
   '';
 
-  configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd"
-                     "--with-modules-path=${apacheHttpd_2_2}/modules"
+  configureFlags = [ "--with-httpd=${apacheHttpd_2_2.out}/bin/httpd"
+                     "--with-modules-path=${apacheHttpd_2_2.dev}/modules"
                      "--disable-bluetooth"
                      "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/core/libgee/default.nix b/pkgs/desktops/gnome-3/3.20/core/libgee/default.nix
index 4ff13295031..0eaa7132e68 100644
--- a/pkgs/desktops/gnome-3/3.20/core/libgee/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/libgee/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, autoconf, vala_0_32, pkgconfig, glib, gobjectIntrospection, gnome3 }:
 let
   ver_maj = "0.16";
   ver_min = "1";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fix_introspection_paths.patch ];
 
-  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+  buildInputs = [ autoconf vala_0_32 pkgconfig glib gobjectIntrospection ];
 
   meta = with stdenv.lib; {
     description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
diff --git a/pkgs/desktops/gnome-3/3.20/core/libgee/libgee-1.nix b/pkgs/desktops/gnome-3/3.20/core/libgee/libgee-1.nix
index 1715e7eeb85..0bfc617fac6 100644
--- a/pkgs/desktops/gnome-3/3.20/core/libgee/libgee-1.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/libgee/libgee-1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection, gnome3 }:
+{ stdenv, fetchurl, autoconf, vala_0_32, pkgconfig, glib, gobjectIntrospection, gnome3 }:
 let
   ver_maj = "0.6";
   ver_min = "8";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fix_introspection_paths.patch ];
 
-  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+  buildInputs = [ autoconf vala_0_32 pkgconfig glib gobjectIntrospection ];
 
   meta = with stdenv.lib; {
     description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
diff --git a/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix b/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix
index b9e1ceeba20..467bb13a74e 100644
--- a/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/nautilus/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "nautilus-3.20.1";
+  name = "nautilus-3.20.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/nautilus/3.20/nautilus-3.20.1.tar.xz;
-    sha256 = "f2a907b994026412a7ed7c8145d4ab4f886ac87e780353b967473305a35e81e8";
+    url = mirror://gnome/sources/nautilus/3.20/nautilus-3.20.2.tar.xz;
+    sha256 = "8d6e679b880dc78c0c2e2dabf6025e6da34ff279dee501f7c75f3649c1a6caae";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/tracker/default.nix b/pkgs/desktops/gnome-3/3.20/core/tracker/default.nix
index ead54be84c5..72ebd543e90 100644
--- a/pkgs/desktops/gnome-3/3.20/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/tracker/default.nix
@@ -1,6 +1,6 @@
 { stdenv, intltool, fetchurl, libxml2, upower
 , pkgconfig, gtk3, glib
-, bash, makeWrapper, itstool, vala, sqlite, libxslt
+, bash, makeWrapper, itstool, vala_0_32, sqlite, libxslt
 , gnome3, librsvg, gdk_pixbuf, file, libnotify
 , evolution_data_server, gst_all_1, poppler
 , icu, taglib, libjpeg, libtiff, giflib, libcue
@@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0 -I${poppler}/include/poppler";
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0 -I${poppler.dev}/include/poppler";
 
   enableParallelBuilding = true;
 
-  buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2
+  buildInputs = [ vala_0_32 pkgconfig gtk3 glib intltool itstool libxml2
                   bzip2 gnome3.totem-pl-parser libxslt
                   gnome3.gsettings_desktop_schemas makeWrapper file
                   gdk_pixbuf gnome3.defaultIconTheme librsvg sqlite
diff --git a/pkgs/desktops/gnome-3/3.20/core/vte/default.nix b/pkgs/desktops/gnome-3/3.20/core/vte/default.nix
index 38850f0fe76..80699e21289 100644
--- a/pkgs/desktops/gnome-3/3.20/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/vte/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig
-, gnome3, ncurses, gobjectIntrospection, vala, libxml2, gnutls
+, gnome3, ncurses, gobjectIntrospection, vala_0_32, libxml2, gnutls
 
 , selectTextPatch ? false
 , fetchFromGitHub, autoconf, automake, libtool, gtk_doc, gperf
@@ -9,7 +9,7 @@ let baseAttrs = rec {
   inherit (import ./src.nix fetchurl) name src;
 
   buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib
-                  gnome3.gtk3 ncurses vala libxml2 ];
+                  gnome3.gtk3 ncurses vala_0_32 libxml2 ];
 
   propagatedBuildInputs = [ gnutls ];
 
@@ -19,10 +19,6 @@ let baseAttrs = rec {
 
   enableParallelBuilding = true;
 
-  postInstall = ''
-    substituteInPlace $out/lib/libvte2_90.la --replace "-lncurses" "-L${ncurses.out}/lib -lncurses"
-  '';
-
   meta = with stdenv.lib; {
     homepage = http://www.gnome.org/;
     description = "A library implementing a terminal emulator widget for GTK+";
diff --git a/pkgs/desktops/gnome-3/3.20/default.nix b/pkgs/desktops/gnome-3/3.20/default.nix
index babbed37cc0..a1a7390274e 100644
--- a/pkgs/desktops/gnome-3/3.20/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/default.nix
@@ -321,6 +321,8 @@ let
 
   gnome-devel-docs = callPackage ./devtools/gnome-devel-docs { };
 
+  nemiver = callPackage ./devtools/nemiver { };
+
 #### Games
 
   aisleriot = callPackage ./games/aisleriot { };
diff --git a/pkgs/desktops/gnome-3/3.20/devtools/nemiver/bool_slot.patch b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/bool_slot.patch
new file mode 100644
index 00000000000..83423122110
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/bool_slot.patch
@@ -0,0 +1,13 @@
+--- a/src/dbgengine/nmv-dbg-common.h	2014-07-09 10:36:05.000000000 +0200
++++ b/src/dbgengine/nmv-dbg-common.h	2016-08-04 22:40:28.447842746 +0200
+@@ -171,7 +171,9 @@
+ 
+     bool has_slot () const
+     {
+-        return m_slot;
++        //return m_slot;
++        // https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822502
++        return static_cast<bool> (m_slot);
+     }
+ 
+     template<class T>
diff --git a/pkgs/desktops/gnome-3/3.20/devtools/nemiver/default.nix b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/default.nix
new file mode 100644
index 00000000000..c4645b67fb9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, libxml2, intltool, itstool, gdb,
+  boost, sqlite, gconf, libgtop, glibmm, gtkmm, vte, gtksourceview, 
+  gtksourceviewmm, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  inherit (import ./src.nix fetchurl) name src;
+
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
+  buildInputs = [ gtk3 libxml2 intltool itstool gdb boost sqlite gconf libgtop 
+    glibmm gtkmm vte gtksourceview gtksourceviewmm ];
+
+  patches = [ ./bool_slot.patch ./safe_ptr.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://wiki.gnome.org/Apps/Nemiver";
+    description = "Easy to use standalone C/C++ debugger";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
+
diff --git a/pkgs/desktops/gnome-3/3.20/devtools/nemiver/safe_ptr.patch b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/safe_ptr.patch
new file mode 100644
index 00000000000..e3413b22497
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/safe_ptr.patch
@@ -0,0 +1,10 @@
+--- a/src/confmgr/nmv-gconf-mgr.cc	2014-07-08 10:24:06.000000000 +0200
++++ b/src/confmgr/nmv-gconf-mgr.cc	2016-08-04 23:50:08.143060464 +0200
+@@ -32,6 +32,7 @@
+ NEMIVER_BEGIN_NAMESPACE (nemiver)
+ 
+ using nemiver::common::GCharSafePtr;
++using nemiver::common::GErrorSafePtr;
+ 
+ class GConfMgr : public IConfMgr {
+     GConfMgr (const GConfMgr &);
diff --git a/pkgs/desktops/gnome-3/3.20/devtools/nemiver/src.nix b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/src.nix
new file mode 100644
index 00000000000..2fcf639fe1b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.20/devtools/nemiver/src.nix
@@ -0,0 +1,11 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "nemiver-0.9.6";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/nemiver/0.9/nemiver-0.9.6.tar.xz;
+    sha256 = "85ab8cf6c4f83262f441cb0952a6147d075c3c53d0687389a3555e946b694ef2";
+  };
+}
+
diff --git a/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix b/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix
index 207917c9772..3bdd6e27645 100644
--- a/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/games/five-or-more/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "five-or-more-3.20.0";
+  name = "five-or-more-3.20.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/five-or-more/3.20/five-or-more-3.20.0.tar.xz;
-    sha256 = "4290a0e4a1817d76db2f042854efbc580d6ac06f2c42176afac2b412dcd456e0";
+    url = mirror://gnome/sources/five-or-more/3.20/five-or-more-3.20.1.tar.xz;
+    sha256 = "9f6dff43b6511b12ef062f4dc4d9ab8de2579676747f0ead4802e0f166a5e85f";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/misc/california/default.nix b/pkgs/desktops/gnome-3/3.20/misc/california/default.nix
index 4bdeeb23a91..ca0450dc7f9 100644
--- a/pkgs/desktops/gnome-3/3.20/misc/california/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/misc/california/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala, makeWrapper
+{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_32, makeWrapper
 , gnome3, glib, libsoup, libgdata, sqlite, itstool, xdg_utils }:
 
 let
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  buildInputs = [ makeWrapper intltool pkgconfig vala glib gtk3 gnome3.libgee
+  buildInputs = [ makeWrapper intltool pkgconfig vala_0_32 glib gtk3 gnome3.libgee
     libsoup libgdata gnome3.gnome_online_accounts gnome3.evolution_data_server
     sqlite itstool xdg_utils gnome3.gsettings_desktop_schemas ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/misc/geary/default.nix b/pkgs/desktops/gnome-3/3.20/misc/geary/default.nix
index 40c8bbf5ef9..a2c644caf3c 100644
--- a/pkgs/desktops/gnome-3/3.20/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/misc/geary/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala
+{ stdenv, fetchurl, intltool, pkgconfig, gtk3, vala_0_32
 , makeWrapper, gdk_pixbuf, cmake, desktop_file_utils
 , libnotify, libcanberra, libsecret, gmime
 , libpthreadstubs, sqlite
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
   buildInputs = [ intltool pkgconfig gtk3 makeWrapper cmake desktop_file_utils gnome_doc_utils
-                  vala webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime sqlite
+                  vala_0_32 webkitgtk libnotify libcanberra gnome3.libgee libsecret gmime sqlite
                   libpthreadstubs gnome3.gsettings_desktop_schemas gnome3.gcr
                   gdk_pixbuf librsvg gnome3.defaultIconTheme ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.20/misc/gitg/default.nix
index d7ac9a24c4c..e98c2ae8e57 100644
--- a/pkgs/desktops/gnome-3/3.20/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/misc/gitg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
+{ stdenv, fetchurl, fetchgit, vala_0_32, intltool, libgit2, pkgconfig, gtk3, glib
 , json_glib, webkitgtk,  makeWrapper, libpeas, bash, gobjectIntrospection
 , gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib, librsvg, libsecret }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   propagatedUserEnvPkgs = [ shared_mime_info
                             gnome3.gnome_themes_standard ];
 
-  buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
+  buildInputs = [ vala_0_32 intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
                   libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview
                   librsvg libsecret
                   gobjectIntrospection makeWrapper gnome3.adwaita-icon-theme ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gitg" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
-      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.20/misc/gpaste/default.nix
index 5b9f1638400..2550c7e42e6 100644
--- a/pkgs/desktops/gnome-3/3.20/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/misc/gpaste/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, autoreconfHook, pkgconfig, vala, glib
+{ stdenv, fetchurl, intltool, autoreconfHook, pkgconfig, vala_0_32, glib
 , pango, gtk3, gnome3, dbus, clutter, appstream-glib, makeWrapper, systemd, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "08h1igdgapz7px12r7mrfcxmz68g9ijg73w69j75spg0yc6f4xax";
   };
 
-  buildInputs = [ intltool autoreconfHook pkgconfig vala glib
+  buildInputs = [ intltool autoreconfHook pkgconfig vala_0_32 glib
                   gtk3 gnome3.gnome_control_center dbus
                   clutter pango appstream-glib makeWrapper systemd gobjectIntrospection ];
 
diff --git a/pkgs/desktops/gnome-3/3.20/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.20/misc/libgit2-glib/default.nix
index d7e89702795..6915ede4ad5 100644
--- a/pkgs/desktops/gnome-3/3.20/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/misc/libgit2-glib/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala, libssh2
+{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala_0_32, libssh2
 , gtk_doc, gobjectIntrospection, libgit2, glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  buildInputs = [ gnome3.gnome_common libtool pkgconfig vala libssh2
+  buildInputs = [ gnome3.gnome_common libtool pkgconfig vala_0_32 libssh2
                   gtk_doc gobjectIntrospection libgit2 glib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.20/misc/pomodoro/default.nix b/pkgs/desktops/gnome-3/3.20/misc/pomodoro/default.nix
index 880e0c52c1a..ff176754e38 100644
--- a/pkgs/desktops/gnome-3/3.20/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/misc/pomodoro/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, which, automake113x, intltool, pkgconfig, libtool, makeWrapper,
-  dbus_glib, libcanberra, gst_all_1, vala, gnome3, gtk3, gst_plugins_base,
+  dbus_glib, libcanberra, gst_all_1, vala_0_32, gnome3, gtk3, gst_plugins_base,
   glib, gobjectIntrospection, telepathy_glib
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     which automake113x intltool glib gobjectIntrospection pkgconfig libtool
-    makeWrapper dbus_glib libcanberra vala gst_all_1.gstreamer
+    makeWrapper dbus_glib libcanberra vala_0_32 gst_all_1.gstreamer
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gnome3.gsettings_desktop_schemas gnome3.gnome_desktop
     gnome3.gnome_common gnome3.gnome_shell gtk3 telepathy_glib
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor.nix b/pkgs/desktops/gnome-3/extensions/system-monitor.nix
index f9b13df7f76..0c3e65633c8 100644
--- a/pkgs/desktops/gnome-3/extensions/system-monitor.nix
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildPhase = ''
-    ${glib}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas
+    ${glib.dev}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas
   '';
 
   installPhase = ''
diff --git a/pkgs/desktops/gnome-3/extensions/volume-mixer.nix b/pkgs/desktops/gnome-3/extensions/volume-mixer.nix
index 845d21f5219..1487efe0a23 100644
--- a/pkgs/desktops/gnome-3/extensions/volume-mixer.nix
+++ b/pkgs/desktops/gnome-3/extensions/volume-mixer.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildPhase = ''
-    ${glib}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas
+    ${glib.dev}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas
   '';
 
   installPhase = ''
diff --git a/pkgs/desktops/gnustep/back/default.nix b/pkgs/desktops/gnustep/back/default.nix
new file mode 100644
index 00000000000..8e11a286284
--- /dev/null
+++ b/pkgs/desktops/gnustep/back/default.nix
@@ -0,0 +1,22 @@
+{ gsmakeDerivation
+, cairo
+, fetchurl
+, base, gui
+, x11
+, freetype
+, pkgconfig
+}:
+let
+  version = "0.25.0";
+in
+gsmakeDerivation {
+  name = "gnustep-back-${version}";
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${version}.tar.gz";
+    sha256 = "14gs1b32ahnihd7mwpjrws2b8hl11rl1wl24a7651d3z2l7f6xj2";
+  };
+  buildInputs = [ cairo base gui freetype pkgconfig x11 ];
+  meta = {
+    description = "A generic backend for GNUstep";
+  };
+}
diff --git a/pkgs/desktops/gnustep/back/fixup-tools.patch b/pkgs/desktops/gnustep/back/fixup-tools.patch
new file mode 100644
index 00000000000..a47de5478e3
--- /dev/null
+++ b/pkgs/desktops/gnustep/back/fixup-tools.patch
@@ -0,0 +1,14 @@
+diff -c gnustep-back-0.24.0/Tools/GNUmakefile.preamble gnustep-back-0.24.0.patched/Tools/GNUmakefile.preamble
+--- gnustep-back-0.24.0/Tools/GNUmakefile.preamble	2013-07-04 22:44:28.000000000 +0600
++++ gnustep-back-0.24.0.patched/Tools/GNUmakefile.preamble	2014-12-01 16:40:37.000000000 +0600
+@@ -52,6 +52,9 @@
+ # Additional libraries when linking applications
+ #ADDITIONAL_GUI_LIBS +=
+ 
++# Additional libraries when linking tools
++gpbs_TOOL_LIBS += -lgnustep-gui -lgnustep-base $(SYSTEM_LIBS)
++
+ #
+ # Flags dealing with installing and uninstalling
+ #
+
diff --git a/pkgs/desktops/gnustep/base/default.nix b/pkgs/desktops/gnustep/base/default.nix
new file mode 100644
index 00000000000..4d9f763acc4
--- /dev/null
+++ b/pkgs/desktops/gnustep/base/default.nix
@@ -0,0 +1,38 @@
+{ aspell, audiofile
+, gsmakeDerivation
+, cups
+, fetchurl
+, gmp, gnutls
+, libffi
+, libjpeg, libtiff, libpng, giflib, libungif
+, libxml2, libxslt, libiconv
+, libobjc, libgcrypt
+, icu
+, pkgconfig, portaudio
+}:
+let
+  version = "1.24.9";
+in
+gsmakeDerivation {
+  name = "gnustep-base-${version}";
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-${version}.tar.gz";
+    sha256 = "1vvjlbqmlwr82b4pf8c62rxjgz475bmg0x2yd0bbkia6yvwhk585";
+  };
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [
+    aspell audiofile
+    cups
+    gmp gnutls
+    libffi
+    libjpeg libtiff libpng giflib libungif
+    libxml2 libxslt libiconv
+    libobjc libgcrypt
+    icu
+    portaudio
+  ];
+  patches = [ ./fixup-paths.patch ];
+  meta = {
+    description = "An implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa";
+  };
+}
diff --git a/pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch b/pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch
new file mode 100644
index 00000000000..482c72a5190
--- /dev/null
+++ b/pkgs/desktops/gnustep/base/fixup-base-makefile-installdir.patch
@@ -0,0 +1,29 @@
+--- gnustep-base-1.24.7/Makefile.postamble	2011-07-15 19:53:45.000000000 +0600
++++ gnustep-base-1.24.7.patched/Makefile.postamble	2014-11-29 22:25:07.000000000 +0600
+@@ -38,13 +38,13 @@
+ # Things to do after compiling
+ # after-all::
+ 
+-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
+-	$(ECHO_CREATING)$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
++$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
++	$(ECHO_CREATING)$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
+ 
+ # Things to do before installing
+-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 	$(ECHO_NOTHING)$(INSTALL_DATA) base.make \
+-	    $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
++	    $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+ 
+ # Things to do after installing
+ # after-install::
+@@ -54,7 +54,7 @@
+ 
+ # Things to do after uninstalling
+ after-uninstall::
+-	$(ECHO_NOTHING)rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
++	$(ECHO_NOTHING)rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+ 
+ # Things to do before cleaning
+ # before-clean::
diff --git a/pkgs/desktops/gnustep/base/fixup-paths.patch b/pkgs/desktops/gnustep/base/fixup-paths.patch
new file mode 100644
index 00000000000..fa28412dbf6
--- /dev/null
+++ b/pkgs/desktops/gnustep/base/fixup-paths.patch
@@ -0,0 +1,373 @@
+diff -r -u gnustep-base-1.24.7/Makefile.postamble gnustep-base-1.24.7.patched/Makefile.postamble
+--- gnustep-base-1.24.7/Makefile.postamble	2011-07-15 19:53:45.000000000 +0600
++++ gnustep-base-1.24.7.patched/Makefile.postamble	2014-11-29 22:25:07.000000000 +0600
+@@ -38,13 +38,13 @@
+ # Things to do after compiling
+ # after-all::
+ 
+-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
+-	$(ECHO_CREATING)$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
++$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
++	$(ECHO_CREATING)$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
+ 
+ # Things to do before installing
+-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 	$(ECHO_NOTHING)$(INSTALL_DATA) base.make \
+-	    $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
++	    $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+ 
+ # Things to do after installing
+ # after-install::
+@@ -54,7 +54,7 @@
+ 
+ # Things to do after uninstalling
+ after-uninstall::
+-	$(ECHO_NOTHING)rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
++	$(ECHO_NOTHING)rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+ 
+ # Things to do before cleaning
+ # before-clean::
+diff -r -u gnustep-base-1.24.7/Source/NSPathUtilities.m gnustep-base-1.24.7.patched/Source/NSPathUtilities.m
+--- gnustep-base-1.24.7/Source/NSPathUtilities.m	2014-01-14 13:21:10.000000000 +0600
++++ gnustep-base-1.24.7.patched/Source/NSPathUtilities.m	2015-01-25 13:59:37.000000000 +0600
+@@ -153,16 +153,27 @@
+ static NSString *gnustepLocalUsersDir = nil;
+ 
+ static NSString *gnustepSystemApps = nil;
++static NSArray *gnustepSystemAppsNix = nil;
+ static NSString *gnustepSystemAdminApps = nil;
++static NSArray *gnustepSystemAdminAppsNix = nil;
+ static NSString *gnustepSystemWebApps = nil;
++static NSArray *gnustepSystemWebAppsNix = nil;
+ static NSString *gnustepSystemTools = nil;
++static NSArray *gnustepSystemToolsNix = nil;
+ static NSString *gnustepSystemAdminTools = nil;
++static NSArray *gnustepSystemAdminToolsNix = nil;
+ static NSString *gnustepSystemLibrary = nil;
++static NSArray *gnustepSystemLibraryNix = nil;
+ static NSString *gnustepSystemLibraries = nil;
++static NSArray *gnustepSystemLibrariesNix = nil;
+ static NSString *gnustepSystemHeaders = nil;
++static NSArray *gnustepSystemHeadersNix = nil;
+ static NSString *gnustepSystemDocumentation = nil;
++static NSArray *gnustepSystemDocumentationNix = nil;
+ static NSString *gnustepSystemDocumentationInfo = nil;
++static NSArray *gnustepSystemDocumentationInfoNix = nil;
+ static NSString *gnustepSystemDocumentationMan = nil;
++static NSArray *gnustepSystemDocumentationManNix = nil;
+ 
+ static NSString *gnustepNetworkApps = nil;
+ static NSString *gnustepNetworkAdminApps = nil;
+@@ -258,6 +269,18 @@
+     }\
+ })
+ 
++/* Like ASSIGN_PATH, but permits multiple components in a path
++ */
++#define ASSIGN_PATH_NIX(var, dictionary, key) ({\
++  id val = getPathConfigNix(dictionary, key);\
++  if (val != nil)\
++    {\
++      RELEASE(var);\
++      var = RETAIN(val);\
++      [dictionary removeObjectForKey: key];\
++    }\
++})
++
+ /* Like ASSIGN_PATH(), but permits the result to be a relative path as that
+  * is what we normally use (the path is within the user's home directory).
+  */
+@@ -368,7 +391,7 @@
+ /* Get a full path string */
+ static inline NSString *
+ getPath(NSString *path)
+-{
++{  
+   if ([path hasPrefix: @"./"] == YES)
+     {
+       path = [gnustepConfigPath stringByAppendingPathComponent:
+@@ -383,6 +406,33 @@
+   return path;
+ }
+ 
++static inline NSArray *
++getPathConfigNix(NSDictionary *dict, NSString *key)
++{
++  NSArray *res = nil;
++  NSMutableArray *paths = nil;
++  NSString *path;
++#if defined(__MINGW_)
++  NSString *sep = @";";
++#else
++  NSString *sep = @":";
++#endif
++
++  path = [dict objectForKey: key];
++  if (path != nil)
++    {
++      if ([path rangeOfString:sep].location != NSNotFound)
++	{
++	  res = [path componentsSeparatedByString:sep];
++	}
++      else
++	{
++	  res = [[NSArray alloc] initWithObjects:path, nil];
++	}
++    }
++  return res;
++}
++
+ /* Get a full path string from a dictionary */
+ static inline NSString *
+ getPathConfig(NSDictionary *dict, NSString *key)
+@@ -468,6 +518,29 @@
+   ASSIGN_PATH(gnustepSystemDocumentationInfo, c,
+     @"GNUSTEP_SYSTEM_DOC_INFO");
+ 
++  ASSIGN_PATH_NIX(gnustepSystemAppsNix, c,
++    @"NIX_GNUSTEP_SYSTEM_APPS");
++  ASSIGN_PATH_NIX(gnustepSystemAdminAppsNix, c,
++    @"NIX_GNUSTEP_SYSTEM_ADMIN_APPS");
++  ASSIGN_PATH_NIX(gnustepSystemWebAppsNix, c,
++    @"NIX_GNUSTEP_SYSTEM_WEB_APPS");
++  ASSIGN_PATH_NIX(gnustepSystemToolsNix, c,
++    @"NIX_GNUSTEP_SYSTEM_TOOLS");
++  ASSIGN_PATH_NIX(gnustepSystemAdminToolsNix, c,
++    @"NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS");
++  ASSIGN_PATH_NIX(gnustepSystemLibraryNix, c,
++    @"NIX_GNUSTEP_SYSTEM_LIBRARY");
++  ASSIGN_PATH_NIX(gnustepSystemLibrariesNix, c,
++    @"NIX_GNUSTEP_SYSTEM_LIBRARIES");
++  ASSIGN_PATH_NIX(gnustepSystemHeadersNix, c,
++    @"NIX_GNUSTEP_SYSTEM_HEADERS");
++  ASSIGN_PATH_NIX(gnustepSystemDocumentationNix, c,
++    @"NIX_GNUSTEP_SYSTEM_DOC");
++  ASSIGN_PATH_NIX(gnustepSystemDocumentationManNix, c,
++    @"NIX_GNUSTEP_SYSTEM_DOC_MAN");
++  ASSIGN_PATH_NIX(gnustepSystemDocumentationInfoNix, c,
++    @"NIX_GNUSTEP_SYSTEM_DOC_INFO");
++
+   ASSIGN_PATH(gnustepNetworkApps, c,
+     @"GNUSTEP_NETWORK_APPS");
+   ASSIGN_PATH(gnustepNetworkAdminApps, c,
+@@ -1235,6 +1308,18 @@
+   DESTROY(gnustepSystemDocumentationMan);
+   DESTROY(gnustepSystemDocumentationInfo);
+ 
++  DESTROY(gnustepSystemAppsNix);
++  DESTROY(gnustepSystemAdminAppsNix);
++  DESTROY(gnustepSystemWebAppsNix);
++  DESTROY(gnustepSystemToolsNix);
++  DESTROY(gnustepSystemAdminToolsNix);
++  DESTROY(gnustepSystemLibraryNix);
++  DESTROY(gnustepSystemLibrariesNix);
++  DESTROY(gnustepSystemHeadersNix);
++  DESTROY(gnustepSystemDocumentationNix);
++  DESTROY(gnustepSystemDocumentationManNix);
++  DESTROY(gnustepSystemDocumentationInfoNix);
++
+   DESTROY(gnustepNetworkApps);
+   DESTROY(gnustepNetworkAdminApps);
+   DESTROY(gnustepNetworkWebApps);
+@@ -2183,6 +2268,27 @@
+   if ([add_dir length] > 0 && [paths containsObject: add_dir] == NO) \
+     [paths addObject: add_dir]; \
+ }
++#define ADD_PATH_NIX(mask, base_dirs, add_dir) \
++if ((domainMask & mask) && (base_dirs != nil)) \
++{ \
++  NSEnumerator *e = [base_dirs objectEnumerator]; \
++  NSString *dir = nil; \
++  while (dir = [e nextObject]) { \
++    path = [dir stringByAppendingPathComponent: add_dir]; \
++    if ([path length] > 0 && [paths containsObject: path] == NO) \
++      [paths addObject: path]; \
++  } \
++}
++#define ADD_PLATFORM_PATH_NIX(mask, add_dirs) \
++if ((domainMask & mask) && (add_dirs != nil)) \
++{ \
++  NSEnumerator *e = [add_dirs objectEnumerator]; \
++  NSString *dir = nil; \
++  while (dir = [e nextObject]) { \
++    if ([dir length] > 0 && [paths containsObject: dir] == NO) \
++      [paths addObject:dir]; \
++  } \
++}
+ 
+   switch (directoryKey)
+     {
+@@ -2191,11 +2297,13 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
+ 
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserAdminApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalAdminApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkAdminApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemAdminApps);
+ 	}
+ 	break;
+@@ -2205,6 +2313,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
+ 	}
+ 	break;
+@@ -2214,6 +2323,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
+ 
+ 	  /* I imagine if ever wanted a separate Demo directory, the
+@@ -2231,6 +2341,7 @@
+ 
+       case NSCoreServicesDirectory:
+ 	{
++	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"CoreServices");
+ 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"CoreServices");
+ 	}
+ 	break;
+@@ -2248,6 +2359,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
+ 	}
+ 	break;
+@@ -2257,6 +2369,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserAdminApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalAdminApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkAdminApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemAdminApps);
+ 	}
+ 	break;
+@@ -2266,6 +2379,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserLibrary);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalLibrary);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkLibrary);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemLibrary);
+ 	}
+ 	break;
+@@ -2281,6 +2395,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserLibrary);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalLibrary);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkLibrary);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemLibrary);
+ 	}
+ 	break;
+@@ -2418,6 +2533,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserDocumentation);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalDocumentation);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkDocumentation);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemDocumentationNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemDocumentation);
+ 	}
+ 	break;
+@@ -2449,6 +2565,7 @@
+ 	  ADD_PATH(NSUserDomainMask, gnustepUserLibrary, @"Caches");
+ 	  ADD_PATH(NSLocalDomainMask, gnustepLocalLibrary, @"Caches");
+ 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary, @"Caches");
++	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"Caches");
+ 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"Caches");
+ 	}
+ 	break;
+@@ -2460,6 +2577,8 @@
+ 	    @"ApplicationSupport");
+ 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary,
+ 	    @"ApplicationSupport");
++	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix,
++            @"ApplicationSupport");
+ 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary,
+ 	    @"ApplicationSupport");
+ 	}
+@@ -2471,6 +2590,7 @@
+ 	  ADD_PATH(NSUserDomainMask, gnustepUserLibrary, @"Frameworks");
+ 	  ADD_PATH(NSLocalDomainMask, gnustepLocalLibrary, @"Frameworks");
+ 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary, @"Frameworks");
++	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"Frameworks");
+ 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"Frameworks");
+ 	}
+ 	break;
+@@ -2480,6 +2600,7 @@
+ 	  ADD_PATH(NSUserDomainMask, gnustepUserLibrary, @"Fonts");
+ 	  ADD_PATH(NSLocalDomainMask, gnustepLocalLibrary, @"Fonts");
+ 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary, @"Fonts");
++	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"Fonts");
+ 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"Fonts");
+ 	}
+ 	break;
+@@ -2518,6 +2639,12 @@
+ 	  if (part)
+ 	    ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibraries, part);
+ 
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemLibrariesNix);
++	  if (full)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibrariesNix, full);
++	  if (part)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibrariesNix, part);	  
++
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemLibraries);
+ 	  if (full)
+ 	    ADD_PATH(NSSystemDomainMask, gnustepSystemLibraries, full);
+@@ -2560,6 +2687,12 @@
+ 	  if (part)
+ 	    ADD_PATH(NSNetworkDomainMask, gnustepNetworkTools, part);
+ 
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemToolsNix);
++	  if (full)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemToolsNix, full);
++	  if (part)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemToolsNix, part);
++
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemTools);
+ 	  if (full)
+ 	    ADD_PATH(NSSystemDomainMask, gnustepSystemTools, full);
+@@ -2602,6 +2735,18 @@
+ 	  if (part)
+ 	    ADD_PATH(NSNetworkDomainMask, gnustepNetworkAdminTools, part);
+ 
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix);
++	  if (full)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, full);
++	  if (part)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, part);
++
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix);
++	  if (full)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, full);
++	  if (part)
++	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, part);
++	  
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemAdminTools);
+ 	  if (full)
+ 	    ADD_PATH(NSSystemDomainMask, gnustepSystemAdminTools, full);
+@@ -2615,6 +2760,7 @@
+ 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserWebApps);
+ 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalWebApps);
+ 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkWebApps);
++	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemWebAppsNix);
+ 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemWebApps);
+ 	}
+ 	break;
+@@ -2622,6 +2768,8 @@
+ 
+ #undef ADD_PATH
+ #undef ADD_PLATFORM_PATH
++#undef ADD_PATH_NIX
++#undef ADD_PLATFORM_PATH_NIX
+ 
+   count = [paths count];
+   for (i = 0; i < count; i++)
diff --git a/pkgs/desktops/gnustep/default.nix b/pkgs/desktops/gnustep/default.nix
new file mode 100644
index 00000000000..ac324bc89a8
--- /dev/null
+++ b/pkgs/desktops/gnustep/default.nix
@@ -0,0 +1,21 @@
+{ pkgs, newScope }:
+
+let
+  callPackage = newScope self;
+
+  self = rec {
+    stdenv = pkgs.clangStdenv;
+
+    gsmakeDerivation = callPackage ./make/gsmakeDerivation.nix {};
+    gorm = callPackage ./gorm {};
+    projectcenter = callPackage ./projectcenter {};
+    system_preferences = callPackage ./systempreferences {};
+    libobjc = callPackage ./libobjc2 {};
+    make = callPackage ./make {};
+    back = callPackage ./back {};
+    base = callPackage ./base { giflib = pkgs.giflib_4_1; };
+    gui = callPackage ./gui {};
+    gworkspace = callPackage ./gworkspace {};
+  };
+
+in self
diff --git a/pkgs/desktops/gnustep/gorm/default.nix b/pkgs/desktops/gnustep/gorm/default.nix
new file mode 100644
index 00000000000..5075ec5500c
--- /dev/null
+++ b/pkgs/desktops/gnustep/gorm/default.nix
@@ -0,0 +1,17 @@
+{ fetchurl, base, back, gsmakeDerivation, gui }:
+let
+  version = "1.2.22";
+in
+gsmakeDerivation {
+  name = "gorm-${version}";
+  
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz";
+    sha256 = "1mq5n65xd9bc4kppx19iijsgpz4crvhg7bfwbi9k78j159vclnmi";
+  };
+  buildInputs = [ base back gui ];
+
+  meta = {
+    description = "Graphical Object Relationship Modeller is an easy-to-use interface designer for GNUstep";
+  };
+}
diff --git a/pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch b/pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch
new file mode 100644
index 00000000000..c4b3d1e1d81
--- /dev/null
+++ b/pkgs/desktops/gnustep/gorm/fix-gs-makefiles.patch
@@ -0,0 +1,27 @@
+diff -ru gorm-1.2.20/GNUmakefile gorm-1.2.20.patched/GNUmakefile
+--- gorm-1.2.20/GNUmakefile	2010-05-30 12:55:26.000000000 +0600
++++ gorm-1.2.20.patched/GNUmakefile	2014-12-10 22:21:18.000000000 +0600
+@@ -24,6 +24,23 @@
+ #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ #
+ 
++ifeq ($(GNUSTEP_MAKEFILES),)
++ GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null)
++  ifeq ($(GNUSTEP_MAKEFILES),)
++    $(warning )
++    $(warning Unable to obtain GNUSTEP_MAKEFILES setting from gnustep-config!)
++    $(warning Perhaps gnustep-make is not properly installed,)
++    $(warning so gnustep-config is not in your PATH.)
++    $(warning )
++    $(warning Your PATH is currently $(PATH))
++    $(warning )
++  endif
++endif
++
++ifeq ($(GNUSTEP_MAKEFILES),)
++  $(error You need to set GNUSTEP_MAKEFILES before compiling!)
++endif
++
+ PACKAGE_NAME = gorm
+ export PACKAGE_NAME
+ include $(GNUSTEP_MAKEFILES)/common.make
diff --git a/pkgs/desktops/gnustep/gui/default.nix b/pkgs/desktops/gnustep/gui/default.nix
new file mode 100644
index 00000000000..a28fef8f3d9
--- /dev/null
+++ b/pkgs/desktops/gnustep/gui/default.nix
@@ -0,0 +1,16 @@
+{ gsmakeDerivation, fetchurl, base }:
+let
+  version = "0.25.0";
+in
+gsmakeDerivation {
+  name = "gnustep-gui-${version}";
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-${version}.tar.gz";
+    sha256 = "10jf3xir59qzbhhl0bvs9wdw40fsmvv6mdv5akdkia1rnck60xf5";
+  };
+  buildInputs = [ base ];
+  patches = [ ./fixup-all.patch ];
+  meta = {
+    description = "A GUI class library of GNUstep";
+  };
+}
diff --git a/pkgs/desktops/gnustep/gui/fixup-all.patch b/pkgs/desktops/gnustep/gui/fixup-all.patch
new file mode 100644
index 00000000000..4b412db409a
--- /dev/null
+++ b/pkgs/desktops/gnustep/gui/fixup-all.patch
@@ -0,0 +1,56 @@
+diff -r -u gnustep-gui-0.24.0/GNUmakefile.postamble gnustep-gui-0.24.0.patched/GNUmakefile.postamble
+--- gnustep-gui-0.24.0/GNUmakefile.postamble	2010-05-17 22:38:59.000000000 +0600
++++ gnustep-gui-0.24.0.patched/GNUmakefile.postamble	2014-12-01 13:44:05.000000000 +0600
+@@ -40,20 +40,20 @@
+ # The following rule is important mainly for packaging, because in that case 
+ # you install into a fake system tree, and the directory is not there.
+ #
+-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
+-	$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
++	$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 
+ # Things to do before installing
+-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 	$(INSTALL_DATA) gui.make \
+-	   $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
++	   $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
+ 
+ # Things to do after installing
+ # after-install::
+ 
+ # Things to do before uninstalling
+  before-uninstall::
+-	rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
++	rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
+ 
+ # Things to do after uninstalling
+ # after-uninstall::
+diff -r -u gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble
+--- gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble	2008-06-10 10:01:49.000000000 +0600
++++ gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble	2014-12-01 13:02:11.000000000 +0600
+@@ -49,7 +49,7 @@
+ ADDITIONAL_INCLUDE_DIRS +=-I../../Headers/Additions -I../../Headers
+ 
+ # Additional LDFLAGS to pass to the linker
+-#ADDITIONAL_LDFLAGS += 
++ADDITIONAL_LDFLAGS += -lgnustep-gui
+ 
+ # Additional library directories the linker should search
+ ADDITIONAL_LIB_DIRS += -L../../Source/$(GNUSTEP_OBJ_DIR)
+diff -r -u gnustep-gui-0.24.0/Tools/GNUmakefile.preamble gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble
+--- gnustep-gui-0.24.0/Tools/GNUmakefile.preamble	2006-02-22 12:43:48.000000000 +0600
++++ gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble	2014-12-01 12:52:41.000000000 +0600
+@@ -32,9 +32,11 @@
+ ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) -L../Model/$(GNUSTEP_OBJ_DIR)
+ 
+ # Additional libraries when linking tools
++make_services_TOOL_LIBS += -lgnustep-base
+ gpbs_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ set_show_service_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ gopen_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
++gclose_TOOL_LIBS += -lgnustep-base
+ gcloseall_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ GSspell_TOOL_LIBS += $(ADDITIONAL_DEPENDS)
+ 
diff --git a/pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch b/pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch
new file mode 100644
index 00000000000..30c6f56c032
--- /dev/null
+++ b/pkgs/desktops/gnustep/gui/fixup-gui-makefile-installdir.patch
@@ -0,0 +1,28 @@
+--- gnustep-gui-0.24.0/GNUmakefile.postamble	2010-05-17 22:38:59.000000000 +0600
++++ gnustep-gui-0.24.0.patched/GNUmakefile.postamble	2014-12-01 13:44:05.000000000 +0600
+@@ -40,20 +40,20 @@
+ # The following rule is important mainly for packaging, because in that case 
+ # you install into a fake system tree, and the directory is not there.
+ #
+-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
+-	$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
++	$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 
+ # Things to do before installing
+-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 	$(INSTALL_DATA) gui.make \
+-	   $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
++	   $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
+ 
+ # Things to do after installing
+ # after-install::
+ 
+ # Things to do before uninstalling
+  before-uninstall::
+-	rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
++	rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
+ 
+ # Things to do after uninstalling
+ # after-uninstall::
diff --git a/pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch b/pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch
new file mode 100644
index 00000000000..23ec2db0fbd
--- /dev/null
+++ b/pkgs/desktops/gnustep/gui/fixup-gui-textconverters-preamble.patch
@@ -0,0 +1,11 @@
+--- gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble	2008-06-10 10:01:49.000000000 +0600
++++ gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble	2014-12-01 13:02:11.000000000 +0600
+@@ -49,7 +49,7 @@
+ ADDITIONAL_INCLUDE_DIRS +=-I../../Headers/Additions -I../../Headers
+ 
+ # Additional LDFLAGS to pass to the linker
+-#ADDITIONAL_LDFLAGS += 
++ADDITIONAL_LDFLAGS += -lgnustep-gui
+ 
+ # Additional library directories the linker should search
+ ADDITIONAL_LIB_DIRS += -L../../Source/$(GNUSTEP_OBJ_DIR)
diff --git a/pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch b/pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch
new file mode 100644
index 00000000000..e57ddec75ad
--- /dev/null
+++ b/pkgs/desktops/gnustep/gui/fixup-gui-tools-preamble.patch
@@ -0,0 +1,14 @@
+--- gnustep-gui-0.24.0/Tools/GNUmakefile.preamble	2006-02-22 12:43:48.000000000 +0600
++++ gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble	2014-12-01 12:52:41.000000000 +0600
+@@ -32,9 +32,11 @@
+ ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) -L../Model/$(GNUSTEP_OBJ_DIR)
+ 
+ # Additional libraries when linking tools
++make_services_TOOL_LIBS += -lgnustep-base
+ gpbs_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ set_show_service_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ gopen_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
++gclose_TOOL_LIBS += -lgnustep-base
+ gcloseall_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ GSspell_TOOL_LIBS += $(ADDITIONAL_DEPENDS)
+ 
diff --git a/pkgs/desktops/gnustep/gworkspace/default.nix b/pkgs/desktops/gnustep/gworkspace/default.nix
new file mode 100644
index 00000000000..67fffd10a0f
--- /dev/null
+++ b/pkgs/desktops/gnustep/gworkspace/default.nix
@@ -0,0 +1,23 @@
+{ back, base, gui, gsmakeDerivation
+, fetchurl
+, sqlite
+, system_preferences
+}:
+let
+  version = "0.9.3";
+in
+gsmakeDerivation {
+  name = "gworkspace-${version}";
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/usr-apps/gworkspace-${version}.tar.gz";
+    sha256 = "0jchqwb0dj522j98jqlqlib44jppax39zx2zqyzdwiz4qjl470r3";
+  };
+  # additional dependencies:
+  # - PDFKit framework from http://gap.nongnu.org/
+  # - TODO: to --enable-gwmetadata, need libDBKit as well as sqlite!
+  buildInputs = [ back base gui system_preferences ];
+  configureFlags = [ "--with-inotify" ];
+  meta = {
+    description = "A workspace manager for GNUstep";
+  };
+}
diff --git a/pkgs/desktops/gnustep/libobjc2/default.nix b/pkgs/desktops/gnustep/libobjc2/default.nix
new file mode 100644
index 00000000000..a3e718187c7
--- /dev/null
+++ b/pkgs/desktops/gnustep/libobjc2/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchFromGitHub, cmake }:
+
+let
+  version = "1.8.1";
+in
+
+stdenv.mkDerivation rec {
+  name = "libobjc2-${version}";
+
+  src = fetchFromGitHub {
+    owner = "gnustep";
+    repo = "libobjc2";
+    rev = "v${version}";
+    sha256 = "12v9pjg97h56mb114cqd22q1pdwhmxrgdw5hal74ddlrhiq1nzvi";
+  };
+
+  buildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
+  meta = with lib; {
+    description = "Objective-C runtime for use with GNUstep";
+    homepage = http://gnustep.org/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ashalkhakov matthewbauer ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/desktops/gnustep/make/GNUstep.conf b/pkgs/desktops/gnustep/make/GNUstep.conf
new file mode 100644
index 00000000000..f4e0e3b8162
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/GNUstep.conf
@@ -0,0 +1,126 @@
+# These GNUSTEP_*_ROOT variables are obsolete, and will be removed.
+#GNUSTEP_SYSTEM_ROOT=/nix/store/ky64z3j9l18wjcssb9pxnc792ihh3bvw-gnustep-make-2.6.6/System
+#GNUSTEP_LOCAL_ROOT=/nix/store/ky64z3j9l18wjcssb9pxnc792ihh3bvw-gnustep-make-2.6.6/Local
+#GNUSTEP_NETWORK_ROOT=/nix/store/ky64z3j9l18wjcssb9pxnc792ihh3bvw-gnustep-make-2.6.6/Network
+
+# The name of the user config file.  This file can override
+# some settings in this file.  Usually used by users that want
+# to install things into their GNUstep user domain and/or have
+# many such domains.
+GNUSTEP_USER_CONFIG_FILE=.GNUstep.conf
+
+# The name of the user directory, if any.  This is obsolete,
+# and will be removed.
+GNUSTEP_USER_DIR=GNUstep
+
+# The name of the user directory where defaults (eg, preferences) are
+# stored.  If it does not start with a '/', it will be considered
+# relative to the user home directory.
+GNUSTEP_USER_DEFAULTS_DIR=GNUstep/Defaults
+
+
+# This is where the gnustep-make Makefiles are installed.
+# Traditionally, this is /usr/GNUstep/System/Library/Makefiles
+GNUSTEP_MAKEFILES=@gnustepMakefiles@
+
+# This is where the user home directories are.  Only used to provide
+# NSUserDirectory in gnustep-base.  Never used anywhere else.
+GNUSTEP_SYSTEM_USERS_DIR=/home
+GNUSTEP_NETWORK_USERS_DIR=/home
+GNUSTEP_LOCAL_USERS_DIR=/home
+
+
+# This is where System GUI Applications get installed.
+# Traditionally it is /usr/GNUstep/System/Applications.
+GNUSTEP_SYSTEM_APPS=@systemApps@
+
+# This is where System GUI Applications that only the
+# Administrator can use get installed.
+# Traditionally it is /usr/GNUstep/System/Applications/Admin.
+GNUSTEP_SYSTEM_ADMIN_APPS=@systemAdminApps@
+
+# This is where System Web Applications (GSWeb, SOPE) get
+# installed.
+# Traditionally it is /usr/GNUstep/System/Library/WebApplications.
+GNUSTEP_SYSTEM_WEB_APPS=@systemWebApps@
+
+# This is where System Command-Line Tools get installed.
+# Traditionally it is /usr/GNUstep/System/Tools.
+GNUSTEP_SYSTEM_TOOLS=@systemTools@
+
+# This is where System Command-Line Tools that only the
+# Administrator can use get installed.  Important: this
+# should not be in the PATH of normal users.
+# Traditionally it is /usr/GNUstep/System/Tools/Admin.
+GNUSTEP_SYSTEM_ADMIN_TOOLS=@systemAdminTools@
+
+# This is where System resources get installed.  This directory will
+# contain a lot of executable code since *step traditionally likes to
+# bundle executables and resources together.
+# Traditionally it is /usr/GNUstep/System/Library.
+GNUSTEP_SYSTEM_LIBRARY=@systemLibrary@
+
+# This is where System headers get installed.  They are the
+# library .h headers.
+# Traditionally it is /usr/GNUstep/System/Library/Headers.
+GNUSTEP_SYSTEM_HEADERS=@systemHeaders@
+
+# This is where System libraries get installed.  By libraries we mean
+# the shared/static object files that you can link into programs.
+# Traditionally it is /usr/GNUstep/System/Library/Libraries.
+GNUSTEP_SYSTEM_LIBRARIES=@systemLibraries@
+
+# This is where System documentation get installed.  This is known
+# not to contain any executable, so we keep it separate.
+# Traditionally it is /usr/GNUstep/System/Library/Documentation.
+GNUSTEP_SYSTEM_DOC=@systemDoc@
+
+# This is where System man pages get installed.
+# Traditionally it is /usr/GNUstep/System/Library/Documentation/man.
+GNUSTEP_SYSTEM_DOC_MAN=@systemDocMan@
+
+# This is where System info pages get installed.
+# Traditionally it is /usr/GNUstep/System/Library/Documentation/info.
+GNUSTEP_SYSTEM_DOC_INFO=@systemDocInfo@
+
+
+GNUSTEP_NETWORK_APPS=@systemApps@
+GNUSTEP_NETWORK_ADMIN_APPS=@systemAdminApps@
+GNUSTEP_NETWORK_WEB_APPS=@systemWebApps@
+GNUSTEP_NETWORK_TOOLS=@systemTools@
+GNUSTEP_NETWORK_ADMIN_TOOLS=@systemAdminTools@
+GNUSTEP_NETWORK_LIBRARY=@systemLibrary@
+GNUSTEP_NETWORK_HEADERS=@systemHeaders@
+GNUSTEP_NETWORK_LIBRARIES=@systemLibraries@
+GNUSTEP_NETWORK_DOC=@systemDoc@
+GNUSTEP_NETWORK_DOC_MAN=@systemDocMan@
+GNUSTEP_NETWORK_DOC_INFO=@systemDocInfo@
+
+GNUSTEP_LOCAL_APPS=@systemApps@
+GNUSTEP_LOCAL_ADMIN_APPS=@systemAdminApps@
+GNUSTEP_LOCAL_WEB_APPS=@systemWebApps@
+GNUSTEP_LOCAL_TOOLS=@systemTools@
+GNUSTEP_LOCAL_ADMIN_TOOLS=@systemAdminTools@
+GNUSTEP_LOCAL_LIBRARY=@systemLibrary@
+GNUSTEP_LOCAL_HEADERS=@systemHeaders@
+GNUSTEP_LOCAL_LIBRARIES=@systemLibraries@
+GNUSTEP_LOCAL_DOC=@systemDoc@
+GNUSTEP_LOCAL_DOC_MAN=@systemDocMan@
+GNUSTEP_LOCAL_DOC_INFO=@systemDocInfo@
+
+# Important: settings in the User should normally be relative paths,
+# and will be interpreted as relative to the user's directory.  This
+# allows each user to have their own domain to install things.  You
+# can set them to be absolute, mostly if you want to disable them
+# by setting them equal to the ones in the Network domain.
+GNUSTEP_USER_DIR_APPS=GNUstep/Applications
+GNUSTEP_USER_DIR_ADMIN_APPS=GNUstep/Applications/Admin
+GNUSTEP_USER_DIR_WEB_APPS=GNUstep/WebApplications
+GNUSTEP_USER_DIR_TOOLS=GNUstep/Tools
+GNUSTEP_USER_DIR_ADMIN_TOOLS=GNUstep/Tools/Admin
+GNUSTEP_USER_DIR_LIBRARY=GNUstep/Library
+GNUSTEP_USER_DIR_HEADERS=GNUstep/Library/Headers
+GNUSTEP_USER_DIR_LIBRARIES=GNUstep/Library/Libraries
+GNUSTEP_USER_DIR_DOC=GNUstep/Library/Documentation
+GNUSTEP_USER_DIR_DOC_MAN=GNUstep/Library/Documentation/man
+GNUSTEP_USER_DIR_DOC_INFO=GNUstep/Library/Documentation/info
diff --git a/pkgs/desktops/gnustep/make/builder.sh b/pkgs/desktops/gnustep/make/builder.sh
new file mode 100644
index 00000000000..1655a75eeba
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/builder.sh
@@ -0,0 +1,122 @@
+source $stdenv/setup
+
+preConfigure() {
+    . $GNUSTEP_MAKEFILES/GNUstep.sh
+}
+
+wrapGSMake() {
+    local program="$1"
+    local config="$2"
+    local wrapped="$(dirname $program)/.$(basename $program)-wrapped"
+
+    mv "$program" "$wrapped"
+
+    cat > "$program"<<EOF
+#! $SHELL -e
+
+export GNUSTEP_CONFIG_FILE="$config"
+
+exec "$wrapped" "\$@" "\${extraFlagsArray[@]}"
+EOF
+    chmod +x "$program"
+}
+
+postInstall() {
+    local conf="$out/share/.GNUstep.conf"
+
+    mkdir -p "$out/share"
+    touch $conf
+
+    # add the current package to the paths
+    local tmp="$out/lib/GNUstep/Applications"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_APPS "$tmp"
+    fi
+    tmp="$out/lib/GNUstep/Applications"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_APPS "$tmp"
+    fi
+    tmp="$out/lib/GNUstep/WebApplications"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_WEB_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_WEB_APPS "$tmp"
+    fi
+    tmp="$out/bin"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_TOOLS "$tmp"
+    fi
+    tmp="$out/sbin"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS "$tmp"
+    fi
+    tmp="$out/lib/GNUstep"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARY" in *"${tmp}"*) false;; *) true;; esac; then
+    	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARY "$tmp"
+    fi
+    tmp="$out/include"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_HEADERS" in *"${tmp}"*) false;; *) true;; esac; then
+    	if [ -z "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then
+    	    export NIX_GNUSTEP_SYSTEM_HEADERS="$tmp"
+    	else
+    	    export NIX_GNUSTEP_SYSTEM_HEADERS+=" $tmp"
+    	fi
+    fi
+    tmp="$out/lib"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARIES" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARIES "$tmp"
+    fi
+    tmp="$out/share/GNUstep/Documentation"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC "$tmp"
+    fi
+    tmp="$out/share/man"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_MAN" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_MAN "$tmp"
+    fi
+    tmp="$out/share/info"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_INFO" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_INFO "$tmp"
+    fi
+    
+    # write the config file
+    echo GNUSTEP_MAKEFILES=$GNUSTEP_MAKEFILES >> $conf
+    if [ -n "$NIX_GNUSTEP_SYSTEM_APPS" ]; then
+	echo NIX_GNUSTEP_SYSTEM_APPS="$NIX_GNUSTEP_SYSTEM_APPS"
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" ]; then
+	echo NIX_GNUSTEP_SYSTEM_ADMIN_APPS="$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_WEB_APPS" ]; then
+	echo NIX_GNUSTEP_SYSTEM_WEB_APPS="$NIX_GNUSTEP_SYSTEM_WEB_APPS" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_TOOLS" ]; then
+	echo NIX_GNUSTEP_SYSTEM_TOOLS="$NIX_GNUSTEP_SYSTEM_TOOLS" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" ]; then
+	echo NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS="$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_LIBRARY" ]; then
+	echo NIX_GNUSTEP_SYSTEM_LIBRARY="$NIX_GNUSTEP_SYSTEM_LIBRARY" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then
+	echo NIX_GNUSTEP_SYSTEM_HEADERS="$NIX_GNUSTEP_SYSTEM_HEADERS" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_LIBRARIES" ]; then
+	echo NIX_GNUSTEP_SYSTEM_LIBRARIES="$NIX_GNUSTEP_SYSTEM_LIBRARIES" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_DOC" ]; then
+	echo NIX_GNUSTEP_SYSTEM_DOC="$NIX_GNUSTEP_SYSTEM_DOC" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_DOC_MAN" ]; then
+	echo NIX_GNUSTEP_SYSTEM_DOC_MAN="$NIX_GNUSTEP_SYSTEM_DOC_MAN" >> $conf
+    fi
+    if [ -n "$NIX_GNUSTEP_SYSTEM_DOC_INFO" ]; then
+	echo NIX_GNUSTEP_SYSTEM_DOC_INFO="$NIX_GNUSTEP_SYSTEM_DOC_INFO" >> $conf
+    fi
+    
+    for i in $out/bin/*; do
+	echo "wrapping $(basename $i)"
+	wrapGSMake "$i" "$out/share/.GNUstep.conf"
+    done
+}
+
+genericBuild
diff --git a/pkgs/desktops/gnustep/make/default.nix b/pkgs/desktops/gnustep/make/default.nix
new file mode 100644
index 00000000000..62250586497
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, clang, which, libobjc }:
+
+let
+  version = "2.6.8";
+in
+
+stdenv.mkDerivation rec {
+  name = "gnustep-make-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-${version}.tar.gz";
+    sha256 = "0r00439f7vrggdwv60n8p626gnyymhq968i5x9ad2i4v6g8x4gk0";
+  };
+
+  configureFlags = [
+    "--with-layout=fhs-system"
+    "--disable-install-p"
+  ];
+
+  preConfigure = ''
+    configureFlags="$configureFlags --with-config-file=$out/etc/GNUstep/GNUstep.conf"
+  '';
+
+  makeFlags = [
+    "GNUSTEP_INSTALLATION_DOMAIN=SYSTEM"
+  ];
+
+  buildInputs = [ clang which libobjc ];
+  patches = [ ./fixup-paths.patch ];
+  setupHook = ./setup-hook.sh;
+  meta = {
+    description = "A build manager for GNUstep";
+    homepage = http://gnustep.org/;
+    license = stdenv.lib.licenses.lgpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ ashalkhakov matthewbauer ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/desktops/gnustep/make/fixup-paths.patch b/pkgs/desktops/gnustep/make/fixup-paths.patch
new file mode 100644
index 00000000000..b5eb093ad96
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/fixup-paths.patch
@@ -0,0 +1,197 @@
+diff -r -u gnustep-make-2.6.6/common.make gnustep-make-2.6.6.patched/common.make
+--- gnustep-make-2.6.6/common.make	2013-03-04 17:21:55.000000000 +0600
++++ gnustep-make-2.6.6.patched/common.make	2015-01-18 14:36:25.000000000 +0600
+@@ -135,7 +135,9 @@
+ endif
+ # Then include makefiles with flags/config options installed by the 
+ # libraries themselves
+--include $(GNUSTEP_MAKEFILES)/Additional/*.make
++ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),)
++include $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)
++endif
+ 
+ #
+ # Determine target specific settings
+diff -r -u gnustep-make-2.6.6/GNUmakefile.in gnustep-make-2.6.6.patched/GNUmakefile.in
+--- gnustep-make-2.6.6/GNUmakefile.in	2013-09-20 12:13:15.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUmakefile.in	2014-12-07 20:35:27.000000000 +0600
+@@ -173,7 +173,6 @@
+ 		"$(makedir)/$(GNUSTEP_TARGET_CPU)" \
+ 		"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
+ 		"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
+-		"$(makedir)/Additional" \
+ 		"$(makedir)/Auxiliary" \
+ 		"$(makedir)/Master" \
+ 		"$(makedir)/Instance" \
+@@ -314,7 +313,6 @@
+ 	-rmdir "$(makedir)/Instance"
+ 	-rmdir "$(makedir)/Master"
+ 	-rmdir "$(makedir)/Auxiliary"
+-	-rmdir "$(makedir)/Additional"
+ 	-rmdir "$(makedir)/$(GNUSTEP_TARGET_LDIR)"
+ 	-rmdir "$(makedir)/$(GNUSTEP_TARGET_DIR)"
+ 	-rmdir "$(makedir)/$(GNUSTEP_TARGET_CPU)"
+diff -r -u gnustep-make-2.6.6/gnustep-config.in gnustep-make-2.6.6.patched/gnustep-config.in
+--- gnustep-make-2.6.6/gnustep-config.in	2013-07-02 16:06:24.000000000 +0600
++++ gnustep-make-2.6.6.patched/gnustep-config.in	2014-12-09 21:29:49.000000000 +0600
+@@ -66,6 +66,7 @@
+     echo "    --variable=OBJCXX"
+     echo "    --variable=GNUMAKE"
+     echo "    --variable=GNUSTEP_MAKEFILES"
++    echo "    --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL"
+     echo "    --variable=GNUSTEP_USER_DEFAULTS_DIR"
+     echo "    --variable=GNUSTEP_HOST"
+     echo "    --variable=GNUSTEP_HOST_CPU"
+@@ -153,6 +154,8 @@
+ 
+ export GNUSTEP_MAKEFILES
+ 
++export NIX_GNUSTEP_MAKEFILES_ADDITIONAL
++
+ #
+ # If all they want to know if GNUSTEP_MAKEFILES or anything that
+ # we can compute only using GNUSTEP_MAKEFILES, we can print it out
+@@ -168,6 +171,8 @@
+               exit 0;;
+   --variable=GNUSTEP_MAKEFILES) echo "$GNUSTEP_MAKEFILES"
+               exit 0;;
++  --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL) echo "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL"
++              exit 0;;
+   --variable=GNUMAKE) echo "@GNUMAKE@"
+               exit 0;;
+   --debug-flags) @GNUMAKE@ -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-objc-flags quiet=yes debug=yes 2>/dev/null
+Only in gnustep-make-2.6.6.patched: gnustep-config.in~
+diff -r -u gnustep-make-2.6.6/GNUstep.csh.in gnustep-make-2.6.6.patched/GNUstep.csh.in
+--- gnustep-make-2.6.6/GNUstep.csh.in	2011-05-03 13:40:10.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUstep.csh.in	2014-12-09 20:14:05.000000000 +0600
+@@ -130,6 +130,10 @@
+   setenv GNUSTEP_MAKEFILES "@GNUSTEP_MAKEFILES@"
+ endif
+ 
++if ( ! ${?NIX_GNUSTEP_MAKEFILES_ADDITIONAL} ) then
++  setenv NIX_GNUSTEP_MAKEFILES_ADDITIONAL "@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@"
++endif
++
+ if ( "${GNUSTEP_MAKE_STRICT_V2_MODE}" == "yes" ) then
+   unsetenv GNUSTEP_USER_DIR
+   unsetenv GNUSTEP_USER_ROOT
+Only in gnustep-make-2.6.6.patched: GNUstep.csh.in~
+diff -r -u gnustep-make-2.6.6/GNUstep.sh.in gnustep-make-2.6.6.patched/GNUstep.sh.in
+--- gnustep-make-2.6.6/GNUstep.sh.in	2012-02-21 20:21:38.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUstep.sh.in	2015-01-18 14:48:09.000000000 +0600
+@@ -173,7 +173,6 @@
+ fi
+ export GNUSTEP_MAKEFILES
+ 
+-
+ if [ "$GNUSTEP_MAKE_STRICT_V2_MODE" = "yes" ]; then
+   # Make sure this is never set in gnustep-make v2 strict mode; it
+   # might have been set in the config file.
+@@ -300,7 +299,7 @@
+ # for each duplicate.  When there are many duplicates it's faster to
+ # use print_unique_pathlist.sh first to remove them and skip the
+ # echos+greps later.
+-GNUSTEP_TOOLS_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" $fixup_paths`
++GNUSTEP_TOOLS_PATHLIST=$NIX_GNUSTEP_SYSTEM_TOOLS
+ 
+ # Now, we check the paths in GNUSTEP_*_ADMIN_TOOLS.  These paths
+ # should only be used by Administrators -- normal users don't have
+@@ -313,7 +312,7 @@
+ 
+ # So we examine GNUSTEP_*_ADMIN_TOOLS; if we find any path in that
+ # list that exists and that we can write to, we add it to our PATH.
+-for dir in "$GNUSTEP_SYSTEM_ADMIN_TOOLS" "$GNUSTEP_NETWORK_ADMIN_TOOLS" "$GNUSTEP_LOCAL_ADMIN_TOOLS" "$GNUSTEP_USER_ADMIN_TOOLS"; do
++for dir in $(echo "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" | tr ":" "\n"); do
+   if [ -d "$dir"  -a  -w "$dir" ]; then
+     # Only add the new dir if it's not already in GNUSTEP_TOOLS_PATHLIST
+     if (echo ":${GNUSTEP_TOOLS_PATHLIST}:" \
+@@ -356,7 +355,7 @@
+ export PATH
+ 
+ # Determine the library paths
+-GNUSTEP_LIBRARIES_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_LIBRARIES" "$GNUSTEP_LOCAL_LIBRARIES" "$GNUSTEP_NETWORK_LIBRARIES" "$GNUSTEP_SYSTEM_LIBRARIES" $fixup_paths`
++GNUSTEP_LIBRARIES_PATHLIST=$NIX_GNUSTEP_SYSTEM_LIBRARIES
+ 
+ old_IFS="$IFS"
+ IFS=:
+@@ -486,7 +485,7 @@
+ #
+ # Setup Java CLASSPATH and Guile GUILE_LOAD_PATH
+ #
+-GNUSTEP_LIBRARY_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_LIBRARY" "$GNUSTEP_LOCAL_LIBRARY" "$GNUSTEP_NETWORK_LIBRARY" "$GNUSTEP_SYSTEM_LIBRARY" $fixup_paths`
++GNUSTEP_LIBRARY_PATHLIST=$NIX_GNUSTEP_SYSTEM_LIBRARY
+ 
+ old_IFS="$IFS"
+ IFS=:
+@@ -526,7 +525,7 @@
+ # xxx/Library/Documentation/info, are found by the info browsing
+ # programs.  To get this effect, we add those paths to INFOPATH.
+ #
+-GNUSTEP_INFO_PATHLIST=`$GNUSTEP_MAKEFILES/print_unique_pathlist.sh "$GNUSTEP_USER_DOC_INFO" "$GNUSTEP_LOCAL_DOC_INFO" "$GNUSTEP_NETWORK_DOC_INFO" "$GNUSTEP_SYSTEM_DOC_INFO" $fixup_paths`
++GNUSTEP_INFO_PATHLIST=$NIX_GNUSTEP_SYSTEM_DOC_INFO
+ old_IFS="$IFS"
+ IFS=:
+ for dir in $GNUSTEP_INFO_PATHLIST; do
+@@ -559,6 +558,7 @@
+ 
+   unset GNUSTEP_KEEP_CONFIG_FILE GNUSTEP_KEEP_USER_CONFIG_FILE
+ 
++  
+   export GNUSTEP_CONFIG_FILE GNUSTEP_USER_CONFIG_FILE
+ 
+   export GNUSTEP_USER_DEFAULTS_DIR
+diff -r -u gnustep-make-2.6.6/GNUstep-strict-v2.conf.in gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in
+--- gnustep-make-2.6.6/GNUstep-strict-v2.conf.in	2008-01-15 20:35:36.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in	2014-12-07 22:04:56.000000000 +0600
+@@ -47,7 +47,6 @@
+ # Traditionally, this is /usr/GNUstep/System/Library/Makefiles
+ GNUSTEP_MAKEFILES=@GNUSTEP_MAKEFILES@
+ 
+-
+ # This is where the user home directories are.  Only used to provide
+ # NSUserDirectory in gnustep-base.  Never used anywhere else.
+ GNUSTEP_SYSTEM_USERS_DIR=@GNUSTEP_SYSTEM_USERS_DIR@
+diff -r -u gnustep-make-2.6.6/library-combo.make gnustep-make-2.6.6.patched/library-combo.make
+--- gnustep-make-2.6.6/library-combo.make	2012-02-21 19:53:02.000000000 +0600
++++ gnustep-make-2.6.6.patched/library-combo.make	2014-12-09 20:15:05.000000000 +0600
+@@ -142,7 +142,7 @@
+ #
+ # Third-party foundations not using make package
+ # Our own foundation will install a base.make file into 
+-# $GNUSTEP_MAKEFILES/Additional/ to set the needed flags
++# $NIX_GNUSTEP_MAKEFILES_ADDITIONAL to set the needed flags
+ #
+ ifeq ($(FOUNDATION_LIB), nx)
+   # -framework Foundation is used both to find headers, and to link
+@@ -166,7 +166,7 @@
+ 
+ #
+ # FIXME - Ask Helge to move this inside his libFoundation, and have 
+-# it installed as a $(GNUSTEP_MAKEFILES)/Additional/libFoundation.make
++# it installed as a $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/libFoundation.make
+ #
+ ifeq ($(FOUNDATION_LIB),fd)
+   -include $(GNUSTEP_MAKEFILES)/libFoundation.make
+@@ -193,7 +193,7 @@
+ GUI_LIBS = 
+ #
+ # Third-party GUI libraries - our own sets its flags into 
+-# $(GNUSTEP_MAKEFILES)/Additional/gui.make
++# $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/gui.make
+ #
+ ifeq ($(GUI_LIB), nx)
+   GUI_DEFINE = -DNeXT_GUI_LIBRARY=1
+diff -r -u gnustep-make-2.6.6/rules.make gnustep-make-2.6.6.patched/rules.make
+--- gnustep-make-2.6.6/rules.make	2013-07-04 16:05:44.000000000 +0600
++++ gnustep-make-2.6.6.patched/rules.make	2014-12-09 21:31:04.000000000 +0600
+@@ -667,7 +667,9 @@
+ 	exit 1$(END_ECHO)
+ endif
+ 
+-$(GNUSTEP_MAKEFILES)/Additional/*.make: ;
++ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),)
++$(NIX_GNUSTEP_MAKEFILES_ADDITIONAL): ;
++endif
+ 
+ $(GNUSTEP_MAKEFILES)/Master/*.make: ;
+ 
diff --git a/pkgs/desktops/gnustep/make/gs-makefiles-additional.patch b/pkgs/desktops/gnustep/make/gs-makefiles-additional.patch
new file mode 100644
index 00000000000..98e22f37ee7
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/gs-makefiles-additional.patch
@@ -0,0 +1,145 @@
+diff -ru gnustep-make-2.6.6/common.make gnustep-make-2.6.6.patched/common.make
+--- gnustep-make-2.6.6/common.make	2013-03-04 17:21:55.000000000 +0600
++++ gnustep-make-2.6.6.patched/common.make	2014-12-09 21:29:10.000000000 +0600
+@@ -135,7 +135,9 @@
+ endif
+ # Then include makefiles with flags/config options installed by the 
+ # libraries themselves
+--include $(GNUSTEP_MAKEFILES)/Additional/*.make
++ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),)
++-include $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)
++endif
+ 
+ #
+ # Determine target specific settings
+diff -ru gnustep-make-2.6.6/GNUmakefile.in gnustep-make-2.6.6.patched/GNUmakefile.in
+--- gnustep-make-2.6.6/GNUmakefile.in	2013-09-20 12:13:15.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUmakefile.in	2014-12-07 20:35:27.000000000 +0600
+@@ -173,7 +173,6 @@
+ 		"$(makedir)/$(GNUSTEP_TARGET_CPU)" \
+ 		"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
+ 		"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
+-		"$(makedir)/Additional" \
+ 		"$(makedir)/Auxiliary" \
+ 		"$(makedir)/Master" \
+ 		"$(makedir)/Instance" \
+@@ -314,7 +313,6 @@
+ 	-rmdir "$(makedir)/Instance"
+ 	-rmdir "$(makedir)/Master"
+ 	-rmdir "$(makedir)/Auxiliary"
+-	-rmdir "$(makedir)/Additional"
+ 	-rmdir "$(makedir)/$(GNUSTEP_TARGET_LDIR)"
+ 	-rmdir "$(makedir)/$(GNUSTEP_TARGET_DIR)"
+ 	-rmdir "$(makedir)/$(GNUSTEP_TARGET_CPU)"
+diff -ru gnustep-make-2.6.6/gnustep-config.in gnustep-make-2.6.6.patched/gnustep-config.in
+--- gnustep-make-2.6.6/gnustep-config.in	2013-07-02 16:06:24.000000000 +0600
++++ gnustep-make-2.6.6.patched/gnustep-config.in	2014-12-09 21:29:49.000000000 +0600
+@@ -66,6 +66,7 @@
+     echo "    --variable=OBJCXX"
+     echo "    --variable=GNUMAKE"
+     echo "    --variable=GNUSTEP_MAKEFILES"
++    echo "    --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL"
+     echo "    --variable=GNUSTEP_USER_DEFAULTS_DIR"
+     echo "    --variable=GNUSTEP_HOST"
+     echo "    --variable=GNUSTEP_HOST_CPU"
+@@ -153,6 +154,8 @@
+ 
+ export GNUSTEP_MAKEFILES
+ 
++export NIX_GNUSTEP_MAKEFILES_ADDITIONAL
++
+ #
+ # If all they want to know if GNUSTEP_MAKEFILES or anything that
+ # we can compute only using GNUSTEP_MAKEFILES, we can print it out
+@@ -168,6 +171,8 @@
+               exit 0;;
+   --variable=GNUSTEP_MAKEFILES) echo "$GNUSTEP_MAKEFILES"
+               exit 0;;
++  --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL) echo "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL"
++              exit 0;;
+   --variable=GNUMAKE) echo "@GNUMAKE@"
+               exit 0;;
+   --debug-flags) @GNUMAKE@ -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-objc-flags quiet=yes debug=yes 2>/dev/null
+diff -ru gnustep-make-2.6.6/GNUstep.csh.in gnustep-make-2.6.6.patched/GNUstep.csh.in
+--- gnustep-make-2.6.6/GNUstep.csh.in	2011-05-03 13:40:10.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUstep.csh.in	2014-12-09 20:14:05.000000000 +0600
+@@ -130,6 +130,10 @@
+   setenv GNUSTEP_MAKEFILES "@GNUSTEP_MAKEFILES@"
+ endif
+ 
++if ( ! ${?NIX_GNUSTEP_MAKEFILES_ADDITIONAL} ) then
++  setenv NIX_GNUSTEP_MAKEFILES_ADDITIONAL "@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@"
++endif
++
+ if ( "${GNUSTEP_MAKE_STRICT_V2_MODE}" == "yes" ) then
+   unsetenv GNUSTEP_USER_DIR
+   unsetenv GNUSTEP_USER_ROOT
+diff -ru gnustep-make-2.6.6/GNUstep.sh.in gnustep-make-2.6.6.patched/GNUstep.sh.in
+--- gnustep-make-2.6.6/GNUstep.sh.in	2012-02-21 20:21:38.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUstep.sh.in	2014-12-09 20:14:19.000000000 +0600
+@@ -173,6 +173,10 @@
+ fi
+ export GNUSTEP_MAKEFILES
+ 
++if [ -z "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" ]; then
++  NIX_GNUSTEP_MAKEFILES_ADDITIONAL=@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@
++fi
++export NIX_GNUSTEP_MAKEFILES_ADDITIONAL
+ 
+ if [ "$GNUSTEP_MAKE_STRICT_V2_MODE" = "yes" ]; then
+   # Make sure this is never set in gnustep-make v2 strict mode; it
+diff -ru gnustep-make-2.6.6/GNUstep-strict-v2.conf.in gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in
+--- gnustep-make-2.6.6/GNUstep-strict-v2.conf.in	2008-01-15 20:35:36.000000000 +0600
++++ gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in	2014-12-07 22:04:56.000000000 +0600
+@@ -47,7 +47,6 @@
+ # Traditionally, this is /usr/GNUstep/System/Library/Makefiles
+ GNUSTEP_MAKEFILES=@GNUSTEP_MAKEFILES@
+ 
+-
+ # This is where the user home directories are.  Only used to provide
+ # NSUserDirectory in gnustep-base.  Never used anywhere else.
+ GNUSTEP_SYSTEM_USERS_DIR=@GNUSTEP_SYSTEM_USERS_DIR@
+diff -ru gnustep-make-2.6.6/library-combo.make gnustep-make-2.6.6.patched/library-combo.make
+--- gnustep-make-2.6.6/library-combo.make	2012-02-21 19:53:02.000000000 +0600
++++ gnustep-make-2.6.6.patched/library-combo.make	2014-12-09 20:15:05.000000000 +0600
+@@ -142,7 +142,7 @@
+ #
+ # Third-party foundations not using make package
+ # Our own foundation will install a base.make file into 
+-# $GNUSTEP_MAKEFILES/Additional/ to set the needed flags
++# $NIX_GNUSTEP_MAKEFILES_ADDITIONAL to set the needed flags
+ #
+ ifeq ($(FOUNDATION_LIB), nx)
+   # -framework Foundation is used both to find headers, and to link
+@@ -166,7 +166,7 @@
+ 
+ #
+ # FIXME - Ask Helge to move this inside his libFoundation, and have 
+-# it installed as a $(GNUSTEP_MAKEFILES)/Additional/libFoundation.make
++# it installed as a $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/libFoundation.make
+ #
+ ifeq ($(FOUNDATION_LIB),fd)
+   -include $(GNUSTEP_MAKEFILES)/libFoundation.make
+@@ -193,7 +193,7 @@
+ GUI_LIBS = 
+ #
+ # Third-party GUI libraries - our own sets its flags into 
+-# $(GNUSTEP_MAKEFILES)/Additional/gui.make
++# $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/gui.make
+ #
+ ifeq ($(GUI_LIB), nx)
+   GUI_DEFINE = -DNeXT_GUI_LIBRARY=1
+diff -ru gnustep-make-2.6.6/rules.make gnustep-make-2.6.6.patched/rules.make
+--- gnustep-make-2.6.6/rules.make	2013-07-04 16:05:44.000000000 +0600
++++ gnustep-make-2.6.6.patched/rules.make	2014-12-09 21:31:04.000000000 +0600
+@@ -667,7 +667,9 @@
+ 	exit 1$(END_ECHO)
+ endif
+ 
+-$(GNUSTEP_MAKEFILES)/Additional/*.make: ;
++ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),)
++$(NIX_GNUSTEP_MAKEFILES_ADDITIONAL): ;
++endif
+ 
+ $(GNUSTEP_MAKEFILES)/Master/*.make: ;
+ 
diff --git a/pkgs/desktops/gnustep/make/gsmakeDerivation.nix b/pkgs/desktops/gnustep/make/gsmakeDerivation.nix
new file mode 100644
index 00000000000..00b96cd2fac
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/gsmakeDerivation.nix
@@ -0,0 +1,19 @@
+{ stdenv, lib, make, makeWrapper, which }:
+{ buildInputs ? [], ...} @ args:
+stdenv.mkDerivation (args // {
+  buildInputs = [ makeWrapper make which ] ++ buildInputs;
+
+  builder = ./builder.sh;
+  setupHook = ./setup-hook.sh;
+
+  GNUSTEP_MAKEFILES = "${make}/share/GNUstep/Makefiles";
+
+  meta = {
+    homepage = http://gnustep.org/;
+
+    license = stdenv.lib.licenses.lgpl2Plus;
+
+    maintainers = with stdenv.lib.maintainers; [ ashalkhakov matthewbauer ];
+    platforms = stdenv.lib.platforms.linux;
+  } // (if builtins.hasAttr "meta" args then args.meta else {});
+})
diff --git a/pkgs/desktops/gnustep/make/setup-hook.sh b/pkgs/desktops/gnustep/make/setup-hook.sh
new file mode 100644
index 00000000000..71618ef960f
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/setup-hook.sh
@@ -0,0 +1,77 @@
+# this path is used by some packages to install additional makefiles
+export DESTDIR_GNUSTEP_MAKEFILES=$out/share/GNUstep/Makefiles
+
+installFlagsArray=( \
+  "GNUSTEP_INSTALLATION_DOMAIN=SYSTEM" \
+  "GNUSTEP_SYSTEM_APPS=$out/lib/GNUstep/Applications" \
+  "GNUSTEP_SYSTEM_ADMIN_APPS=$out/lib/GNUstep/Applications" \
+  "GNUSTEP_SYSTEM_WEB_APPS=$out/lib/GNUstep/WebApplications" \
+  "GNUSTEP_SYSTEM_TOOLS=$out/bin" \
+  "GNUSTEP_SYSTEM_ADMIN_TOOLS=$out/sbin" \
+  "GNUSTEP_SYSTEM_LIBRARY=$out/lib/GNUstep" \
+  "GNUSTEP_SYSTEM_HEADERS=$out/include" \
+  "GNUSTEP_SYSTEM_LIBRARIES=$out/lib" \
+  "GNUSTEP_SYSTEM_DOC=$out/share/GNUstep/Documentation" \
+  "GNUSTEP_SYSTEM_DOC_MAN=$out/share/man" \
+  "GNUSTEP_SYSTEM_DOC_INFO=$out/share/info" \
+)
+
+addEnvVars() {
+    local filename
+
+    for filename in $1/share/GNUstep/Makefiles/Additional/*.make ; do
+	if case "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" in *"{$filename}"*) false;; *) true;; esac; then
+	    export NIX_GNUSTEP_MAKEFILES_ADDITIONAL+=" $filename"
+	fi
+    done
+
+    local tmp="$1/lib/GNUstep/Applications"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_APPS "$tmp"
+    fi
+    tmp="$1/lib/GNUstep/Applications"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_APPS "$tmp"
+    fi
+    tmp="$1/lib/GNUstep/WebApplications"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_WEB_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_WEB_APPS "$tmp"
+    fi
+    tmp="$1/bin"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_TOOLS "$tmp"
+    fi
+    tmp="$1/sbin"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS "$tmp"
+    fi
+    tmp="$1/lib/GNUstep"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARY" in *"${tmp}"*) false;; *) true;; esac; then
+    	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARY "$tmp"
+    fi
+    tmp="$1/include"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_HEADERS" in *"${tmp}"*) false;; *) true;; esac; then
+    	if [ -z "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then
+    	    export NIX_GNUSTEP_SYSTEM_HEADERS="$tmp"
+    	else
+    	    export NIX_GNUSTEP_SYSTEM_HEADERS+=" $tmp"
+    	fi
+    fi
+    tmp="$1/lib"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARIES" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARIES "$tmp"
+    fi
+    tmp="$1/share/GNUstep/Documentation"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC "$tmp"
+    fi
+    tmp="$1/share/man"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_MAN" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_MAN "$tmp"
+    fi
+    tmp="$1/share/info"
+    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_INFO" in *"${tmp}"*) false;; *) true;; esac; then
+	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_INFO "$tmp"
+    fi
+}
+envHooks=(${envHooks[@]} addEnvVars)
diff --git a/pkgs/desktops/gnustep/make/wrapper.sh b/pkgs/desktops/gnustep/make/wrapper.sh
new file mode 100644
index 00000000000..1bc2e130d88
--- /dev/null
+++ b/pkgs/desktops/gnustep/make/wrapper.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+. $GNUSTEP_MAKEFILES/GNUstep.sh
+$1
diff --git a/pkgs/desktops/gnustep/projectcenter/default.nix b/pkgs/desktops/gnustep/projectcenter/default.nix
new file mode 100644
index 00000000000..abfdac1e7af
--- /dev/null
+++ b/pkgs/desktops/gnustep/projectcenter/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl
+, base, back, gsmakeDerivation, gui, gorm
+, gnumake, gdb
+}:
+let
+  version = "0.6.2";
+in
+gsmakeDerivation {
+  name = "projectcenter-${version}";
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/ProjectCenter-${version}.tar.gz";
+    sha256 = "0wwlbpqf541apw192jb633d634zkpjhcrrkd1j80y9hihphll465";
+  };
+
+  # NOTE: need a patch for ProjectCenter to help it locate some necessary tools:
+  # 1. Framework/PCProjectLauncher.m, locate gdb (say among NIX_GNUSTEP_SYSTEM_TOOLS)
+  # 2. Framework/PCProjectBuilder.m, locate gmake (similar)
+  propagatedBuildInputs = [ base back gui gnumake gdb gorm ];
+  
+  meta = {
+    description = "GNUstep's integrated development environment";
+  };
+}
diff --git a/pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch b/pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch
new file mode 100644
index 00000000000..3fe19a6a58b
--- /dev/null
+++ b/pkgs/desktops/gnustep/projectcenter/fixup-preamble.patch
@@ -0,0 +1,14 @@
+diff -c ProjectCenter-0.6.2/GNUmakefile.preamble ProjectCenter-0.6.2.patched/GNUmakefile.preamble
+--- ProjectCenter-0.6.2/GNUmakefile.preamble	2010-08-08 03:56:04.000000000 +0600
++++ artyom/ProjectCenter-0.6.2.patched/GNUmakefile.preamble	2014-12-01 20:08:31.000000000 +0600
+@@ -39,7 +39,7 @@
+ ADDITIONAL_INCLUDE_DIRS += -I./ -I./Headers
+ 
+ # Additional LDFLAGS to pass to the linker
+-ADDITIONAL_LDFLAGS += 
++ADDITIONAL_LDFLAGS += -lgnustep-base -lgnustep-gui
+ 
+ # Additional library directories the linker should search
+ ADDITIONAL_LIB_DIRS += -L./Framework/ProjectCenter.framework/$(GNUSTEP_TARGET_LDIR)
+
+Diff finished.  Mon Dec  1 20:08:50 2014
diff --git a/pkgs/desktops/gnustep/systempreferences/default.nix b/pkgs/desktops/gnustep/systempreferences/default.nix
new file mode 100644
index 00000000000..2bc4f688184
--- /dev/null
+++ b/pkgs/desktops/gnustep/systempreferences/default.nix
@@ -0,0 +1,17 @@
+{ back, base, gui, gsmakeDerivation, fetchurl }:
+let
+  version = "1.1.0";
+in
+gsmakeDerivation {
+  name = "system_preferences-${version}";
+  src = fetchurl {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/usr-apps/SystemPreferences-${version}.tar.gz";
+    sha256 = "1q68bs8rlq0dxkar01qs5wfyas4iivddnama371jd7ll6cxzmpy7";
+  };
+#  GNUSTEP_MAKEFILES = "${gnustep_make}/share/GNUstep/Makefiles";
+  buildInputs = [ back base gui ];
+#  propagatedBuildInputs = [ gnustep_back gnustep_base gnustep_gui ];
+  meta = {
+    description = "The settings manager for the GNUstep environment and its applications";
+  };
+}
diff --git a/pkgs/desktops/kde-4.14/applications/kate.nix b/pkgs/desktops/kde-4.14/applications/kate.nix
index 2440d73e7e8..ddeb89063e5 100644
--- a/pkgs/desktops/kde-4.14/applications/kate.nix
+++ b/pkgs/desktops/kde-4.14/applications/kate.nix
@@ -1,8 +1,8 @@
-{ stdenv, kde, kdelibs, kactivities, qjson, pyqt4, python, pykde4}:
+{ stdenv, kde, kdelibs, kactivities, qjson, pythonPackages, pykde4}:
 
 kde {
 
-  buildInputs = [ kdelibs kactivities qjson pyqt4 python pykde4 ];
+  buildInputs = [ kdelibs kactivities qjson pythonPackages.pyqt4 pythonPackages.python pykde4 ];
 
   meta = {
     description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
diff --git a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
index 5a911d4b3ea..48d457e10a7 100644
--- a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
+++ b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix
@@ -1,9 +1,10 @@
-{ kde, kdelibs, python, pyqt4, kdepimlibs, shared_desktop_ontologies,
+{ kde, kdelibs, pythonPackages, kdepimlibs, shared_desktop_ontologies,
   polkit_qt4, boost, lndir, pkgconfig }:
 
-let pydir = "lib/python${python.majorVersion}"; in
-
-kde {
+let
+  inherit (pythonPackages) python pyqt4;
+  pydir = "lib/python${python.majorVersion}";
+in kde {
 
   patches = [ ./pykde4-gcc-5.patch ];
 
diff --git a/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
index d12c261a728..b53946fae25 100644
--- a/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
+++ b/pkgs/desktops/kde-4.14/kdeutils/print-manager.nix
@@ -1,5 +1,5 @@
 { kde, kdelibs
-, pythonPackages, cups, pyqt4, pykde4, pycups, system-config-printer }:
+, pythonPackages, cups, pykde4, system-config-printer }:
 
 let s_c_p = system-config-printer.override { withGUI = false; }; in
 
@@ -7,7 +7,7 @@ kde rec {
   buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
     ] ++ pythonPath;
 
-  pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ];
+  pythonPath = [ cups pythonPackages.pyqt4 pykde4 pythonPackages.pycups s_c_p ];
 
   # system-config-printer supplies some D-Bus policy that we need.
   propagatedUserEnvPkgs = [ s_c_p ];
diff --git a/pkgs/desktops/kde-5/applications/default.nix b/pkgs/desktops/kde-5/applications/default.nix
index 609901048ee..47109aaeac2 100644
--- a/pkgs/desktops/kde-5/applications/default.nix
+++ b/pkgs/desktops/kde-5/applications/default.nix
@@ -42,6 +42,7 @@ let
     gpgmepp = callPackage ./gpgmepp.nix {};
     gwenview = callPackage ./gwenview.nix {};
     kate = callPackage ./kate.nix {};
+    kdenlive = callPackage ./kdenlive.nix {};
     kcalc = callPackage ./kcalc.nix {};
     kcolorchooser = callPackage ./kcolorchooser.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
diff --git a/pkgs/desktops/kde-5/applications/kdenlive.nix b/pkgs/desktops/kde-5/applications/kdenlive.nix
new file mode 100644
index 00000000000..00826060b69
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/kdenlive.nix
@@ -0,0 +1,81 @@
+{ kdeApp
+, kdeWrapper
+, lib
+, extra-cmake-modules
+, kdoctools
+, qtscript
+, kactivities
+, kconfig
+, kcrash
+, kguiaddons
+, kiconthemes
+, ki18n
+, kinit
+, kio
+, kio-extras
+, kwindowsystem
+, kdbusaddons
+, plasma-framework
+, knotifications
+, knewstuff
+, karchive
+, knotifyconfig
+, kplotting
+, ktextwidgets
+, mlt
+, shared_mime_info
+, libv4l
+, kfilemetadata
+, ffmpeg
+, phonon-backend-vlc
+, qtquickcontrols
+}:
+
+let
+unwrapped = kdeApp {
+  name = "kdenlive";
+  nativeBuildInputs = [
+    extra-cmake-modules
+    kdoctools
+  ];
+  buildInputs = [
+    qtscript
+    kconfig
+    kcrash
+    kguiaddons
+    kiconthemes
+    kinit
+    kdbusaddons
+    knotifications
+    knewstuff
+    karchive
+    knotifyconfig
+    kplotting
+    ktextwidgets
+    mlt
+    shared_mime_info
+    libv4l
+    ffmpeg
+  ];
+  propagatedBuildInputs = [
+    kactivities
+    ki18n
+    kio
+    kio-extras
+    kwindowsystem
+    kfilemetadata
+    plasma-framework
+    phonon-backend-vlc
+    qtquickcontrols
+  ];
+  enableParallelBuilding = true;
+  meta = {
+    license = with lib.licenses; [ gpl2Plus ];
+  };
+};
+in
+kdeWrapper unwrapped
+{
+  targets = [ "bin/kdenlive" ];
+  paths = [ kinit ];
+}
diff --git a/pkgs/desktops/kde-5/applications/srcs.nix b/pkgs/desktops/kde-5/applications/srcs.nix
index 2eb2afcd0b1..4da2717031f 100644
--- a/pkgs/desktops/kde-5/applications/srcs.nix
+++ b/pkgs/desktops/kde-5/applications/srcs.nix
@@ -3,2091 +3,2067 @@
 
 {
   akonadi = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/akonadi-16.04.3.tar.xz";
-      sha256 = "1fsv5znj5a7mql8swcq085qjnvcmwyjm74lwj3rdrxmw91s09w96";
-      name = "akonadi-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/akonadi-16.08.0.tar.xz";
+      sha256 = "0xml678j47f9xd2dvyvw2v93yklwkvxamrp2v3739iqp03qfc210";
+      name = "akonadi-16.08.0.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/akonadi-calendar-16.04.3.tar.xz";
-      sha256 = "18gwsk4snbp475kqpkl3jnca68pprpjhj8xjb4myf0s0bbsi01jl";
-      name = "akonadi-calendar-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/akonadi-calendar-16.08.0.tar.xz";
+      sha256 = "0g61sbj1ifkw349xmwch6hkazs1n6m92jhc1gm8az4zfnipms8yw";
+      name = "akonadi-calendar-16.08.0.tar.xz";
+    };
+  };
+  akonadi-contacts = {
+    version = "16.08.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.08.0/src/akonadi-contacts-16.08.0.tar.xz";
+      sha256 = "1c50nnfk8r351a1pc0hyl03gbmnzqvicj6533gbl60104zg0cl49";
+      name = "akonadi-contacts-16.08.0.tar.xz";
+    };
+  };
+  akonadi-mime = {
+    version = "16.08.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.08.0/src/akonadi-mime-16.08.0.tar.xz";
+      sha256 = "0b541y6ir78f5acdlzzr0bv9q8gd1p4rklrm0pcddvs1d28s5ng2";
+      name = "akonadi-mime-16.08.0.tar.xz";
+    };
+  };
+  akonadi-notes = {
+    version = "16.08.0";
+    src = fetchurl {
+      url = "${mirror}/stable/applications/16.08.0/src/akonadi-notes-16.08.0.tar.xz";
+      sha256 = "0xwrj9y071g1svmwj1nrfff3vr371va7rm8mmx5hw6ringakgxn6";
+      name = "akonadi-notes-16.08.0.tar.xz";
     };
   };
   akonadi-search = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/akonadi-search-16.04.3.tar.xz";
-      sha256 = "109gl55zhrmvz2k31v7i724jm1jllz0yshg556ii3n9raijmny8m";
-      name = "akonadi-search-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/akonadi-search-16.08.0.tar.xz";
+      sha256 = "12lpgm5111dd2ny6fdhcxish397x54mcnma504f3ibk7f3brwnmf";
+      name = "akonadi-search-16.08.0.tar.xz";
     };
   };
   analitza = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/analitza-16.04.3.tar.xz";
-      sha256 = "0qk2gcrh2qb7krhijzvb95336l4zab4dkhplgbc1k6sdwm7r83dj";
-      name = "analitza-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/analitza-16.08.0.tar.xz";
+      sha256 = "1j8axc4618jb45vxp0ii51sr2wh6vmr1f8ycn3xqnd9ln936qqyz";
+      name = "analitza-16.08.0.tar.xz";
     };
   };
   ark = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ark-16.04.3.tar.xz";
-      sha256 = "041bqkha4s01n8jn4agbg1vacfhiwr7x5rds9sh3jr5nvmr2573r";
-      name = "ark-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ark-16.08.0.tar.xz";
+      sha256 = "1a8aklvpk5s319665s1c0mnbzknbyhbq2lm79hflal3r28g3acvj";
+      name = "ark-16.08.0.tar.xz";
     };
   };
   artikulate = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/artikulate-16.04.3.tar.xz";
-      sha256 = "166dnlp34sbnmwjrvl4rg3a9c4s8z46nn7aqp5b0l66iis6qrhyn";
-      name = "artikulate-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/artikulate-16.08.0.tar.xz";
+      sha256 = "1j57y5zwp6zpd2hzh01a13m49rbgkzkf3ncfx122d7vih9f8kzvd";
+      name = "artikulate-16.08.0.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/audiocd-kio-16.04.3.tar.xz";
-      sha256 = "1jds7f3m0x3f9x2invphsaxmj0gf3af6cbqczilhia2qchsyq0vb";
-      name = "audiocd-kio-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/audiocd-kio-16.08.0.tar.xz";
+      sha256 = "0ndb7b67yssmsxlnphpkyk4yx9n3xx2w20q4fz55r6zrp7yphm1a";
+      name = "audiocd-kio-16.08.0.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/baloo-widgets-16.04.3.tar.xz";
-      sha256 = "06nick4dcs3qqcv7vqs2cn8848yjifhyw79cvc6562siq66vh5zp";
-      name = "baloo-widgets-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/baloo-widgets-16.08.0.tar.xz";
+      sha256 = "0daf0wkz14p82fl7731r1dhcy2w1zqlia722jskzmn4g86c9lf7d";
+      name = "baloo-widgets-16.08.0.tar.xz";
     };
   };
   blinken = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/blinken-16.04.3.tar.xz";
-      sha256 = "1nbi7rshw2qd3jvgkky0hbn8yf38lmrs1x5sbd68wsxvpf2rwwzp";
-      name = "blinken-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/blinken-16.08.0.tar.xz";
+      sha256 = "16x0l7fajrdgqm6pwhkn1za8bwliw556z6fc4bxm2jgcmdih7znq";
+      name = "blinken-16.08.0.tar.xz";
     };
   };
   bomber = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/bomber-16.04.3.tar.xz";
-      sha256 = "1lb4cgsmk99j973gn4j5mqlj6zx8in3hmq8ma9n107y8sg46bzvv";
-      name = "bomber-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/bomber-16.08.0.tar.xz";
+      sha256 = "05j7xrcxs0lvniprd9818ck0jrjn6j8hjf773riqzsqr463v183h";
+      name = "bomber-16.08.0.tar.xz";
     };
   };
   bovo = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/bovo-16.04.3.tar.xz";
-      sha256 = "0c8jyqlzplkfa55i3pf5f4brxdyszzlp542l8w6dnl7lpazyjrsi";
-      name = "bovo-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/bovo-16.08.0.tar.xz";
+      sha256 = "184h61fbkrasp9hik21pa45fxhgvvqmsf424n46i93m48fa7vwzl";
+      name = "bovo-16.08.0.tar.xz";
     };
   };
   calendarsupport = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/calendarsupport-16.04.3.tar.xz";
-      sha256 = "1la37axq0jz4palgw4pr0mqaw9s2dmr7jglzws5knvihvq1czls9";
-      name = "calendarsupport-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/calendarsupport-16.08.0.tar.xz";
+      sha256 = "04sbgp75vdg69jdjp9wgkcblzcwa7v5hwsdyb2ahz9ga27qsxgan";
+      name = "calendarsupport-16.08.0.tar.xz";
     };
   };
   cantor = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/cantor-16.04.3.tar.xz";
-      sha256 = "1mqcmb1dx5gvjaa89sszdkpkgd8sb36mvx074az3w69aj6bkpq7a";
-      name = "cantor-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/cantor-16.08.0.tar.xz";
+      sha256 = "0j798qxa8j8f6fjkvpag48gcqjrifgxhcm8raccx3bqlxz7145gh";
+      name = "cantor-16.08.0.tar.xz";
     };
   };
   cervisia = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/cervisia-16.04.3.tar.xz";
-      sha256 = "1irxwwyc18n5j79nyyi7zimk9iqbhfhi81vkwfy9fq9w7iis1z0g";
-      name = "cervisia-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/cervisia-16.08.0.tar.xz";
+      sha256 = "0azjsigiz26y9fn1i8gaqdzw2bhvdn9v63ii51iazggjb49sk17v";
+      name = "cervisia-16.08.0.tar.xz";
     };
   };
   dolphin = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/dolphin-16.04.3.tar.xz";
-      sha256 = "16c5lnqldc8jmz90ym35l4s21wmn6lg4p5xhyyi5khq9yz9447r0";
-      name = "dolphin-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/dolphin-16.08.0.tar.xz";
+      sha256 = "0xqyb1qdxg19sp7xwkys9x92cx5wnbjz3sdmr2yc4j56fjqhih3j";
+      name = "dolphin-16.08.0.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/dolphin-plugins-16.04.3.tar.xz";
-      sha256 = "1qwq1b9ivivn6sdql1q7kfg80790w1b651vwfqbqdsbgxc9b6qzg";
-      name = "dolphin-plugins-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/dolphin-plugins-16.08.0.tar.xz";
+      sha256 = "12pxw5vzznzkd9mr6dshh18mlgk0pmmkqic1mn1i53w0sj9r1zl2";
+      name = "dolphin-plugins-16.08.0.tar.xz";
     };
   };
   dragon = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/dragon-16.04.3.tar.xz";
-      sha256 = "1d8hrh3mjf3if6asi40arpihwv91xs7ydcmr0nf355vajsn337vl";
-      name = "dragon-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/dragon-16.08.0.tar.xz";
+      sha256 = "0vjhrdyshd7rd4i7yn6v1ldi0fsyabwph1pjjdylq1cz4clc7mzi";
+      name = "dragon-16.08.0.tar.xz";
     };
   };
   eventviews = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/eventviews-16.04.3.tar.xz";
-      sha256 = "1rn3kfrkc48hwgd0b59gy6jax9gd78g7lwgmxcs977xzhl7mc3kh";
-      name = "eventviews-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/eventviews-16.08.0.tar.xz";
+      sha256 = "1gms9q04icycjcazqkhg0i6mlf01rg45pp3zyndw6l7y3v9gcnq2";
+      name = "eventviews-16.08.0.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ffmpegthumbs-16.04.3.tar.xz";
-      sha256 = "03imnxzkbsfwgcqx1hhkpad6pdyw157picb9ydrlkwqlg0pqcgr0";
-      name = "ffmpegthumbs-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ffmpegthumbs-16.08.0.tar.xz";
+      sha256 = "0nymi6g51xal5cllnp6rqxr7gcanp07njvpc7w02i2daan6cf5li";
+      name = "ffmpegthumbs-16.08.0.tar.xz";
     };
   };
   filelight = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/filelight-16.04.3.tar.xz";
-      sha256 = "1li4ylbq9vr3vr91y1r085557p22bvqgg4kqm5ra7bdwp9151j09";
-      name = "filelight-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/filelight-16.08.0.tar.xz";
+      sha256 = "1dynl9b4vp8qas23ysbbjmrf71k36z5cwnb2av3k0b53vf8h694p";
+      name = "filelight-16.08.0.tar.xz";
     };
   };
   gpgmepp = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/gpgmepp-16.04.3.tar.xz";
-      sha256 = "1850pdysi7c1w0nxnhcbrhnkrfqyrcl0laxyjcw1g1ln764pwcmj";
-      name = "gpgmepp-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/gpgmepp-16.08.0.tar.xz";
+      sha256 = "0ydwl5qkvxnmzr3f375giykbhj8mm6kv1hywb6kyzafxcwn9ryqf";
+      name = "gpgmepp-16.08.0.tar.xz";
     };
   };
   granatier = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/granatier-16.04.3.tar.xz";
-      sha256 = "172rlx3472gq6lv30p8sw09rj4bxj4lxny4xqi0vwkbdmfscfsxw";
-      name = "granatier-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/granatier-16.08.0.tar.xz";
+      sha256 = "16j2xap43jpj6v6bclf99805rgpfzxcxnb715malcx69krqacfy2";
+      name = "granatier-16.08.0.tar.xz";
     };
   };
   grantleetheme = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/grantleetheme-16.04.3.tar.xz";
-      sha256 = "071qybjfa83441xmxd6mjj189blcrds9ddqcpvvna1zlajn0rgby";
-      name = "grantleetheme-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/grantleetheme-16.08.0.tar.xz";
+      sha256 = "152b8brnd4q7zmxg4a3xizm56cqxy67aa7gc0znjcg8ga11szrpx";
+      name = "grantleetheme-16.08.0.tar.xz";
     };
   };
   gwenview = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/gwenview-16.04.3.tar.xz";
-      sha256 = "02cjbz4zjbxvqcd7cwaxjzdhjhs86m79cdzcf41q1byk41jajshl";
-      name = "gwenview-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/gwenview-16.08.0.tar.xz";
+      sha256 = "0in10ssq543snsdm4dks2z4hspqiwr0hygc2y8mpcg9kvq11j1w1";
+      name = "gwenview-16.08.0.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/incidenceeditor-16.04.3.tar.xz";
-      sha256 = "1yms81yzkj84hn5w8kkzsnxb6m7rn5n1d9n1nap4rh570bmssrjf";
-      name = "incidenceeditor-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/incidenceeditor-16.08.0.tar.xz";
+      sha256 = "102chdy0siwnpv9rbxfy7aj1rz4gbwqq6sws7i92paj1k57ln361";
+      name = "incidenceeditor-16.08.0.tar.xz";
     };
   };
   jovie = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/jovie-16.04.3.tar.xz";
-      sha256 = "0n8bk36n2024rhiy0qfwz03vx8nja2jylwgfqfj4y5lzdqnc9kbz";
-      name = "jovie-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/jovie-16.08.0.tar.xz";
+      sha256 = "0npcs6pq3w6r6wlg4j6dkl4zk9adm8fi84sh8vw89p9iksa2bgjm";
+      name = "jovie-16.08.0.tar.xz";
     };
   };
   juk = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/juk-16.04.3.tar.xz";
-      sha256 = "1nfs23dd5nd5qmdr8c2m6wxaq7m1vrxhdwjm7gqjrskmw3gcd0ai";
-      name = "juk-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/juk-16.08.0.tar.xz";
+      sha256 = "051zsjlq4bfiynkwb6gfx221j0fyvbd01dgx4adjgi15arw0l4kh";
+      name = "juk-16.08.0.tar.xz";
     };
   };
   kaccessible = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kaccessible-16.04.3.tar.xz";
-      sha256 = "1qmqpcp5dfn2iwvkfya5bb8v56d2zw9136swzv9nf44gg8mlayvx";
-      name = "kaccessible-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kaccessible-16.08.0.tar.xz";
+      sha256 = "1z9i0ylkph3ws5w8qh0h70ykhyjigmjlmmlrnjvxq36mszi2ph5v";
+      name = "kaccessible-16.08.0.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kaccounts-integration-16.04.3.tar.xz";
-      sha256 = "0wspjy6xpki8i2qkp289hmgz9cg8vqy50fp3ljljddqcgkxmi8lb";
-      name = "kaccounts-integration-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kaccounts-integration-16.08.0.tar.xz";
+      sha256 = "0fs5y06j0psg0y97z54yv6mv1w88zm1dbvrmzwdckap9iyhgdk5w";
+      name = "kaccounts-integration-16.08.0.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kaccounts-providers-16.04.3.tar.xz";
-      sha256 = "0imnqxcwyk1icbqzhmyz60sv85317w6v2ab3b35vnw65fl7dp7g9";
-      name = "kaccounts-providers-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kaccounts-providers-16.08.0.tar.xz";
+      sha256 = "1sphbdfiqyjcyxvdpbrsfx8jci2k8w1vh56v6hpnv7dn042dmmim";
+      name = "kaccounts-providers-16.08.0.tar.xz";
     };
   };
   kajongg = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kajongg-16.04.3.tar.xz";
-      sha256 = "0v8cvr0xf6895169w1qa9qw5ix3kb2820p6qs6klpn5jhk5v2xk5";
-      name = "kajongg-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kajongg-16.08.0.tar.xz";
+      sha256 = "0ydl7pdlp9nrfpxnkznaj6mwdq8w660flf5y3bgvv8jdxnaz7cyn";
+      name = "kajongg-16.08.0.tar.xz";
     };
   };
   kalarmcal = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kalarmcal-16.04.3.tar.xz";
-      sha256 = "1cp9z52914h6ydzvnk1zhg0s2p4i51rx1d2s8x21n7vh4l7g89js";
-      name = "kalarmcal-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kalarmcal-16.08.0.tar.xz";
+      sha256 = "0ai9h67w6dwsnw18hkxxwmpar4nf3k0zpv6fd1f1y9mvk2xdr6vw";
+      name = "kalarmcal-16.08.0.tar.xz";
     };
   };
   kalgebra = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kalgebra-16.04.3.tar.xz";
-      sha256 = "17ym0q0qzgq4krk47k9vr6im658rryk51589w7r1ixpbzagwiwnv";
-      name = "kalgebra-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kalgebra-16.08.0.tar.xz";
+      sha256 = "0ypwsp8pd72v4h99wcjpjkara3dbzidbjf8xksk7zskyp5c5rqxn";
+      name = "kalgebra-16.08.0.tar.xz";
     };
   };
   kalzium = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kalzium-16.04.3.tar.xz";
-      sha256 = "1dpq0g52qfp3fi4ymynzqalyc2640j52xkkkh85awfmqrprwrrvr";
-      name = "kalzium-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kalzium-16.08.0.tar.xz";
+      sha256 = "0vfylw7nw0f4dfi62ala5v1gkg4zf2g36pdl57afbbq1pc8v1qpf";
+      name = "kalzium-16.08.0.tar.xz";
     };
   };
   kamera = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kamera-16.04.3.tar.xz";
-      sha256 = "10bclanywlz3ac782hp2ahg6dik0q8dsh733w9cxww0v64pg932r";
-      name = "kamera-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kamera-16.08.0.tar.xz";
+      sha256 = "0l0nk3q8m6lww7r8gqdkkhl4s7mv7saxjxs7jkypll1q0686pmk7";
+      name = "kamera-16.08.0.tar.xz";
     };
   };
   kanagram = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kanagram-16.04.3.tar.xz";
-      sha256 = "1pnazqmcjhckywch1wkr8ddncpd2anpx233084raynylkrx5m1fg";
-      name = "kanagram-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kanagram-16.08.0.tar.xz";
+      sha256 = "180hpi4zhmhbmkn9166zpxk9pp3w08pryj33pkq6qcsbsflmnmic";
+      name = "kanagram-16.08.0.tar.xz";
     };
   };
   kapman = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kapman-16.04.3.tar.xz";
-      sha256 = "0hzdbk741mb92fzkdpabrjkpw93yvxjwzj0q4dnlw4alyv90b2hi";
-      name = "kapman-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kapman-16.08.0.tar.xz";
+      sha256 = "1jhiwvi9hx46h1gwf1qmpi6cvyncybhfjsf0m51329cgx2hdfzl5";
+      name = "kapman-16.08.0.tar.xz";
     };
   };
   kapptemplate = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kapptemplate-16.04.3.tar.xz";
-      sha256 = "07d6vbhs5mhqv9275lgplfp8y8cdx395ykncdr6cnpsgh3swn6ck";
-      name = "kapptemplate-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kapptemplate-16.08.0.tar.xz";
+      sha256 = "1zdaafrynh083vqr2b587c862qz0220hinmf9dc345gfss244zzf";
+      name = "kapptemplate-16.08.0.tar.xz";
     };
   };
   kate = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kate-16.04.3.tar.xz";
-      sha256 = "1a8m7wzsxlxmqd6i90ascynrva61r486hqb3y78n34s64q1h9w4d";
-      name = "kate-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kate-16.08.0.tar.xz";
+      sha256 = "0z1fqd73il15y0hpjshhmd0cv6l2s3pm90m9l5k0ggg8vy0l1pqv";
+      name = "kate-16.08.0.tar.xz";
     };
   };
   katomic = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/katomic-16.04.3.tar.xz";
-      sha256 = "1jcb4fz91abbsfmpwsi55k2nbdg6bdazi135fxr4c3cxbm55zrmk";
-      name = "katomic-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/katomic-16.08.0.tar.xz";
+      sha256 = "14g0fiyxmlpwnfw25z3yxdzhixcahxss7rm4k06km37nzxmcca8l";
+      name = "katomic-16.08.0.tar.xz";
     };
   };
   kblackbox = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kblackbox-16.04.3.tar.xz";
-      sha256 = "11zkp7yvwsiw54hvxmf55pw7yf165jrw6z56ak4lp936kb8w4i4v";
-      name = "kblackbox-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kblackbox-16.08.0.tar.xz";
+      sha256 = "0pq9rw1inxm5vjv4bcwklgh90wrz3sirf80v75dy2myiriv02y08";
+      name = "kblackbox-16.08.0.tar.xz";
     };
   };
   kblocks = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kblocks-16.04.3.tar.xz";
-      sha256 = "11wxi7csqrf0scb7nhyvs6vp4gissig83gjpckksy0jkyszi9j2b";
-      name = "kblocks-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kblocks-16.08.0.tar.xz";
+      sha256 = "04si5m0rbshm8h09ln6xqhfnsakrqqm3gi1gyk1agcpa5wr1hfyf";
+      name = "kblocks-16.08.0.tar.xz";
     };
   };
   kblog = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kblog-16.04.3.tar.xz";
-      sha256 = "0g79jb8wz3xhkq933ia7x00g2z9fb2kmif6wssipk6c88llspi70";
-      name = "kblog-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kblog-16.08.0.tar.xz";
+      sha256 = "1qrdxad83dzjc5lpvj7dcghzkryp0anrp97sk7dlkmf1j7mj5w7n";
+      name = "kblog-16.08.0.tar.xz";
     };
   };
   kbounce = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kbounce-16.04.3.tar.xz";
-      sha256 = "0p0zkn9irksf9vb4zh3anbdhq7igjs6lqf2zqk503arjzp3f0aw3";
-      name = "kbounce-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kbounce-16.08.0.tar.xz";
+      sha256 = "13a2xzkym62rxvk3haxjca1n8vx13r093r5dzsn9fb0gwc47p60x";
+      name = "kbounce-16.08.0.tar.xz";
     };
   };
   kbreakout = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kbreakout-16.04.3.tar.xz";
-      sha256 = "1dndpjzgksbwfqimnww4fzr69fifx7n4jrmjfxh51mkapj2p78mg";
-      name = "kbreakout-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kbreakout-16.08.0.tar.xz";
+      sha256 = "1b1z702ify3av1275160sz740z1yyfv4x5jxrdzwf554sy8nqigg";
+      name = "kbreakout-16.08.0.tar.xz";
     };
   };
   kbruch = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kbruch-16.04.3.tar.xz";
-      sha256 = "1f0ws4s6q8p6xn2mhxw039fb331dwk0z6grad20p2m149pw5nc23";
-      name = "kbruch-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kbruch-16.08.0.tar.xz";
+      sha256 = "15v86pdgpdrkaxa75pj39w7c2x89b1gx3inxvpx51rfcjxdiqsz4";
+      name = "kbruch-16.08.0.tar.xz";
     };
   };
   kcachegrind = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcachegrind-16.04.3.tar.xz";
-      sha256 = "1lvql6mm032vhmva95fw6mfkwlpigg1cc2vskhylb0kprjaywc83";
-      name = "kcachegrind-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcachegrind-16.08.0.tar.xz";
+      sha256 = "0bx0viz57d4qabsw0yl3max042wqzcnqkkvyd7yq1mdkjvywl522";
+      name = "kcachegrind-16.08.0.tar.xz";
     };
   };
   kcalc = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcalc-16.04.3.tar.xz";
-      sha256 = "1bb85fjyc2phgy890c7vxn935400zpcnbh46g42qgfd7pbpy9wm6";
-      name = "kcalc-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcalc-16.08.0.tar.xz";
+      sha256 = "1pk52k6cid8gppy5m9psfhq20jdcd1z9930yyj2sp9d5ynbk0hxb";
+      name = "kcalc-16.08.0.tar.xz";
     };
   };
   kcalcore = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcalcore-16.04.3.tar.xz";
-      sha256 = "0m71j3h7ky21858vxlx3d2pv8mpyaf47rpmb8faffjq8gmqi277l";
-      name = "kcalcore-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcalcore-16.08.0.tar.xz";
+      sha256 = "124hybji5j7838gxy69w4cafgrkh8wjh40v0iwqkiaq3nwjv3q0n";
+      name = "kcalcore-16.08.0.tar.xz";
     };
   };
   kcalutils = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcalutils-16.04.3.tar.xz";
-      sha256 = "01kip66agfjmm6fhlaxfnn4rzikwjb4lnx7siir76zzcv1y8qqyx";
-      name = "kcalutils-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcalutils-16.08.0.tar.xz";
+      sha256 = "02dvdxnxl51qml8wmpvay7apq7zww7nf7nqwmli10m79ppdw1jmw";
+      name = "kcalutils-16.08.0.tar.xz";
     };
   };
   kcharselect = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcharselect-16.04.3.tar.xz";
-      sha256 = "0bqbjlhi8vlx141b1p3xfjdn6cfhxbz1m66qya9pyjnvl4vqxkf4";
-      name = "kcharselect-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcharselect-16.08.0.tar.xz";
+      sha256 = "11vyhlx33jjlwp1vri4l1vpzcgi07f86cqcfd84hnyr48v9dnya1";
+      name = "kcharselect-16.08.0.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcolorchooser-16.04.3.tar.xz";
-      sha256 = "1kh19yd2xy3scb3knganl1c09qd5674algb4cmh7l11n1g16mx7p";
-      name = "kcolorchooser-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcolorchooser-16.08.0.tar.xz";
+      sha256 = "0j9s2f2x0vzkl24ajhm8ff1mx6r05j07sjx8v507pbfmxj2h64iz";
+      name = "kcolorchooser-16.08.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcontacts-16.04.3.tar.xz";
-      sha256 = "1y36q145gfp2qzj9yshswz6kpq5v62by2r1g3zp9dp3wl6hvdzb5";
-      name = "kcontacts-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcontacts-16.08.0.tar.xz";
+      sha256 = "063qip4jrcv8qzz1gvq49wjzjsrp8ladaspagqd4jbq65qvnpz96";
+      name = "kcontacts-16.08.0.tar.xz";
     };
   };
   kcron = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kcron-16.04.3.tar.xz";
-      sha256 = "11vy4iz59pfrbdp3z0c9gb7c6h9sps31kc48pjrjiynk6g4xharz";
-      name = "kcron-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kcron-16.08.0.tar.xz";
+      sha256 = "17bhhvni66wx4ihqzqcn9mglidw7r1lak08jgdbnadxj1nalph8l";
+      name = "kcron-16.08.0.tar.xz";
     };
   };
   kde-baseapps = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-baseapps-16.04.3.tar.xz";
-      sha256 = "0silcbkjk7ka81pfnli7qdcvnl5b21ig8q6jc9l10bd14mlgf3ax";
-      name = "kde-baseapps-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-baseapps-16.08.0.tar.xz";
+      sha256 = "0sajfiwij3znmgmayj1d1q4xmzr0j0a4nb6181j3a360vg5zd42f";
+      name = "kde-baseapps-16.08.0.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdebugsettings-16.04.3.tar.xz";
-      sha256 = "18vcikq8ckba7vnkz2lfd613ysn3rjiaxp7v96ngiga1d3x4b3s6";
-      name = "kdebugsettings-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdebugsettings-16.08.0.tar.xz";
+      sha256 = "08w6b514vrg7100d10m6iwqpgh6ap06dh1b79xax0rqlpcpl40yn";
+      name = "kdebugsettings-16.08.0.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-dev-scripts-16.04.3.tar.xz";
-      sha256 = "133nj3n2617zdgv88s0zin1mkssa8f75cpfnqjdbd0xcyv2fyfx3";
-      name = "kde-dev-scripts-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-dev-scripts-16.08.0.tar.xz";
+      sha256 = "197w58zhbm6cs54wa4rxf5hmw9gjyvwpabdlfvn1dzr53fx0wlh1";
+      name = "kde-dev-scripts-16.08.0.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-dev-utils-16.04.3.tar.xz";
-      sha256 = "0h84liwdl0i4dlyk6ybr5pcn953i907jb7crhwp8dh7xa9zyjlim";
-      name = "kde-dev-utils-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-dev-utils-16.08.0.tar.xz";
+      sha256 = "1a1cxr95sgfpzjcdq0b0jny8lwx734xn3nm9axakq614mq1mqhcw";
+      name = "kde-dev-utils-16.08.0.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdeedu-data-16.04.3.tar.xz";
-      sha256 = "0b6lkhp8ljscm8snb0yc5kqxqnhxs0rilrw9v68ybqc6xz1pma0y";
-      name = "kdeedu-data-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdeedu-data-16.08.0.tar.xz";
+      sha256 = "09c9v0h5bys1nx6ll18s91lwghhri1aqnhs86igp81a5k3rgvjf3";
+      name = "kdeedu-data-16.08.0.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdegraphics-mobipocket-16.04.3.tar.xz";
-      sha256 = "119mdbk6zb7ppgqk2p8bmlzqpfmdrbpfb2cdmdw2cawgr0hhpfkm";
-      name = "kdegraphics-mobipocket-16.04.3.tar.xz";
-    };
-  };
-  kdegraphics-strigi-analyzer = {
-    version = "16.04.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdegraphics-strigi-analyzer-16.04.3.tar.xz";
-      sha256 = "05pmzqwf6mixb1za3jni1yc1i6x6dwnk9qz4vflkifqjp1lrx823";
-      name = "kdegraphics-strigi-analyzer-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdegraphics-mobipocket-16.08.0.tar.xz";
+      sha256 = "183dxwfx4d17wzy81jjjh2v1lhi7hi7glwgd5dh208v30h36h1fv";
+      name = "kdegraphics-mobipocket-16.08.0.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdegraphics-thumbnailers-16.04.3.tar.xz";
-      sha256 = "14310riwij79i6f10ld9fsf193bz8k5bhwmkp59h1l6nlhgaxyha";
-      name = "kdegraphics-thumbnailers-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdegraphics-thumbnailers-16.08.0.tar.xz";
+      sha256 = "1i0cfnsh74bic5z4hvrakss55ci3xlfslcmwklp20804ngfkq6h8";
+      name = "kdegraphics-thumbnailers-16.08.0.tar.xz";
     };
   };
   kde-l10n-ar = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ar-16.04.3.tar.xz";
-      sha256 = "1363604cck13wxi2i7n6in7qn2ss3qmqb1zsq2a0848d1y451y63";
-      name = "kde-l10n-ar-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ar-16.08.0.tar.xz";
+      sha256 = "0dkxjb7af1xb3q1c2d4hpl8vn9391fbacfbnahxyil3zqxp0z5i7";
+      name = "kde-l10n-ar-16.08.0.tar.xz";
     };
   };
   kde-l10n-ast = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ast-16.04.3.tar.xz";
-      sha256 = "1a1p60djslk05nxb3m89p95w5k83k9jnwrjs26jfmkk1qi1bhxgp";
-      name = "kde-l10n-ast-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ast-16.08.0.tar.xz";
+      sha256 = "0x7pjg1x5yw76145biwfyrw8b0nx06xbzc57rqvy8k773qr5zilj";
+      name = "kde-l10n-ast-16.08.0.tar.xz";
     };
   };
   kde-l10n-bg = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-bg-16.04.3.tar.xz";
-      sha256 = "0ybrki3ba5wslhk1iwh3z27x0h3nv644mrj0ylzjr51k7nxkyn05";
-      name = "kde-l10n-bg-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-bg-16.08.0.tar.xz";
+      sha256 = "1617b7a1rr43jhj8jdqyircm72jvqcrqqkzl3s8hwi6daprpqik9";
+      name = "kde-l10n-bg-16.08.0.tar.xz";
     };
   };
   kde-l10n-bs = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-bs-16.04.3.tar.xz";
-      sha256 = "02fpi5ahi3s6p347xwy0908kavj6jx6k4gadwv747fwh5c6879dl";
-      name = "kde-l10n-bs-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-bs-16.08.0.tar.xz";
+      sha256 = "1vmk5mmrs0d1123cx5y003lkim1kxc9d8x3flsxkpyb1c155nvpw";
+      name = "kde-l10n-bs-16.08.0.tar.xz";
     };
   };
   kde-l10n-ca = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ca-16.04.3.tar.xz";
-      sha256 = "0dxsnlk6my79c6fx7zxg7ccy8jvkl5pk41mh5rn2savla1f8mg20";
-      name = "kde-l10n-ca-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ca-16.08.0.tar.xz";
+      sha256 = "18m2g0iagiaqfbg1lr1i3z9nm4qva0ipl1rh22p2slqivqcrvg51";
+      name = "kde-l10n-ca-16.08.0.tar.xz";
     };
   };
   kde-l10n-ca_valencia = {
-    version = "ca_valencia-16.04.3";
+    version = "ca_valencia-16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ca@valencia-16.04.3.tar.xz";
-      sha256 = "12i84ii4k94hkgdyxqpysrd7d7jid4swar2kd1vrkx7aw4n331y4";
-      name = "kde-l10n-ca_valencia-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ca@valencia-16.08.0.tar.xz";
+      sha256 = "1h68h6dzkkhpl5rsdw6ykg9prs9l1xbwwm7mqxxljxsd8bmpdv4g";
+      name = "kde-l10n-ca_valencia-16.08.0.tar.xz";
     };
   };
   kde-l10n-cs = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-cs-16.04.3.tar.xz";
-      sha256 = "0x6sk7rgwwk20hfy7b1wm4s062p36rd4j39a7c79wrhwnc1apsqj";
-      name = "kde-l10n-cs-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-cs-16.08.0.tar.xz";
+      sha256 = "0wg84mxj4sbwi3ck4vdva0fbs7gsyr2xjzk6bd49a70ls9icp39x";
+      name = "kde-l10n-cs-16.08.0.tar.xz";
     };
   };
   kde-l10n-da = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-da-16.04.3.tar.xz";
-      sha256 = "1jah412d3yzixlw2wqp29nf2ils4qf9pi5hmafl0qb2ap0jf6p6i";
-      name = "kde-l10n-da-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-da-16.08.0.tar.xz";
+      sha256 = "0jkkqw69bv3r6avcywsxbqy99lbcyfbn3r9ipqcmka3hpss8cf18";
+      name = "kde-l10n-da-16.08.0.tar.xz";
     };
   };
   kde-l10n-de = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-de-16.04.3.tar.xz";
-      sha256 = "0ykxlc8l9kq9zy52rgwfs4ilcxa12s99jzwsfn4wxhhhif3brsxs";
-      name = "kde-l10n-de-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-de-16.08.0.tar.xz";
+      sha256 = "0g6cglysjzzbc67wv29zqikvgzmq928a3arwd50hjvg85dh50w4f";
+      name = "kde-l10n-de-16.08.0.tar.xz";
     };
   };
   kde-l10n-el = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-el-16.04.3.tar.xz";
-      sha256 = "0yjq29l9c5kfqd1qgr8rwln09gss23dk7fisznswzfns9mgwwa5r";
-      name = "kde-l10n-el-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-el-16.08.0.tar.xz";
+      sha256 = "037wiqbw172rkqlq5709arwkdi8qmhrrqc00rhy612x7m075n2ln";
+      name = "kde-l10n-el-16.08.0.tar.xz";
     };
   };
   kde-l10n-en_GB = {
-    version = "en_GB-16.04.3";
+    version = "en_GB-16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-en_GB-16.04.3.tar.xz";
-      sha256 = "1abzb25182sk1xr1ppnfpbibspqccg72wxdg14mzq87c3v126p08";
-      name = "kde-l10n-en_GB-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-en_GB-16.08.0.tar.xz";
+      sha256 = "0nbkijpaxsi365c6q44wq0wbv0bqgpyhrb1d2a3v7lhcb9jv6ci9";
+      name = "kde-l10n-en_GB-16.08.0.tar.xz";
     };
   };
   kde-l10n-eo = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-eo-16.04.3.tar.xz";
-      sha256 = "1lcb2payk5gq6pqj7wgr8q6f2ww3r11szw799xw4mysclnybadl6";
-      name = "kde-l10n-eo-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-eo-16.08.0.tar.xz";
+      sha256 = "1qsl7r9da29hxqs7y0i17zyzvpfxi9h2srdq345ppyxdk3avbvp7";
+      name = "kde-l10n-eo-16.08.0.tar.xz";
     };
   };
   kde-l10n-es = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-es-16.04.3.tar.xz";
-      sha256 = "1grl52msc6i2xbkgabyjkv4mvmiwlyfy51ipmb29rjygqz7xqrnc";
-      name = "kde-l10n-es-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-es-16.08.0.tar.xz";
+      sha256 = "1hm2rvsbrxmci1939iicms5qb1fbm0f1b27zlhgzmf6j3pmg25b3";
+      name = "kde-l10n-es-16.08.0.tar.xz";
     };
   };
   kde-l10n-et = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-et-16.04.3.tar.xz";
-      sha256 = "0a8hkf3yzqzy4sffd3c126icwsfqrhyq3xkqdg0ijz2sph9rx6vd";
-      name = "kde-l10n-et-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-et-16.08.0.tar.xz";
+      sha256 = "0ng6qg7sw3dypn7yg7m8803cpqm39x0b9jn2q0f3jmx46ys9kyyi";
+      name = "kde-l10n-et-16.08.0.tar.xz";
     };
   };
   kde-l10n-eu = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-eu-16.04.3.tar.xz";
-      sha256 = "19083h2yrnw4mpjbx590ypks9ix0axs4lqhd9bria5b5bndhn2pd";
-      name = "kde-l10n-eu-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-eu-16.08.0.tar.xz";
+      sha256 = "0dmiipd0l1dza14fyd17g7qwih4n1fzg2fjkx9vhwdzl5anxmb13";
+      name = "kde-l10n-eu-16.08.0.tar.xz";
     };
   };
   kde-l10n-fa = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-fa-16.04.3.tar.xz";
-      sha256 = "1c23m9s6gzlqbf68c5xqp8brk2q2gqsxskblk0zkial61bwnw77w";
-      name = "kde-l10n-fa-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-fa-16.08.0.tar.xz";
+      sha256 = "129i0fhdxab5k8vjiml0ylyja5hz6dmr3x8qarf0mfspwhi7pkna";
+      name = "kde-l10n-fa-16.08.0.tar.xz";
     };
   };
   kde-l10n-fi = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-fi-16.04.3.tar.xz";
-      sha256 = "1m7cs18wgza50nb2ybasyg7j0l25bkx6zd1dlnfqdrfc9d7mg7ab";
-      name = "kde-l10n-fi-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-fi-16.08.0.tar.xz";
+      sha256 = "1rjzsagskszi14lv1ak6ailfxxiqqq2ry26dz53agq8qd4md19y3";
+      name = "kde-l10n-fi-16.08.0.tar.xz";
     };
   };
   kde-l10n-fr = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-fr-16.04.3.tar.xz";
-      sha256 = "0zhfbqgir92fc5zgll5w68bdkqv24xsp4wp3vvk8cvgfqr7qxjv1";
-      name = "kde-l10n-fr-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-fr-16.08.0.tar.xz";
+      sha256 = "09brqj4xx8apsldxjpx797ggmwv3flm7cbxh39kc3q8c7dpzr4a5";
+      name = "kde-l10n-fr-16.08.0.tar.xz";
     };
   };
   kde-l10n-ga = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ga-16.04.3.tar.xz";
-      sha256 = "1p8vfm4b4w070k841lnsxxgwls8dhdadnf48s4igg2zhcnngg5hk";
-      name = "kde-l10n-ga-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ga-16.08.0.tar.xz";
+      sha256 = "1ig3hvy58p7d3j4h6r1nz8yj65mfpamxajmrg3aid56i8rc81ibk";
+      name = "kde-l10n-ga-16.08.0.tar.xz";
     };
   };
   kde-l10n-gl = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-gl-16.04.3.tar.xz";
-      sha256 = "0l9nr6iqpmacaznl7d02gk6nvd97069qp065qxknsnzzhzxdr8h9";
-      name = "kde-l10n-gl-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-gl-16.08.0.tar.xz";
+      sha256 = "09hrpgxcp2s20d1ia6plkglkhhj8mzfh8d01y0jfc8b1h5br282w";
+      name = "kde-l10n-gl-16.08.0.tar.xz";
     };
   };
   kde-l10n-he = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-he-16.04.3.tar.xz";
-      sha256 = "0dmz0acqdkg56g52nin13mdpii7p7nv5i4bscc6x5wqsvzcg83az";
-      name = "kde-l10n-he-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-he-16.08.0.tar.xz";
+      sha256 = "09zf3a0gbs5h5r3mrpc9gkd4l2j9nw1k7vdwahxjpsdhvs1bwx3h";
+      name = "kde-l10n-he-16.08.0.tar.xz";
     };
   };
   kde-l10n-hi = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-hi-16.04.3.tar.xz";
-      sha256 = "0ywk9ylf8zjpf5cqchyziw2jmk27nhp0kgjj9a4cg88091q0ix4p";
-      name = "kde-l10n-hi-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-hi-16.08.0.tar.xz";
+      sha256 = "1xvvkl5pr3w0s1pizarg0mmkvckxss944a188avqfsqrav642458";
+      name = "kde-l10n-hi-16.08.0.tar.xz";
     };
   };
   kde-l10n-hr = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-hr-16.04.3.tar.xz";
-      sha256 = "1cjdp3bm1mf50cdnr389gb58si2n8ylmgmw8xyx974ha7v6mxf71";
-      name = "kde-l10n-hr-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-hr-16.08.0.tar.xz";
+      sha256 = "0cyz0ysz9xr93dlq2n758nw2kyi2f8b7h3gr4im7syj05nk0fhb6";
+      name = "kde-l10n-hr-16.08.0.tar.xz";
     };
   };
   kde-l10n-hu = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-hu-16.04.3.tar.xz";
-      sha256 = "12mlm3gczb24k66yxk3spqimzknybpgz9piprrbxabdiha8p11iw";
-      name = "kde-l10n-hu-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-hu-16.08.0.tar.xz";
+      sha256 = "0imcb7zd7rzf2nc8darlj4i843gha3ihbi0lvh6pnnmcxvc2dzdh";
+      name = "kde-l10n-hu-16.08.0.tar.xz";
     };
   };
   kde-l10n-ia = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ia-16.04.3.tar.xz";
-      sha256 = "1855ydjczfkn70s3vmdvg0qi06ix0rqp9ry49w15mmb23np8qmg2";
-      name = "kde-l10n-ia-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ia-16.08.0.tar.xz";
+      sha256 = "1x14165y0qvpjn3mkg03l4p0mij9a6haxkrbkkqvv1waapifyxsl";
+      name = "kde-l10n-ia-16.08.0.tar.xz";
     };
   };
   kde-l10n-id = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-id-16.04.3.tar.xz";
-      sha256 = "0ljpg8iz1vjryp9arwr3wr66lscb6r0yd25wssxzsanfp595zhw4";
-      name = "kde-l10n-id-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-id-16.08.0.tar.xz";
+      sha256 = "1mf3viq3yligqg8vqca31ybs9s59nxmylvwqmg8ndy9ni4mni2wx";
+      name = "kde-l10n-id-16.08.0.tar.xz";
     };
   };
   kde-l10n-is = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-is-16.04.3.tar.xz";
-      sha256 = "0xn7a701r80lqgbskkaca085fbkwnv872ph3p2hsiz3ps4aqp4sc";
-      name = "kde-l10n-is-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-is-16.08.0.tar.xz";
+      sha256 = "07xdlvk3nqc9wsrnd1a0hm6igwc0hnryffs99jvd0dlbq0hzakl3";
+      name = "kde-l10n-is-16.08.0.tar.xz";
     };
   };
   kde-l10n-it = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-it-16.04.3.tar.xz";
-      sha256 = "06sbcp6maf316lr9vsa7922qqymrnj2ppyypx0vjzxswqwgykhvp";
-      name = "kde-l10n-it-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-it-16.08.0.tar.xz";
+      sha256 = "05xir0spl5fbyynwjkf13zzqgwl1mzi97bfjfi1x8jhiq0jqhafn";
+      name = "kde-l10n-it-16.08.0.tar.xz";
     };
   };
   kde-l10n-ja = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ja-16.04.3.tar.xz";
-      sha256 = "0p3d9zy6l4axj7p97b2q57ccwkglhamlbfjfw6kk5c26qxss9ig4";
-      name = "kde-l10n-ja-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ja-16.08.0.tar.xz";
+      sha256 = "1gdngf075021750rxfbrcbbh8wb1nknzclgghsj8j94qb96ij87m";
+      name = "kde-l10n-ja-16.08.0.tar.xz";
     };
   };
   kde-l10n-kk = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-kk-16.04.3.tar.xz";
-      sha256 = "0538hxcy2yc007m2bji8jjhdifdgyf7azbk32qn54bkvliis70l2";
-      name = "kde-l10n-kk-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-kk-16.08.0.tar.xz";
+      sha256 = "0y5qdnkdhc7lnd3casxil757mmklsysm8kvs9i09j4b5ldmkin0r";
+      name = "kde-l10n-kk-16.08.0.tar.xz";
     };
   };
   kde-l10n-km = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-km-16.04.3.tar.xz";
-      sha256 = "0b1vryn61pf3dqac4rn6hjznrrdylvsx8bsyamvhry7grdnaq9fp";
-      name = "kde-l10n-km-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-km-16.08.0.tar.xz";
+      sha256 = "0a27rhjf40q5003jy3aancaf9qnygmfqk4g7jic1x1d64n3khz9c";
+      name = "kde-l10n-km-16.08.0.tar.xz";
     };
   };
   kde-l10n-ko = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ko-16.04.3.tar.xz";
-      sha256 = "05k261wxvl9plxx6fsx8y6paaqykmsmq5flv9jcgj958llq4d0a1";
-      name = "kde-l10n-ko-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ko-16.08.0.tar.xz";
+      sha256 = "0g8plf0z329xyiwi4aia96i3psypqsx9wfhnb26kwwgl6vjd4nin";
+      name = "kde-l10n-ko-16.08.0.tar.xz";
     };
   };
   kde-l10n-lt = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-lt-16.04.3.tar.xz";
-      sha256 = "1wk6q7i1p7nwa2dl4zqyqja2m615d5ghhn8hnkcnfpc2prslr3lr";
-      name = "kde-l10n-lt-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-lt-16.08.0.tar.xz";
+      sha256 = "0c5akrzfmjkrf4z8p5yfy9f3q8p6bf3l97aajcj2jzqxmxqrkgxz";
+      name = "kde-l10n-lt-16.08.0.tar.xz";
     };
   };
   kde-l10n-lv = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-lv-16.04.3.tar.xz";
-      sha256 = "153vdr9q8zp3rm4h2paxg6gm8dk3d6vdvrg9wsk21s1pc2d3kha6";
-      name = "kde-l10n-lv-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-lv-16.08.0.tar.xz";
+      sha256 = "1l0yfc4999sjl01m07rmzw2h9cd0pw2d9j4wa7fjs2pf89z5z2y6";
+      name = "kde-l10n-lv-16.08.0.tar.xz";
     };
   };
   kde-l10n-mr = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-mr-16.04.3.tar.xz";
-      sha256 = "1lmrs5vihb7zkl15mqihxb5vcrrzphzmfinmkbfb43sw91il8hiq";
-      name = "kde-l10n-mr-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-mr-16.08.0.tar.xz";
+      sha256 = "0jnrycqxszxq7mw7kwyhprb7pmrqz5v9kkhqf2bm4k9mf5553a0w";
+      name = "kde-l10n-mr-16.08.0.tar.xz";
     };
   };
   kde-l10n-nb = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-nb-16.04.3.tar.xz";
-      sha256 = "03a1d8dzpbzbpd7sr718mwaaihyhvfwfkln09cnahykdykmnb545";
-      name = "kde-l10n-nb-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-nb-16.08.0.tar.xz";
+      sha256 = "1ga30ki4yaa4ajbrjp0fz75r67cvrc801skx31x6d1cw6xjyi72l";
+      name = "kde-l10n-nb-16.08.0.tar.xz";
     };
   };
   kde-l10n-nds = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-nds-16.04.3.tar.xz";
-      sha256 = "0716l1al3wi6ws2n25gdc845k1536nbxlxskvy1k2cravlabk2j6";
-      name = "kde-l10n-nds-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-nds-16.08.0.tar.xz";
+      sha256 = "1ibv7rq1ap5zmal4bf8a8z285mf6g55bcmli67gvhwfvy13vkg9s";
+      name = "kde-l10n-nds-16.08.0.tar.xz";
     };
   };
   kde-l10n-nl = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-nl-16.04.3.tar.xz";
-      sha256 = "1jy8shpfm7fvkzcg85w1b7h6pcl01hy3dk99cd9plaqgs25z5hg7";
-      name = "kde-l10n-nl-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-nl-16.08.0.tar.xz";
+      sha256 = "0pysm6sjdls14d8cqmywnljwk2k94q9z7rdm7m3p75p4q778drda";
+      name = "kde-l10n-nl-16.08.0.tar.xz";
     };
   };
   kde-l10n-nn = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-nn-16.04.3.tar.xz";
-      sha256 = "1parcwfwkqs8n784k2mqlpn4gly6mk72akfa0k5250w198qcc1m9";
-      name = "kde-l10n-nn-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-nn-16.08.0.tar.xz";
+      sha256 = "1v3q9jr6ginh24ph99qyb57phm86zwph3xv6zbymg61vghv398q2";
+      name = "kde-l10n-nn-16.08.0.tar.xz";
     };
   };
   kde-l10n-pa = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-pa-16.04.3.tar.xz";
-      sha256 = "172p45xxpzh8ifiq35fzi42vad2icj5rpwqbswkd56dgvv8m6xwm";
-      name = "kde-l10n-pa-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-pa-16.08.0.tar.xz";
+      sha256 = "10c1c6hql80x714msa45cpbgl4nagaf9mydfb160lsvaa1whzzbd";
+      name = "kde-l10n-pa-16.08.0.tar.xz";
     };
   };
   kde-l10n-pl = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-pl-16.04.3.tar.xz";
-      sha256 = "0nmjd68h4ybn68al8nhnzc9gj78j5zfzsy9h6kl6yzydgxsid9sc";
-      name = "kde-l10n-pl-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-pl-16.08.0.tar.xz";
+      sha256 = "1xz33a9af2ccl249ymaqawz1ymrxa5zwhg2gayxk5jmv2fsvhikp";
+      name = "kde-l10n-pl-16.08.0.tar.xz";
     };
   };
   kde-l10n-pt = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-pt-16.04.3.tar.xz";
-      sha256 = "03c0hwf0sc75kw81h0adbcmp6vi6ngjgq3bk1v7lqz12c3nkc6mf";
-      name = "kde-l10n-pt-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-pt-16.08.0.tar.xz";
+      sha256 = "1wp0i6mlk4nhd7v502kc4gh7zymgiakqlx3jjpjaqsv31igya406";
+      name = "kde-l10n-pt-16.08.0.tar.xz";
     };
   };
   kde-l10n-pt_BR = {
-    version = "pt_BR-16.04.3";
+    version = "pt_BR-16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-pt_BR-16.04.3.tar.xz";
-      sha256 = "1s068mz6r0crqw3jqix9x94dcwk7z9nr4jisxlj8lwfa13qb20a1";
-      name = "kde-l10n-pt_BR-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-pt_BR-16.08.0.tar.xz";
+      sha256 = "0nv8k2fn8jdv80vcwiri5w937qcp2gj8bjmi3hcc9qirdqh8wjap";
+      name = "kde-l10n-pt_BR-16.08.0.tar.xz";
     };
   };
   kde-l10n-ro = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ro-16.04.3.tar.xz";
-      sha256 = "0g2w1pjcwc1rk9fsqwmlv9a6hxxqzwcf8r889qcf4vrkra3xdfy8";
-      name = "kde-l10n-ro-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ro-16.08.0.tar.xz";
+      sha256 = "0bqw4zb5hz1wccgicyfd8d8zzhq69jf16f3qr6c6ry345hkx1ywm";
+      name = "kde-l10n-ro-16.08.0.tar.xz";
     };
   };
   kde-l10n-ru = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ru-16.04.3.tar.xz";
-      sha256 = "03jvisz6y2g3y1ci384dn7gb16lcx41cx0xvn4m1mkrry0ij0s4y";
-      name = "kde-l10n-ru-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ru-16.08.0.tar.xz";
+      sha256 = "1pi549z9wzjsaixn246wq9bqkgy2azhwccwhyy5d0d442d23xwqv";
+      name = "kde-l10n-ru-16.08.0.tar.xz";
     };
   };
   kde-l10n-sk = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-sk-16.04.3.tar.xz";
-      sha256 = "14jy06js16slf1qv20mkw05l06ragf5zcskzzm772q66y1qd712r";
-      name = "kde-l10n-sk-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-sk-16.08.0.tar.xz";
+      sha256 = "09lyhmiishxiihnpv9lli329zl4v05q3578ib5nrzrkrlky512m9";
+      name = "kde-l10n-sk-16.08.0.tar.xz";
     };
   };
   kde-l10n-sl = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-sl-16.04.3.tar.xz";
-      sha256 = "0nq1g4hc3lnd4xwmlfa7lqical0k5rag4mw2xxgakpkhpwij5ff0";
-      name = "kde-l10n-sl-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-sl-16.08.0.tar.xz";
+      sha256 = "1maz22c0mp8bgj1rcg0ms2cncx0gg82diwpb930shjmivr8zhmrd";
+      name = "kde-l10n-sl-16.08.0.tar.xz";
     };
   };
   kde-l10n-sr = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-sr-16.04.3.tar.xz";
-      sha256 = "0qc5lfdfj45hpxly2bdy3h65qgq96k2sym56mwb52305dv380qlz";
-      name = "kde-l10n-sr-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-sr-16.08.0.tar.xz";
+      sha256 = "190ww2065537lny8jnm81lqcxpfllhf45snj93zl41pcva4zw4jg";
+      name = "kde-l10n-sr-16.08.0.tar.xz";
     };
   };
   kde-l10n-sv = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-sv-16.04.3.tar.xz";
-      sha256 = "08rh3waajhynyllnvsghmspxqxr23lk0w5x0r61c2wzcqsvmj8xg";
-      name = "kde-l10n-sv-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-sv-16.08.0.tar.xz";
+      sha256 = "0bl1qz3zqrq8vjbnacvdym9yzycpjhgy62r2577h2ybds31fj81n";
+      name = "kde-l10n-sv-16.08.0.tar.xz";
     };
   };
   kde-l10n-tr = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-tr-16.04.3.tar.xz";
-      sha256 = "04fqm0hlzc77hmxkycgd04vhfq9szgf0r16liaxgd03k0p8nk54x";
-      name = "kde-l10n-tr-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-tr-16.08.0.tar.xz";
+      sha256 = "1gbm055f4cbcl1h9k2r6fnjnnjj5wss8zyyc16id57ydzvnkdbi1";
+      name = "kde-l10n-tr-16.08.0.tar.xz";
     };
   };
   kde-l10n-ug = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-ug-16.04.3.tar.xz";
-      sha256 = "03dk6n5qp5qdgqbrlji9pz9lbi0kdq0w7pgk2f91xgfhnhd6c68b";
-      name = "kde-l10n-ug-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-ug-16.08.0.tar.xz";
+      sha256 = "1hqdh0v83yvn4hnl51hsabkcbn5rhw0xcwn4nzqm6q2ib68rzhal";
+      name = "kde-l10n-ug-16.08.0.tar.xz";
     };
   };
   kde-l10n-uk = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-uk-16.04.3.tar.xz";
-      sha256 = "0d9xxh2avammp662nsxgj57bzp38wbv56hvbzpscr3qfmyqhdndc";
-      name = "kde-l10n-uk-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-uk-16.08.0.tar.xz";
+      sha256 = "00ijcfs6688d822iwg85msk8hxl7qhq5lx3bkw1xwdnmqf0nlxqj";
+      name = "kde-l10n-uk-16.08.0.tar.xz";
     };
   };
   kde-l10n-wa = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-wa-16.04.3.tar.xz";
-      sha256 = "0hjcn24i96qsvdsf2jhghb2jmgc6z9z2xx7ldkgrq5949vf0dcb0";
-      name = "kde-l10n-wa-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-wa-16.08.0.tar.xz";
+      sha256 = "0g9jjpn6fzkdvy16mw1yhahrv5y2ybjwi091c01sh9c9rwfj5qpg";
+      name = "kde-l10n-wa-16.08.0.tar.xz";
     };
   };
   kde-l10n-zh_CN = {
-    version = "zh_CN-16.04.3";
+    version = "zh_CN-16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-zh_CN-16.04.3.tar.xz";
-      sha256 = "19qnnd4lkqf3zd4l3c0ffprd6y0bqdyrvsmhm2jlhx4z7m3c491q";
-      name = "kde-l10n-zh_CN-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-zh_CN-16.08.0.tar.xz";
+      sha256 = "0997azdrq2i4rfijchr3jz9b6why4hm79cddn1c7wdk3943xz094";
+      name = "kde-l10n-zh_CN-16.08.0.tar.xz";
     };
   };
   kde-l10n-zh_TW = {
-    version = "zh_TW-16.04.3";
+    version = "zh_TW-16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-l10n/kde-l10n-zh_TW-16.04.3.tar.xz";
-      sha256 = "0kd0lkv3i4nlkgv9wapsyinv407np91h2hh14whkl2dx9mvmd7g1";
-      name = "kde-l10n-zh_TW-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-l10n/kde-l10n-zh_TW-16.08.0.tar.xz";
+      sha256 = "04d1awymijlkp2q15vjzs7j6aznpsb4kivc6jx24ly7cp3vn66zm";
+      name = "kde-l10n-zh_TW-16.08.0.tar.xz";
     };
   };
   kdelibs = {
-    version = "4.14.22";
+    version = "4.14.23";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdelibs-4.14.22.tar.xz";
-      sha256 = "0rym674pr05in9wghhbwprlw5648ynnklfb858wxj9f3kvlsbjph";
-      name = "kdelibs-4.14.22.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdelibs-4.14.23.tar.xz";
+      sha256 = "1k8zn5fmdjrb1v45czz80bvnyp1cbajgsbp2qb988m3k5p7nxzis";
+      name = "kdelibs-4.14.23.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdenetwork-filesharing-16.04.3.tar.xz";
-      sha256 = "05kb0q6krfkx8hm6pxb6qx6ihd0r300qpibk62dj0v4qzvz4fqvl";
-      name = "kdenetwork-filesharing-16.04.3.tar.xz";
-    };
-  };
-  kdenetwork-strigi-analyzers = {
-    version = "16.04.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdenetwork-strigi-analyzers-16.04.3.tar.xz";
-      sha256 = "1hhlpj9dzkmg3ajia5mjsxcaq27yl35cpy99afx67n3nb3wf9113";
-      name = "kdenetwork-strigi-analyzers-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdenetwork-filesharing-16.08.0.tar.xz";
+      sha256 = "075vimzf0arlkcsnvaq75zipz4w02nx9gcy6vcbwb914ljf05cc1";
+      name = "kdenetwork-filesharing-16.08.0.tar.xz";
     };
   };
   kdenlive = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdenlive-16.04.3.tar.xz";
-      sha256 = "0354pcfjs9xndh4mb0x4sryg0l9rvmb0qjw45053yg6lq6b3zbym";
-      name = "kdenlive-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdenlive-16.08.0.tar.xz";
+      sha256 = "1qmhqbawxzl3plh6aa9kqcviwm6c4sqa9qi4npn64mjvwap1b9qd";
+      name = "kdenlive-16.08.0.tar.xz";
     };
   };
   kdepim = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdepim-16.04.3.tar.xz";
-      sha256 = "1drvf4q50bknm2b806bzi2v80mlrmj1c5d6wpmrmy7f8pp2z7kj2";
-      name = "kdepim-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdepim-16.08.0.tar.xz";
+      sha256 = "0jcndq5j0j5vyp9k25gbnd18yyfigg0vdrqrsl2m6ybsgwyf3l02";
+      name = "kdepim-16.08.0.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdepim-addons-16.04.3.tar.xz";
-      sha256 = "1gnazsd3ihghccna0880c1nlqv938q3jnn613hxa5p25j9mgvn89";
-      name = "kdepim-addons-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdepim-addons-16.08.0.tar.xz";
+      sha256 = "0r5v8q6pila5diqgfny3ky8c94p8rrf1qg5zwa433xpdmz8ip2jg";
+      name = "kdepim-addons-16.08.0.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "16.04.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdepim-apps-libs-16.04.3.tar.xz";
-      sha256 = "08xrpdq6d51gimi3qs1njvv7h1pl0gwpkifxxn56nznjdrgl37l3";
-      name = "kdepim-apps-libs-16.04.3.tar.xz";
-    };
-  };
-  kdepimlibs = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdepimlibs-16.04.3.tar.xz";
-      sha256 = "02nj4hml6wns6hkpc7vm0swjfalm5rhrwd33izkyqzp30gyz2bc6";
-      name = "kdepimlibs-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdepim-apps-libs-16.08.0.tar.xz";
+      sha256 = "1l8y0a52snxzbp245w9m55b3qx9v7wcdh2b046hx0isw8i65jial";
+      name = "kdepim-apps-libs-16.08.0.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdepim-runtime-16.04.3.tar.xz";
-      sha256 = "129b94nsnwai4fd2rg3zqc5p8k1i7dq0l5z7hai15p5naab7541j";
-      name = "kdepim-runtime-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdepim-runtime-16.08.0.tar.xz";
+      sha256 = "19hc43xiw1g268nkrbg370qmnnmmmnxzgscx88fxb2pnlvqkz0fb";
+      name = "kdepim-runtime-16.08.0.tar.xz";
     };
   };
   kde-runtime = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kde-runtime-16.04.3.tar.xz";
-      sha256 = "0pahf8rz4dfwl7c6q8liv6c4rmhiwnv03kfvj4j8lnrhif20y3k9";
-      name = "kde-runtime-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kde-runtime-16.08.0.tar.xz";
+      sha256 = "0k8snjk12abp9bpyc3q6rs46s972czb7jdsphjld8k448hz102kk";
+      name = "kde-runtime-16.08.0.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "16.04.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdesdk-kioslaves-16.04.3.tar.xz";
-      sha256 = "15ijhxd7x9mvpfsjv3xbs6l6nvbwa7d6sf25aa2j4h2qxx1qsq2l";
-      name = "kdesdk-kioslaves-16.04.3.tar.xz";
-    };
-  };
-  kdesdk-strigi-analyzers = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdesdk-strigi-analyzers-16.04.3.tar.xz";
-      sha256 = "1pyqw7vg0r5amma6jjjdwgspig4w0rawj0671qv9v3rgnvxqkcq4";
-      name = "kdesdk-strigi-analyzers-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdesdk-kioslaves-16.08.0.tar.xz";
+      sha256 = "04ci03wyhh7wxvjl0a4rdav2rc1xgz16ylcbswr0aphbacprqckj";
+      name = "kdesdk-kioslaves-16.08.0.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdesdk-thumbnailers-16.04.3.tar.xz";
-      sha256 = "1yh4cddpqx6f6xw9rpxwvnw8d31psdgy4gcrd68115jan4r7ppxh";
-      name = "kdesdk-thumbnailers-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdesdk-thumbnailers-16.08.0.tar.xz";
+      sha256 = "1a6iiwamzycc25nn8phip17yajyzpn57smsg9rghl8wq057mcllg";
+      name = "kdesdk-thumbnailers-16.08.0.tar.xz";
     };
   };
   kdewebdev = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdewebdev-16.04.3.tar.xz";
-      sha256 = "1lkhv4flg7rdsn6wrrnmzqgdwhi9bjisapgsdgr68hqypzhfvbjm";
-      name = "kdewebdev-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdewebdev-16.08.0.tar.xz";
+      sha256 = "0x7fp4d2s1zi3kawzjzqlhla0bv0ai66k5bldpg58bpbs56h9f1n";
+      name = "kdewebdev-16.08.0.tar.xz";
     };
   };
   kdf = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdf-16.04.3.tar.xz";
-      sha256 = "1za42wv569phlfdkdhb9v9hnz8561f8jvyh2vdjb070bkylipk5k";
-      name = "kdf-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdf-16.08.0.tar.xz";
+      sha256 = "1cj4wkndbl0ywfy6sj6bsar0v5bc0cxh9d8qd7x0m15qnsx43j44";
+      name = "kdf-16.08.0.tar.xz";
     };
   };
   kdgantt2 = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdgantt2-16.04.3.tar.xz";
-      sha256 = "0xdm105c01svxryxg9jy8sqg9s8jdhm5jmvn662mj50m0nllvqm6";
-      name = "kdgantt2-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdgantt2-16.08.0.tar.xz";
+      sha256 = "1kbzx5gxyph5cr1m6g6kw3f988p3aq121k6a3hb2ddjgg8yqaxmi";
+      name = "kdgantt2-16.08.0.tar.xz";
     };
   };
   kdiamond = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kdiamond-16.04.3.tar.xz";
-      sha256 = "13rili5pp2zgbdgnr65gy43rlwnjigr3rqp954rbfh16pkdxsjzw";
-      name = "kdiamond-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kdiamond-16.08.0.tar.xz";
+      sha256 = "0fpjgkfdzw8kgag3b9rrxyahl6kcmfvlrzw2jci8sz40vd69qw53";
+      name = "kdiamond-16.08.0.tar.xz";
     };
   };
   kfloppy = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kfloppy-16.04.3.tar.xz";
-      sha256 = "16mrfk8bqp1fnldxxrpycyx0wg87v2szs406jj1qfyywrz8w76b7";
-      name = "kfloppy-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kfloppy-16.08.0.tar.xz";
+      sha256 = "06nmaimw6lch5cdkmvb4x7dpb3d7zcsr7wzvhhh9bbygc3rmhi17";
+      name = "kfloppy-16.08.0.tar.xz";
     };
   };
   kfourinline = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kfourinline-16.04.3.tar.xz";
-      sha256 = "1ar4lglxy2dpmvl0s68wkmibn7m4qy8paxzhvh3pq95dcbvcg8yp";
-      name = "kfourinline-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kfourinline-16.08.0.tar.xz";
+      sha256 = "0zjq3x6ghfa5ckjba4bfwiacwy3yvby3a951bfw5rh813mgn7zsj";
+      name = "kfourinline-16.08.0.tar.xz";
     };
   };
   kgeography = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kgeography-16.04.3.tar.xz";
-      sha256 = "0kqc39i8yj9jah52fc5afh4g94l07faq4jv0si0b3c17x7q64nwh";
-      name = "kgeography-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kgeography-16.08.0.tar.xz";
+      sha256 = "1cgghdxgqxxjhfmsqwnyrw7lzzshnbmi9frnc9gk4hc3w767nyqs";
+      name = "kgeography-16.08.0.tar.xz";
     };
   };
   kget = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kget-16.04.3.tar.xz";
-      sha256 = "05sz7r6idkaskf193ryam83g77rzdz96wp1sqs36lr9x513bb5fh";
-      name = "kget-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kget-16.08.0.tar.xz";
+      sha256 = "1ygm6l8xxdyi7dzii4hfp0mpwjhyizmrzmhkcmv708z7api19ms8";
+      name = "kget-16.08.0.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kgoldrunner-16.04.3.tar.xz";
-      sha256 = "1rd6k64qkpa9hz1k2x9sv018fqzv57l74rv78rv54czrc9b0wdby";
-      name = "kgoldrunner-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kgoldrunner-16.08.0.tar.xz";
+      sha256 = "1xmm2wq8f3pc67ip4hz9x3qqpav1rxm2nqdcbn2z7bivcdmv99jr";
+      name = "kgoldrunner-16.08.0.tar.xz";
     };
   };
   kgpg = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kgpg-16.04.3.tar.xz";
-      sha256 = "0fr3dvfrp6yy9b82k4rc4izwyxvvg2yqz2fq4s6srcsn65rkspv8";
-      name = "kgpg-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kgpg-16.08.0.tar.xz";
+      sha256 = "1d0zfhq5ks5an9716n0b9a8xbwsnm8p7vl701gn8jpzb4w9cvrns";
+      name = "kgpg-16.08.0.tar.xz";
     };
   };
   khangman = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/khangman-16.04.3.tar.xz";
-      sha256 = "0y63sr4q99j7m3yb6hdnydg3rl9hampkpy05qfz9jdm2znq6j1iw";
-      name = "khangman-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/khangman-16.08.0.tar.xz";
+      sha256 = "070556i32fcrbirgwpf04ijqwv8izxmhrbf0rwwldrn3lky2mpfa";
+      name = "khangman-16.08.0.tar.xz";
     };
   };
   khelpcenter = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/khelpcenter-16.04.3.tar.xz";
-      sha256 = "1hlwlaja1dwjszyig17f2kfma6li2nqi76yyagfk0b35w8fk50d9";
-      name = "khelpcenter-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/khelpcenter-16.08.0.tar.xz";
+      sha256 = "1js8jxain4w1iz3xs9098js17rf1mnhcfl46qqsc5ks2909450h1";
+      name = "khelpcenter-16.08.0.tar.xz";
     };
   };
   kholidays = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kholidays-16.04.3.tar.xz";
-      sha256 = "0p52bkysjfd7w24si2dcq7yv7diig2wz1a7x2c7vzwv9qw39m3g6";
-      name = "kholidays-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kholidays-16.08.0.tar.xz";
+      sha256 = "0q87d55wf1qpqn0mjymhx316rqdcwg4w7hn8l0c221g9zyzd53qk";
+      name = "kholidays-16.08.0.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kidentitymanagement-16.04.3.tar.xz";
-      sha256 = "1nv5nda3wkdhwh3lggb0pmcs4h9csh4kziw6nlk0q9iyymrkf2y0";
-      name = "kidentitymanagement-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kidentitymanagement-16.08.0.tar.xz";
+      sha256 = "05k7m4vg5s5ks4wsk4xx5ncnbl4gy0w59xdhwyy01vg8hawnldlj";
+      name = "kidentitymanagement-16.08.0.tar.xz";
     };
   };
   kig = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kig-16.04.3.tar.xz";
-      sha256 = "162ixbnb9y2h5q358m3cw51c2xapx6rb8yi9q3460jnhxmhvij7p";
-      name = "kig-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kig-16.08.0.tar.xz";
+      sha256 = "0nm3d1wxhfkxhbab5y3h8scriyy9l35r34rd77pmk00khsl0d965";
+      name = "kig-16.08.0.tar.xz";
     };
   };
   kigo = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kigo-16.04.3.tar.xz";
-      sha256 = "0324f2mjia73cq2v3kdipw81nsl2q74ziqhxqb9vrjk1jlpq8fhj";
-      name = "kigo-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kigo-16.08.0.tar.xz";
+      sha256 = "0k9hjbaysiqjn9bgj7pvix0ag1ksyqdcwfdz5rxvvv6l6j3c96hs";
+      name = "kigo-16.08.0.tar.xz";
     };
   };
   killbots = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/killbots-16.04.3.tar.xz";
-      sha256 = "15jspfavyka86djb19fq7h1x573l7nsb5d8p2zfgrc1qiw794h0h";
-      name = "killbots-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/killbots-16.08.0.tar.xz";
+      sha256 = "05irljnrkmw2mp7v4hmindhnw7ww26abnibb8fqmj72ryck39asg";
+      name = "killbots-16.08.0.tar.xz";
     };
   };
   kimap = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kimap-16.04.3.tar.xz";
-      sha256 = "0d3ckh7b6jdpwl2cqq93mz0gw6gfa7a0qbvgsrmzl25v1898dbda";
-      name = "kimap-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kimap-16.08.0.tar.xz";
+      sha256 = "1k08m16kpf94w827n4j69sr2v7a855ap8ghg56vhfn24kbxrw9m8";
+      name = "kimap-16.08.0.tar.xz";
     };
   };
   kio-extras = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kio-extras-16.04.3.tar.xz";
-      sha256 = "1sxg7jaklqxaw7s05a83x769f430085wx7bqlbl9xwqdmpbnj3hh";
-      name = "kio-extras-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kio-extras-16.08.0.tar.xz";
+      sha256 = "03axqhn9f7bdjzflmncxxbvbn0lwyia65qshis4ysqkd0sh0rinn";
+      name = "kio-extras-16.08.0.tar.xz";
     };
   };
   kiriki = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kiriki-16.04.3.tar.xz";
-      sha256 = "1jk5v2z8ivc4q3zcaxmch7kym7pizch1fqpbrvql1ilfbmjgjjp9";
-      name = "kiriki-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kiriki-16.08.0.tar.xz";
+      sha256 = "0jz6nm6371z60yrszs0c61sq2b5ny304v5j5bvcd0nx4prdri302";
+      name = "kiriki-16.08.0.tar.xz";
     };
   };
   kiten = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kiten-16.04.3.tar.xz";
-      sha256 = "1rjb9icam7plqj8bhd7gfhbmwa381nszk1f7ibpgwxh1416njg1l";
-      name = "kiten-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kiten-16.08.0.tar.xz";
+      sha256 = "1jxxm14ghmmcy6vyzl1r4vz0a63nvykcaqh2pydab0a3b8l2s93b";
+      name = "kiten-16.08.0.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kjumpingcube-16.04.3.tar.xz";
-      sha256 = "07zz862l1s348shkj9mbwppz54cqa5plw3jdca3fh5spfnllvhm0";
-      name = "kjumpingcube-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kjumpingcube-16.08.0.tar.xz";
+      sha256 = "1kwgqzlwnb8699pdja4w3d7iv25a7ma121p36pvmh457s8zlgwhl";
+      name = "kjumpingcube-16.08.0.tar.xz";
     };
   };
   kldap = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kldap-16.04.3.tar.xz";
-      sha256 = "01vm2q2sxzwapq7qhsgw5vaplsawmvcrd0virwc5k83viy8jxbi4";
-      name = "kldap-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kldap-16.08.0.tar.xz";
+      sha256 = "03wsvgw5rv4l01iprz2pp0sqvmkyqgk6pgbqk5dfiy8zxiij3j95";
+      name = "kldap-16.08.0.tar.xz";
     };
   };
   kleopatra = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kleopatra-16.04.3.tar.xz";
-      sha256 = "02hbdc976k304qfiak2iy34s8rcqyj8fgbz8p0yfpkh8jxrvgbym";
-      name = "kleopatra-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kleopatra-16.08.0.tar.xz";
+      sha256 = "143w1jclw4r7790mygc6a6rrh0x6r98ai699mn351ai9r9z4cfx5";
+      name = "kleopatra-16.08.0.tar.xz";
     };
   };
   klettres = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/klettres-16.04.3.tar.xz";
-      sha256 = "0xbxvzw3vskna4sxi8yy3z9d80dpjzgpark5wnyclyrdnkla9973";
-      name = "klettres-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/klettres-16.08.0.tar.xz";
+      sha256 = "1wfnlci02w5llrckbjfjbi6xk2h43bq98m4zgpib5nk8ib4jaffn";
+      name = "klettres-16.08.0.tar.xz";
     };
   };
   klickety = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/klickety-16.04.3.tar.xz";
-      sha256 = "12d700laya9apgp5pvrc2vpbz2d1l8dl8q37ccmkixh6dxf78z0c";
-      name = "klickety-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/klickety-16.08.0.tar.xz";
+      sha256 = "1jz02spcr46id1qbxmc9wwgws48p3cbqdy032a563c8hacqgac32";
+      name = "klickety-16.08.0.tar.xz";
     };
   };
   klines = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/klines-16.04.3.tar.xz";
-      sha256 = "0xybhlz7m0k4dnxzpxjsx0fk715scjdly9ahdzcwdkf83vd52x97";
-      name = "klines-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/klines-16.08.0.tar.xz";
+      sha256 = "1xwg8pa4k3a68s0bsxbphpm40kkzgchkxw4ha6xpmhva94nx82d1";
+      name = "klines-16.08.0.tar.xz";
     };
   };
   kmag = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmag-16.04.3.tar.xz";
-      sha256 = "1pc7a6ry0c4wg5fm42ccmjhgazi2wixbsc9mylk4qwa0246lk8rc";
-      name = "kmag-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmag-16.08.0.tar.xz";
+      sha256 = "076lni6qv3b5chj0sgcxvj5an4jvhchagk930kihbpfiqg769c61";
+      name = "kmag-16.08.0.tar.xz";
     };
   };
   kmahjongg = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmahjongg-16.04.3.tar.xz";
-      sha256 = "1zs4ndbf4lm9ry61bb2xcjsc2nnlvz36n8vnk2fpcvhvp266jhd7";
-      name = "kmahjongg-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmahjongg-16.08.0.tar.xz";
+      sha256 = "0j8c5iz11z5n08fywspvkcizw053kb2s1pxvgp5fr9h93mxn6cmk";
+      name = "kmahjongg-16.08.0.tar.xz";
     };
   };
   kmailtransport = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmailtransport-16.04.3.tar.xz";
-      sha256 = "16761r8ddmr7wdrqjwn5am35z8kz028mqcxmj582mrqfyr4w3s0k";
-      name = "kmailtransport-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmailtransport-16.08.0.tar.xz";
+      sha256 = "1nm5kwr7mq813invmaq72j69lcxyg2i5bmf7d5j4flvxhl3psaz1";
+      name = "kmailtransport-16.08.0.tar.xz";
     };
   };
   kmbox = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmbox-16.04.3.tar.xz";
-      sha256 = "0q6vf7813clnp349aq103m38mk0pazmwncmziwxmlwpj814887k2";
-      name = "kmbox-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmbox-16.08.0.tar.xz";
+      sha256 = "0mwi1sxdxkzfmjvf8rjxnhgs07g6p528km5cfqcsxvz3fcwqmwpd";
+      name = "kmbox-16.08.0.tar.xz";
     };
   };
   kmime = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmime-16.04.3.tar.xz";
-      sha256 = "1cwls6kd9sh2iilncq0k2c9nb4hfwa454fmn9y4m5g2p7yb4n70n";
-      name = "kmime-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmime-16.08.0.tar.xz";
+      sha256 = "1bd063fzzixcgcg17hpq6jxd2hp4y97gfhih2vc63bwf4vfs6vhj";
+      name = "kmime-16.08.0.tar.xz";
     };
   };
   kmines = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmines-16.04.3.tar.xz";
-      sha256 = "1m5hkanihvd1g1p1131jx1fp1d9ga8yr849ari4mmjnwcmjjlxlv";
-      name = "kmines-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmines-16.08.0.tar.xz";
+      sha256 = "0pnqqmb18xzfcknidjrydc714ni4w04xwhshmwlx7i0wpakwkkcw";
+      name = "kmines-16.08.0.tar.xz";
     };
   };
   kmix = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmix-16.04.3.tar.xz";
-      sha256 = "0iqqhsq1v1cdy53dby35d8gpb2fll1drk32g82kbs7chddv5mnpd";
-      name = "kmix-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmix-16.08.0.tar.xz";
+      sha256 = "0sk18bykx1hb3sl476vdbrhnhs1n3ygp79kgil2wx2g6m20q5d3c";
+      name = "kmix-16.08.0.tar.xz";
     };
   };
   kmousetool = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmousetool-16.04.3.tar.xz";
-      sha256 = "1a4nj6c1nvi2xbnbw6iqml5gbcmfi8ymynp3lvh1h8wrclljj3kd";
-      name = "kmousetool-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmousetool-16.08.0.tar.xz";
+      sha256 = "1y9lfri6iw7wkaxrixm613h4wdpszaiggvbailljyl8vx82r4q5z";
+      name = "kmousetool-16.08.0.tar.xz";
     };
   };
   kmouth = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmouth-16.04.3.tar.xz";
-      sha256 = "0fwjjcyif4p4w5nzv8s7fvlfp1z3fn2g1zmkjbz7s87bssndmiz4";
-      name = "kmouth-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmouth-16.08.0.tar.xz";
+      sha256 = "1rx46fxfzj32a27yb597xsh1jjxn5h7kb39ywk8f2kkqvcn1dgyl";
+      name = "kmouth-16.08.0.tar.xz";
     };
   };
   kmplot = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kmplot-16.04.3.tar.xz";
-      sha256 = "0pnawlmqr3fl0sxfll6ch4651q9cp2r1cfw7kn8fj3c9v03g6mfz";
-      name = "kmplot-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kmplot-16.08.0.tar.xz";
+      sha256 = "1syz6dk5ha2znwg5kj34hg2hrbl83wxzxiqznlwpmh2qr4kssrml";
+      name = "kmplot-16.08.0.tar.xz";
     };
   };
   knavalbattle = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/knavalbattle-16.04.3.tar.xz";
-      sha256 = "1k2wl33ipbhrcbv9hnskss6l46kk05j8rqw3a2kqflql16mv7wga";
-      name = "knavalbattle-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/knavalbattle-16.08.0.tar.xz";
+      sha256 = "030j6mq6lx3bi96g3nkj5mif996r6dg3df2331c0r0s42icw1mv1";
+      name = "knavalbattle-16.08.0.tar.xz";
     };
   };
   knetwalk = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/knetwalk-16.04.3.tar.xz";
-      sha256 = "0jy9v11chrqkw7kddwsjg5aixs0rbkx1g2m624pa3341iqrrqbml";
-      name = "knetwalk-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/knetwalk-16.08.0.tar.xz";
+      sha256 = "0lnsvpijx5ln5mscg2s46j0xzivhni6wj47yr7lvpkjrgy715c7d";
+      name = "knetwalk-16.08.0.tar.xz";
     };
   };
   kolf = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kolf-16.04.3.tar.xz";
-      sha256 = "0pbjkzzqfqqxl05kdb1hqfv4linzj2al6hrsp6h7gc2n5s9cq220";
-      name = "kolf-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kolf-16.08.0.tar.xz";
+      sha256 = "06v1hyvj7dym9sn8gd7698f1806pr3h6nplxj5p4mm1ckhn6h59z";
+      name = "kolf-16.08.0.tar.xz";
     };
   };
   kollision = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kollision-16.04.3.tar.xz";
-      sha256 = "0jwml54bd6bhgm4hygcxzw74274ddx99q45n0i4zh7lx6x7j8zji";
-      name = "kollision-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kollision-16.08.0.tar.xz";
+      sha256 = "0v3lixqy932v8dnzw892jafsjzxzldmzrcmaah0qnxq9qf9q3x1x";
+      name = "kollision-16.08.0.tar.xz";
     };
   };
   kolourpaint = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kolourpaint-16.04.3.tar.xz";
-      sha256 = "149w95j5fh9jxah2yjchwkcaqgd1x9qmgwnk7mzx5gxcdbawwwcc";
-      name = "kolourpaint-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kolourpaint-16.08.0.tar.xz";
+      sha256 = "1bfshyfgcgvpjyxzx7yb7ws0kfyb6765nsd7pad2jc7cs5x8x5m7";
+      name = "kolourpaint-16.08.0.tar.xz";
     };
   };
   kompare = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kompare-16.04.3.tar.xz";
-      sha256 = "0ilfk8rkb4q1lgvcki0zwlmrbv630b4iyv58g4vnf72gpgnd981v";
-      name = "kompare-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kompare-16.08.0.tar.xz";
+      sha256 = "0xx5l2gi031p7z488d5dn805k3likhp444520b2453vlfasmwh9z";
+      name = "kompare-16.08.0.tar.xz";
     };
   };
   konquest = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/konquest-16.04.3.tar.xz";
-      sha256 = "16799yabykvfq7wcsc0vlwhws9iyf1risa8lxfdfmsh6f7yb5kf1";
-      name = "konquest-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/konquest-16.08.0.tar.xz";
+      sha256 = "18pp4h67wkzimayq3xpz3cqw06dky7k4vhfh4l2lbgm9nvlg3bwl";
+      name = "konquest-16.08.0.tar.xz";
     };
   };
   konsole = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/konsole-16.04.3.tar.xz";
-      sha256 = "1dhb2xyl8qzwhpnvfkqaqcn4qpsj1d9yc28qgvwyb6kn4ygywl7n";
-      name = "konsole-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/konsole-16.08.0.tar.xz";
+      sha256 = "1kn80clbzq5sc6fby1gapw28lpxkbvjbk6c04avbfkg1d25n5mfg";
+      name = "konsole-16.08.0.tar.xz";
     };
   };
   kontactinterface = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kontactinterface-16.04.3.tar.xz";
-      sha256 = "0fh1sy1rqs31km8v1vbv0gqrh7vsc6vdk7ab5cqx9nxkf0kqnj3v";
-      name = "kontactinterface-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kontactinterface-16.08.0.tar.xz";
+      sha256 = "1snafjnmpz6xpldgksxi92dkx0kq1w2xcbkv4a8jqm7mllrxvjvy";
+      name = "kontactinterface-16.08.0.tar.xz";
     };
   };
   kopete = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kopete-16.04.3.tar.xz";
-      sha256 = "1fqagh40kx4dad131vild7wxlciwm54ilsrs5ahy63xisbi2aip3";
-      name = "kopete-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kopete-16.08.0.tar.xz";
+      sha256 = "1yd69aspsnmrg2f1l33clhpj8l5qqyns1djn63j9v76r4lxkrbnp";
+      name = "kopete-16.08.0.tar.xz";
     };
   };
   kpat = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kpat-16.04.3.tar.xz";
-      sha256 = "02hinknnpi5cvpwdih10iizzzci9zhhcpwclw05fcwz65wig6b5r";
-      name = "kpat-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kpat-16.08.0.tar.xz";
+      sha256 = "038fzs09bijmryka925hx7j4ln7z3f0qdzv7wwm9mkkp5wi4fpi6";
+      name = "kpat-16.08.0.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kpimtextedit-16.04.3.tar.xz";
-      sha256 = "1kp3wimzvqg7dqh204kdfkqqrlb5mq895bind9g524rc4mxzd882";
-      name = "kpimtextedit-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kpimtextedit-16.08.0.tar.xz";
+      sha256 = "0bz729yr01p9sjf6bh76pfn3miisas3smxwzy31hh18r9n4f7xsa";
+      name = "kpimtextedit-16.08.0.tar.xz";
     };
   };
   kppp = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kppp-16.04.3.tar.xz";
-      sha256 = "0bnwgf3rvm3c3qgsp8301iba2yisd52miywmfblsh9z7zaf36qp2";
-      name = "kppp-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kppp-16.08.0.tar.xz";
+      sha256 = "1gx9ldjfasxfjr8i9pxlbwjdcypg2ffjiwddbp5pw1x6sfmyci7i";
+      name = "kppp-16.08.0.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kqtquickcharts-16.04.3.tar.xz";
-      sha256 = "10hjryss35zz7mj34ix1qgxmkww9d42mqx60ywgkpjv297z06vrv";
-      name = "kqtquickcharts-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kqtquickcharts-16.08.0.tar.xz";
+      sha256 = "1bzhql082hgsmcngaclkjlfs7k1hyz17y3prcgw9qgm4nv4i18hq";
+      name = "kqtquickcharts-16.08.0.tar.xz";
     };
   };
   krdc = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/krdc-16.04.3.tar.xz";
-      sha256 = "1c4ngdc3xip72ag96fzd3fn49v5lli8g61h92c80myx57cs3qsl0";
-      name = "krdc-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/krdc-16.08.0.tar.xz";
+      sha256 = "1qq1r49knndy9hz4l04ix6ax2y66q4jq0qmh0b49ldamvm0b27w0";
+      name = "krdc-16.08.0.tar.xz";
     };
   };
   kremotecontrol = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kremotecontrol-16.04.3.tar.xz";
-      sha256 = "0xw7fmf6npv6n845kc01apc8lqy6fpbas6427292r6qkbjqb7vgz";
-      name = "kremotecontrol-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kremotecontrol-16.08.0.tar.xz";
+      sha256 = "1z6nhyq6x3kfsfsri3jmvdmkfdrxykc065w7kplfzrqqgnsw12gh";
+      name = "kremotecontrol-16.08.0.tar.xz";
     };
   };
   kreversi = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kreversi-16.04.3.tar.xz";
-      sha256 = "1jddmjv5vnp42pgkfrgwsnnzn9bxy90d7wbhdjyqir77vb14ccj5";
-      name = "kreversi-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kreversi-16.08.0.tar.xz";
+      sha256 = "03z3f09z70f3c2lbvdmr3injjdd8nmwbs2drxcxmkx17p4vg9w1h";
+      name = "kreversi-16.08.0.tar.xz";
     };
   };
   krfb = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/krfb-16.04.3.tar.xz";
-      sha256 = "13ifwp93662b8cx1hary3kx5js1w9wnpi6ykw1f5sriav3xmfyvb";
-      name = "krfb-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/krfb-16.08.0.tar.xz";
+      sha256 = "1rvqk8sm75idnkb99v2mpfl1r32qyjcqcmbhw78lgb8nwpfr8cbs";
+      name = "krfb-16.08.0.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kross-interpreters-16.04.3.tar.xz";
-      sha256 = "0nl0gb03yqn4rv0i8r6axr7rf5w416f4h5912r9004hwyf1ahzda";
-      name = "kross-interpreters-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kross-interpreters-16.08.0.tar.xz";
+      sha256 = "1njd0j893zw6bdavqiqbzp02g0y1zhb8gmbq0rb46if1q5igj10d";
+      name = "kross-interpreters-16.08.0.tar.xz";
     };
   };
   kruler = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kruler-16.04.3.tar.xz";
-      sha256 = "0317sj7q7x436hzry7blpb8mnbqza7srk49r2jgiasj8i0mlxy5n";
-      name = "kruler-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kruler-16.08.0.tar.xz";
+      sha256 = "1rcy5djmwlr4jvi7ig0075z40wfjby3hs7k40nzi3hl3khq2clfg";
+      name = "kruler-16.08.0.tar.xz";
     };
   };
   ksaneplugin = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ksaneplugin-16.04.3.tar.xz";
-      sha256 = "1k9zdd3h2zavp4l7npirrj3vbb4hm7gbwgmn6l9x93p8dzpw3xsw";
-      name = "ksaneplugin-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ksaneplugin-16.08.0.tar.xz";
+      sha256 = "0439bsn8d0w72f73ixxh205aqvbdbks9n0xxb0dq16d9msykvflm";
+      name = "ksaneplugin-16.08.0.tar.xz";
     };
   };
   kscd = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kscd-16.04.3.tar.xz";
-      sha256 = "0l0wqxcajklymc21libaq1hlzbwwnzmd0s40ls1m8gfwqzrn03k4";
-      name = "kscd-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kscd-16.08.0.tar.xz";
+      sha256 = "1jn7sp0ahgnqn8ws7qsaz9ax9ighx1w9jsgn3l1jqqwal2mz0gbv";
+      name = "kscd-16.08.0.tar.xz";
     };
   };
   kshisen = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kshisen-16.04.3.tar.xz";
-      sha256 = "1q2acfvbca8jw2yd1xkyny3mplzvsbjlfzilkyc6j4ccply4zsk0";
-      name = "kshisen-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kshisen-16.08.0.tar.xz";
+      sha256 = "0asvxgkn3pqws91a93r5wvpafz7zfchk5xmk08b74shscidi4nl6";
+      name = "kshisen-16.08.0.tar.xz";
     };
   };
   ksirk = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ksirk-16.04.3.tar.xz";
-      sha256 = "03kpm7kck3d6nv2m5jmn24ni09pxg8jcfa0p6sjijpinh8n1r6aj";
-      name = "ksirk-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ksirk-16.08.0.tar.xz";
+      sha256 = "0gh6j8ml5062m99ps7wm9nkn5b1w5lcqsjh22rd81cvl8wy48sx4";
+      name = "ksirk-16.08.0.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ksnakeduel-16.04.3.tar.xz";
-      sha256 = "0h87rbspc0b4fnq21vr9nimzjir0i0gijk2wh1lmfjvfviinw6ww";
-      name = "ksnakeduel-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ksnakeduel-16.08.0.tar.xz";
+      sha256 = "1sd5vjjcg3yr8jcp76ilcql953b0wzk950w1h1lbgrll2hr81bm3";
+      name = "ksnakeduel-16.08.0.tar.xz";
     };
   };
   kspaceduel = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kspaceduel-16.04.3.tar.xz";
-      sha256 = "0021pmxgh6pw777s5136hmgc83f5dy9bdk72gzfhjp20khl1dpm1";
-      name = "kspaceduel-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kspaceduel-16.08.0.tar.xz";
+      sha256 = "1whvibw0d1gbb28lc04q93wpalsihgqzd9hi1yabwfa5piac9ldb";
+      name = "kspaceduel-16.08.0.tar.xz";
     };
   };
   ksquares = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ksquares-16.04.3.tar.xz";
-      sha256 = "02byd0if709zc5zrn8a17b68jfh8fi4xilybiih7nppdy9jrmbap";
-      name = "ksquares-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ksquares-16.08.0.tar.xz";
+      sha256 = "19rlzka8z7imhv4cbrwajkv4g38qg2mwm8pniyl0w818nj4jbjlp";
+      name = "ksquares-16.08.0.tar.xz";
     };
   };
   kstars = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kstars-16.04.3.tar.xz";
-      sha256 = "159gk8hslzx9lb0jgf2jv0h8p6618l9xkjdfbvydh4zvgixsh467";
-      name = "kstars-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kstars-16.08.0.tar.xz";
+      sha256 = "0zridrc65av69q7yi3k0jq744ifr94wpv725vx3wy8v5wlsc3rcx";
+      name = "kstars-16.08.0.tar.xz";
     };
   };
   ksudoku = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ksudoku-16.04.3.tar.xz";
-      sha256 = "0x9mqzl3s9p3p8x024wllqxff4p065ajirvw05fcqac7vdvndyd0";
-      name = "ksudoku-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ksudoku-16.08.0.tar.xz";
+      sha256 = "15j9kjww92dmy6bvrs4pp2j6xxmz5xpci08wnab5mxsq6f6fghhs";
+      name = "ksudoku-16.08.0.tar.xz";
     };
   };
   ksystemlog = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ksystemlog-16.04.3.tar.xz";
-      sha256 = "1fzr5lbwj85zwhc3ydhijwsmm2b3sfrg67xa71vswndfi8g5gh9v";
-      name = "ksystemlog-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ksystemlog-16.08.0.tar.xz";
+      sha256 = "1ksp8innmziyxjkxdw53sqaz66jf82xp8p2cfypw6r2zb506wq96";
+      name = "ksystemlog-16.08.0.tar.xz";
     };
   };
   kteatime = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kteatime-16.04.3.tar.xz";
-      sha256 = "18pm3416kwi4pj71qgpm1qr83xpz5l2xjnrz9nx9vnlz9sdk44w3";
-      name = "kteatime-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kteatime-16.08.0.tar.xz";
+      sha256 = "1hqvyypbphsplq5aqdh24wzh7msqh757y1zgpclxl6xbjxx1ys5z";
+      name = "kteatime-16.08.0.tar.xz";
     };
   };
   ktimer = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktimer-16.04.3.tar.xz";
-      sha256 = "0n4b7hrlmr64fm3m5yhi7pg2qj0r0xsb73yzlylgsn8i7m2zjap8";
-      name = "ktimer-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktimer-16.08.0.tar.xz";
+      sha256 = "01gj0i5h08phhw9ds42ql1kmrl5brfasshgbxa9nvgd6i35zjp74";
+      name = "ktimer-16.08.0.tar.xz";
     };
   };
   ktnef = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktnef-16.04.3.tar.xz";
-      sha256 = "0ra0l0apkf9bpwwcr1i2z1qmax12qd2n01rnpff58hj1zg267aqw";
-      name = "ktnef-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktnef-16.08.0.tar.xz";
+      sha256 = "03fhx1kyzhm1fs0p7i2488r41dbyl2knkapg0cfd8zd0pcnv518f";
+      name = "ktnef-16.08.0.tar.xz";
     };
   };
   ktouch = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktouch-16.04.3.tar.xz";
-      sha256 = "0c2ylp41918wqxahsnkpvq4si37nh6fps53qyd62s09d1aafh28s";
-      name = "ktouch-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktouch-16.08.0.tar.xz";
+      sha256 = "0i60f712bgldvf8dcjpd8hyf3fwlrmly96ddrkd8p5860vdyxxm1";
+      name = "ktouch-16.08.0.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-accounts-kcm-16.04.3.tar.xz";
-      sha256 = "0bqcdwfm0l49dkqzj8p254bxl4wabj58g338g0i4ansky5svdfih";
-      name = "ktp-accounts-kcm-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-accounts-kcm-16.08.0.tar.xz";
+      sha256 = "0hfs46fza537cdwmx18430qnwphvqihxa9z0ys7mlhwa8gffa9gq";
+      name = "ktp-accounts-kcm-16.08.0.tar.xz";
     };
   };
   ktp-approver = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-approver-16.04.3.tar.xz";
-      sha256 = "1z4sh03w0rzv70qimchgxgmqpxbzsf29mp4pr18qgxvkwcx7nm89";
-      name = "ktp-approver-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-approver-16.08.0.tar.xz";
+      sha256 = "0wvi076x2xxbrd4swf8gbi30fnwa58hxnahl3ri5gpz34c7y5c3v";
+      name = "ktp-approver-16.08.0.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-auth-handler-16.04.3.tar.xz";
-      sha256 = "1llqbjf89bj44wlwkp4pq4drc7qczzdf6ckqlqiidd69rwhqc8q9";
-      name = "ktp-auth-handler-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-auth-handler-16.08.0.tar.xz";
+      sha256 = "0jyff6znszz82h3l92wjzkh9c1csnsyncd34hxvkyarxm6wb1s8f";
+      name = "ktp-auth-handler-16.08.0.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-call-ui-16.04.3.tar.xz";
-      sha256 = "07d9a28rjnb4xlmpilwzcq8dxiz3pmi57wqm1pphyw8wnf6fz1ls";
-      name = "ktp-call-ui-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-call-ui-16.08.0.tar.xz";
+      sha256 = "16jw9jap985p411qjkzay83yy1xrnykbnq7f315d7wqxrry3pvf1";
+      name = "ktp-call-ui-16.08.0.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-common-internals-16.04.3.tar.xz";
-      sha256 = "1l497fl1mldh926f29f51rn0d3jxkjfmacw483zgglfnl1z2igr6";
-      name = "ktp-common-internals-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-common-internals-16.08.0.tar.xz";
+      sha256 = "1l88fnagbq9b63nfvyncq5bylpv6m9h9z1znmz1z67fp5x6lcmh9";
+      name = "ktp-common-internals-16.08.0.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-contact-list-16.04.3.tar.xz";
-      sha256 = "1s9cyxl4zkvv6j45gcdk9dkyhblz0p9w5rwdpaailx1wpx55223y";
-      name = "ktp-contact-list-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-contact-list-16.08.0.tar.xz";
+      sha256 = "06cd9yzj7lw6v6n9fqjc4lafpi1z0yl2wyipibk47xmwckx5bw9f";
+      name = "ktp-contact-list-16.08.0.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-contact-runner-16.04.3.tar.xz";
-      sha256 = "06a72vjqrz52spjcf5gic48hmsbbshsnwws8lk18cnxxc94sbgq0";
-      name = "ktp-contact-runner-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-contact-runner-16.08.0.tar.xz";
+      sha256 = "10yd1z90q0a8d3qcl07lnvj1j150awl2fjf74njdlxya2s0wgdmq";
+      name = "ktp-contact-runner-16.08.0.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-desktop-applets-16.04.3.tar.xz";
-      sha256 = "1qrwy3ghy2aja87dqyiivbcdfj24zji7765225k2djh8k4m9fl25";
-      name = "ktp-desktop-applets-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-desktop-applets-16.08.0.tar.xz";
+      sha256 = "0gbvdq7qpschhc3iq22sm505m3ph4j7r38kfzq6f51gf4284hv9x";
+      name = "ktp-desktop-applets-16.08.0.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-filetransfer-handler-16.04.3.tar.xz";
-      sha256 = "0vacl8djizz6466l095snmyg400i8c8q2pxd7xjq7488pfpvl8b3";
-      name = "ktp-filetransfer-handler-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-filetransfer-handler-16.08.0.tar.xz";
+      sha256 = "119q2isisqpbrcffparv73n69869cc6wqih0jr34m85q2c7ifr7p";
+      name = "ktp-filetransfer-handler-16.08.0.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-kded-module-16.04.3.tar.xz";
-      sha256 = "0jb31d7lcby68dnq33j6yj4nqhd627i4pd0x9dpg32hf7wsc1mhs";
-      name = "ktp-kded-module-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-kded-module-16.08.0.tar.xz";
+      sha256 = "1izc4gvh433gpnbbhdhb2bfx3sx5rj8bdiqcpba43xrvimq5mhbd";
+      name = "ktp-kded-module-16.08.0.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-send-file-16.04.3.tar.xz";
-      sha256 = "1fka8fg8sqh8sakaz55ja3b82nwd5a6g1w0r40s5ins8wrxinh24";
-      name = "ktp-send-file-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-send-file-16.08.0.tar.xz";
+      sha256 = "1lsvs101w2xldi176am896vyihbm7w2js2h033v5p7bswnkg2mgm";
+      name = "ktp-send-file-16.08.0.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktp-text-ui-16.04.3.tar.xz";
-      sha256 = "0bdfmn4jbi8w7jnfm22hbrm3zi9i2g9byfgivlrq6iwb00lk5hxx";
-      name = "ktp-text-ui-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktp-text-ui-16.08.0.tar.xz";
+      sha256 = "11ybqnkkp2r0wdczc0p3prmq9r3vhk6v81fhl4pnmcypghcgaf3f";
+      name = "ktp-text-ui-16.08.0.tar.xz";
     };
   };
   ktuberling = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/ktuberling-16.04.3.tar.xz";
-      sha256 = "1m860sim81j9gm24sjhfhx5spf3ax3m1f9jb8d7zxfc272lln1l0";
-      name = "ktuberling-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/ktuberling-16.08.0.tar.xz";
+      sha256 = "1dd66s2ys266jr8pp5x2vvkzlysx93baw1kpiy550rb4gsb3l537";
+      name = "ktuberling-16.08.0.tar.xz";
     };
   };
   kturtle = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kturtle-16.04.3.tar.xz";
-      sha256 = "0bj73flllph0r4xps6kdsnjzd2vdayqyran6fd3l7k4f2qnjd70a";
-      name = "kturtle-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kturtle-16.08.0.tar.xz";
+      sha256 = "01rphmyn89n32k579mg04gmfkjlphbn55cdqv0km4ngipiv32mj3";
+      name = "kturtle-16.08.0.tar.xz";
     };
   };
   kubrick = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kubrick-16.04.3.tar.xz";
-      sha256 = "026d5sa1xbqabsf9yj4d94x0abp93z5wdivqdl7hb2zns9w7dgk5";
-      name = "kubrick-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kubrick-16.08.0.tar.xz";
+      sha256 = "081bh8msbfcx9vkdbrlgclwngrxswpmd3hfzjfndhaw8ibp42hsi";
+      name = "kubrick-16.08.0.tar.xz";
     };
   };
   kuser = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kuser-16.04.3.tar.xz";
-      sha256 = "1xcb554p0i93gyy8vm1a5aajgv0vhqxa5lpmyfz1ibrbbnm3h0h8";
-      name = "kuser-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kuser-16.08.0.tar.xz";
+      sha256 = "0yq1jil5nfm2zw5sisvcvrjbxxlzjq3z8vxn41ch0ppfdpcsknjs";
+      name = "kuser-16.08.0.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kwalletmanager-16.04.3.tar.xz";
-      sha256 = "1kfxqzidpbq88liqmh8qmxyycmfx7yyy509fbrb3c3bis0cvpgwq";
-      name = "kwalletmanager-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kwalletmanager-16.08.0.tar.xz";
+      sha256 = "174rd9d4yqrdk93hnr5nrzq3b7ilk0hjzhlsy9dqm9pr9yix79g0";
+      name = "kwalletmanager-16.08.0.tar.xz";
     };
   };
   kwordquiz = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/kwordquiz-16.04.3.tar.xz";
-      sha256 = "1wnxyshncbxidksqi96h9isq9v88n6dihjv91ml5q2ld1k46sjnv";
-      name = "kwordquiz-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/kwordquiz-16.08.0.tar.xz";
+      sha256 = "1nngkkwd22nzcj4syayizmhvw8svkrhwa12ab5cfa0fmx30ivz86";
+      name = "kwordquiz-16.08.0.tar.xz";
     };
   };
   libgravatar = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libgravatar-16.04.3.tar.xz";
-      sha256 = "1nr6p484llm4vablm41v080b8hn83254qhgw2lgrndpwl8c8wi58";
-      name = "libgravatar-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libgravatar-16.08.0.tar.xz";
+      sha256 = "169sy6lzsvgrhm9arjg84qcy34hm5xwycl09cg2cw6l141c5yyv0";
+      name = "libgravatar-16.08.0.tar.xz";
     };
   };
   libkcddb = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkcddb-16.04.3.tar.xz";
-      sha256 = "0k6g4a1n5p4idn0aw2l134fk94py2a35hs1b7frcpvx6f395d7h8";
-      name = "libkcddb-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkcddb-16.08.0.tar.xz";
+      sha256 = "1qlq62nl11dhsqn61zrvv80mybwzxhcgzdblrxqq8l352y1l916x";
+      name = "libkcddb-16.08.0.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkcompactdisc-16.04.3.tar.xz";
-      sha256 = "091cijlcax2fgj8grwi7wysqq9f3z4riklv66qx89xs0kqx372c8";
-      name = "libkcompactdisc-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkcompactdisc-16.08.0.tar.xz";
+      sha256 = "1i2pd9xr2i61xb6128dzsf5il2sk3bqp9d8ps45lm4vld73ryxmk";
+      name = "libkcompactdisc-16.08.0.tar.xz";
     };
   };
   libkdcraw = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkdcraw-16.04.3.tar.xz";
-      sha256 = "0qxl9jcn9c6ifvc2r2i9gv6mca83ysn28m92jrhrf2wirn53s5gx";
-      name = "libkdcraw-16.04.3.tar.xz";
-    };
-  };
-  libkdeedu = {
-    version = "16.04.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkdeedu-16.04.3.tar.xz";
-      sha256 = "0j0x6psx2nv6v1h0895qqzpdavz3xb4z5amqnbhjiz0kspalpa9p";
-      name = "libkdeedu-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkdcraw-16.08.0.tar.xz";
+      sha256 = "1cmhj1jpfpaxkkgx4imh79kcd5v3zdg27i971j9z828ysdl8b9rf";
+      name = "libkdcraw-16.08.0.tar.xz";
     };
   };
   libkdegames = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkdegames-16.04.3.tar.xz";
-      sha256 = "1ryjz1k8jfayj4cy3ih5wzbx26qy6mp9zka2bfc8h30pi0l9f8zd";
-      name = "libkdegames-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkdegames-16.08.0.tar.xz";
+      sha256 = "0zh8nw3ndrvinl7qg6zhnzwn3i4qixk3wyxcf1nrfz0m294ys9yf";
+      name = "libkdegames-16.08.0.tar.xz";
     };
   };
   libkdepim = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkdepim-16.04.3.tar.xz";
-      sha256 = "1dxx026fd2hfwdxhwp4fswb05lx8s4wdha7lj5yk4g6s8x11m56a";
-      name = "libkdepim-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkdepim-16.08.0.tar.xz";
+      sha256 = "1n3ijr5v73sd94hj6n0xwplx7019lljv151z0rjn6fakf199p32l";
+      name = "libkdepim-16.08.0.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkeduvocdocument-16.04.3.tar.xz";
-      sha256 = "0ajfk2yzqp1rjxllrvknhwkxv16d40fi9m24gk7j0ma19fd90xg0";
-      name = "libkeduvocdocument-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkeduvocdocument-16.08.0.tar.xz";
+      sha256 = "0sv5p57lk8f0skw2z42whhizk7s3nh5hh0pf9yaxml64clmypwbk";
+      name = "libkeduvocdocument-16.08.0.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkexiv2-16.04.3.tar.xz";
-      sha256 = "00v09mz8v7z1pan8r4qvgmsi7kyr8pmim0km88jdf3mcaswk6mia";
-      name = "libkexiv2-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkexiv2-16.08.0.tar.xz";
+      sha256 = "183h9ifbzwngi5mwdq85n2jx0k67z7dzxnd43k6fv5l6h2b5l7y7";
+      name = "libkexiv2-16.08.0.tar.xz";
     };
   };
   libkface = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkface-16.04.3.tar.xz";
-      sha256 = "0mx706gcjb9zvi32lmlk6mp93vk6pwkb5598nm4a0qcmfdnxfdsp";
-      name = "libkface-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkface-16.08.0.tar.xz";
+      sha256 = "175912gzb4w6ndmr164j67z3xwqhy0xpxahnqb3zqlbj0gx10wp2";
+      name = "libkface-16.08.0.tar.xz";
     };
   };
   libkgeomap = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkgeomap-16.04.3.tar.xz";
-      sha256 = "0m5frrk6hyjzmhq7lqzx8sila9vhbxhhnlp1rwsv3gwnyq0lpf5w";
-      name = "libkgeomap-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkgeomap-16.08.0.tar.xz";
+      sha256 = "0jxk18dfvhrxs6war4p83sfdmn4zld5yl0x81dgmzfh7kc9dhws6";
+      name = "libkgeomap-16.08.0.tar.xz";
     };
   };
   libkipi = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkipi-16.04.3.tar.xz";
-      sha256 = "17hhs1lwckx4zgv10f8pw2y3g2arldxz5zzqi5yzf0g9zzqgv0y6";
-      name = "libkipi-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkipi-16.08.0.tar.xz";
+      sha256 = "12829kp4sr5hzji26syw3b8awgxhhdpvgdjdid276im3a4xfhmsv";
+      name = "libkipi-16.08.0.tar.xz";
     };
   };
   libkleo = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkleo-16.04.3.tar.xz";
-      sha256 = "1989kr8yp6s7apxgd7jb1g4ims3gff7kp6z3ywkriv27h1wq0ym3";
-      name = "libkleo-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkleo-16.08.0.tar.xz";
+      sha256 = "1n5qv9azkv29w67iwkpbxka213s81dlb8svs0xx2lxfb1z2dvrvh";
+      name = "libkleo-16.08.0.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkmahjongg-16.04.3.tar.xz";
-      sha256 = "01lp82lyf71h7570bfgfr3inw5hxm3xs6k819gpljsb6ywjxf426";
-      name = "libkmahjongg-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkmahjongg-16.08.0.tar.xz";
+      sha256 = "145gi58yfcbd2magqk873hjwzk02z23zn4h3a95w236gx3r573m5";
+      name = "libkmahjongg-16.08.0.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libkomparediff2-16.04.3.tar.xz";
-      sha256 = "0al466jm33mcmqwanf1mq34dqrk3dqzxpw847rfmax0npmwnsgs4";
-      name = "libkomparediff2-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libkomparediff2-16.08.0.tar.xz";
+      sha256 = "1fqghzfnzjcfrcdn6av5r27br9qiz48ng1vgj2g2bi1y75bnla6i";
+      name = "libkomparediff2-16.08.0.tar.xz";
     };
   };
   libksane = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libksane-16.04.3.tar.xz";
-      sha256 = "13rlpvg55ci2jcwsdl3hai9xicb41lgwsgnhpmzd1c7gpyf50c47";
-      name = "libksane-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libksane-16.08.0.tar.xz";
+      sha256 = "079fy5izsly0qkbrxhkasdk9h2359izsxhaam0mzc24cf9ls2zbr";
+      name = "libksane-16.08.0.tar.xz";
     };
   };
   libksieve = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/libksieve-16.04.3.tar.xz";
-      sha256 = "1s0mz0ndchhpaq9lzv9ml537w8mj42rvq97wxyl8hfsvcfkfkqyv";
-      name = "libksieve-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/libksieve-16.08.0.tar.xz";
+      sha256 = "014ijwkzz8n53yy2gjm39i85rjakv447lz048kfighpl1m08yjjz";
+      name = "libksieve-16.08.0.tar.xz";
     };
   };
   lokalize = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/lokalize-16.04.3.tar.xz";
-      sha256 = "1f63yzb2c9hbiyylsa7jfccr40bxwwzmz65s8ny8w3rs481i6mi1";
-      name = "lokalize-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/lokalize-16.08.0.tar.xz";
+      sha256 = "0m7sipj53ih3g2pj1a5ny667dj0jaqyrsn46bymkpz9z7rn8z5xs";
+      name = "lokalize-16.08.0.tar.xz";
     };
   };
   lskat = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/lskat-16.04.3.tar.xz";
-      sha256 = "12xpds0nq6bbnmxvjqj3an0ji9nz698l0n0lncw37r6ijbf023my";
-      name = "lskat-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/lskat-16.08.0.tar.xz";
+      sha256 = "0lnpc5sfj4bfb1fz887fgkqs5prnjlsci90fis67rim9b3b45mhd";
+      name = "lskat-16.08.0.tar.xz";
     };
   };
   mailcommon = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/mailcommon-16.04.3.tar.xz";
-      sha256 = "0zls1a7dvrprbjy9l7vhyd5qcpik7z8m6s27y31rdvzjic1vpxbp";
-      name = "mailcommon-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/mailcommon-16.08.0.tar.xz";
+      sha256 = "1b43rfhnghm8apkl2qwg7i6mx8ci5lpjy1fgp6jrdcxip8yw0172";
+      name = "mailcommon-16.08.0.tar.xz";
     };
   };
   mailimporter = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/mailimporter-16.04.3.tar.xz";
-      sha256 = "1w81mnnlfdq61q1q36qingwx1nsav160lw779xn9gdzb3i9ag7nz";
-      name = "mailimporter-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/mailimporter-16.08.0.tar.xz";
+      sha256 = "1bak75qb8x8g1x8kw3f1a20i07hcf8fas5arxjyb9qrs97zx6vbz";
+      name = "mailimporter-16.08.0.tar.xz";
     };
   };
   marble = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/marble-16.04.3.tar.xz";
-      sha256 = "1jriyclkdrbi5qx9znjpkmcd9l7h2fz3265b61h49d981b7sngas";
-      name = "marble-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/marble-16.08.0.tar.xz";
+      sha256 = "1a65w4gir65cy90sxs2x1ig95mgmrk6ai3pv2ah8kwv0gy19qc6f";
+      name = "marble-16.08.0.tar.xz";
     };
   };
   messagelib = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/messagelib-16.04.3.tar.xz";
-      sha256 = "1mvjglnq8vxhrpi2nl7p78mj1idmfci5jbzv0mn15bjs4s4kld41";
-      name = "messagelib-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/messagelib-16.08.0.tar.xz";
+      sha256 = "1442qvhqjm976i20h36xck9lrad29mbhcs2p146q1rggphv9yzb6";
+      name = "messagelib-16.08.0.tar.xz";
     };
   };
   minuet = {
-    version = "16.04.3";
-    src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/minuet-16.04.3.tar.xz";
-      sha256 = "13sz0a5ayis3w9d5fk9hm5jlv87vvclqwpbij6wl8df2zrqh29w4";
-      name = "minuet-16.04.3.tar.xz";
-    };
-  };
-  mplayerthumbs = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/mplayerthumbs-16.04.3.tar.xz";
-      sha256 = "01v4cc1y0rhzyxs7mhlvn1dmwgmnn8a5jn3lii6ydi2ln5s0kg7f";
-      name = "mplayerthumbs-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/minuet-16.08.0.tar.xz";
+      sha256 = "07h65zkikpl5wwmw996wihylij1rxbf580fkrcwq6xjh4xk6c950";
+      name = "minuet-16.08.0.tar.xz";
     };
   };
   okteta = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/okteta-16.04.3.tar.xz";
-      sha256 = "0qymdfyaa3zsfjbrm4scfqg53hmfvr3c747p6wj032b9kymy0d5h";
-      name = "okteta-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/okteta-16.08.0.tar.xz";
+      sha256 = "1mnh1p7497206z7szf0aslb9s660iv3bzssbgkkcf96r3n50g96s";
+      name = "okteta-16.08.0.tar.xz";
     };
   };
   okular = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/okular-16.04.3.tar.xz";
-      sha256 = "199q00ddqv53c6psm07xcnck9v5dmc89cj810gkkrbwwyb6r1mfd";
-      name = "okular-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/okular-16.08.0.tar.xz";
+      sha256 = "15qzjmpzwlq2pp0cxfcklsm0dfmla9vp649rzv76bq0qlnb0vnc2";
+      name = "okular-16.08.0.tar.xz";
     };
   };
   palapeli = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/palapeli-16.04.3.tar.xz";
-      sha256 = "1j2vvk98bkldq36x0kndyw7455q6kiwmg0gvhh18kn24arw1y2as";
-      name = "palapeli-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/palapeli-16.08.0.tar.xz";
+      sha256 = "0l13i9gc5nqdl0zrmnnzfklv8f4v8anhhmndxs3v0r1rgjs856m4";
+      name = "palapeli-16.08.0.tar.xz";
     };
   };
   parley = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/parley-16.04.3.tar.xz";
-      sha256 = "0ii0nh1m6ggza32brx6iwvl3cqsya6z2znrlxs63sra1ihlv2m1y";
-      name = "parley-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/parley-16.08.0.tar.xz";
+      sha256 = "0ljk290z9sx30985848pixpnyyf5bjf7gqb2jfv3qy8gbbkxvrfd";
+      name = "parley-16.08.0.tar.xz";
     };
   };
   picmi = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/picmi-16.04.3.tar.xz";
-      sha256 = "0jsrpwgmq33510gj2flqqlhc6hwqlynsqzr883aqj9bsxc15ngil";
-      name = "picmi-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/picmi-16.08.0.tar.xz";
+      sha256 = "1ayxzfd6xgb02bliwcrbcnsjqid81afz4mmlvkdg079mzqgnsm5l";
+      name = "picmi-16.08.0.tar.xz";
     };
   };
   pimcommon = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/pimcommon-16.04.3.tar.xz";
-      sha256 = "0f5jrrdih18ar3ac43bqr3i2mqciil04aag66032izrfy4fvmp3f";
-      name = "pimcommon-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/pimcommon-16.08.0.tar.xz";
+      sha256 = "0hdwdwr81viidkcxxg861pay7k3ix96wwcqj4anf1nv0cyg9i76n";
+      name = "pimcommon-16.08.0.tar.xz";
     };
   };
   poxml = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/poxml-16.04.3.tar.xz";
-      sha256 = "0cv6kdrhmx7m2xg0cmrc4mifwayfvlc9vpiigwzs6928xy7ffyzn";
-      name = "poxml-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/poxml-16.08.0.tar.xz";
+      sha256 = "1r4b763rs77w03l0wwskqfjbkk83mdbk5w22s7xwr356w6h9mir1";
+      name = "poxml-16.08.0.tar.xz";
     };
   };
   print-manager = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/print-manager-16.04.3.tar.xz";
-      sha256 = "1kh4malrlfchcmph9d8h1h9ljffjg8d1pfjil6gfprc6z877lmww";
-      name = "print-manager-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/print-manager-16.08.0.tar.xz";
+      sha256 = "033bdrzr6726a35pf7wi4dw1slfpywi2si26pkxh90863620qa87";
+      name = "print-manager-16.08.0.tar.xz";
     };
   };
   rocs = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/rocs-16.04.3.tar.xz";
-      sha256 = "1xh9hzg6kl2mcgp7yjdx2rffalis4fp6y4166s527ikjqxvwr2xw";
-      name = "rocs-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/rocs-16.08.0.tar.xz";
+      sha256 = "0fc8dgaj6n4kqkxs3m7p4g83znmvqx014shx0q5lv0azjr0bp09s";
+      name = "rocs-16.08.0.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/signon-kwallet-extension-16.04.3.tar.xz";
-      sha256 = "015ps8zpbn15ml1s3qjwbpsf7md4sxn8232x2nl68nzv06n0bsx5";
-      name = "signon-kwallet-extension-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/signon-kwallet-extension-16.08.0.tar.xz";
+      sha256 = "1gbd9gf9riyrzi1gd0hxk06n6a86j103zhcwhscg9xh5fz306v3l";
+      name = "signon-kwallet-extension-16.08.0.tar.xz";
     };
   };
   spectacle = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/spectacle-16.04.3.tar.xz";
-      sha256 = "0pxals99p5wj40x84g98rxy6g5y7jqg7x2dsw1pc8nci6l0x6p4w";
-      name = "spectacle-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/spectacle-16.08.0.tar.xz";
+      sha256 = "02fcgx8k74dqjn7bpkcydcdcw2jv2sk3w5a9kjwnwr14jcfb28zq";
+      name = "spectacle-16.08.0.tar.xz";
     };
   };
   step = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/step-16.04.3.tar.xz";
-      sha256 = "1rybd7apzp9ky094325qcgmhgwns8vvsvz6y17injxqjcwk25bxp";
-      name = "step-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/step-16.08.0.tar.xz";
+      sha256 = "035qflw50q22ml9nmwdl7ih3ym543dcyizc792cj3axmmhjvbpki";
+      name = "step-16.08.0.tar.xz";
     };
   };
   svgpart = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/svgpart-16.04.3.tar.xz";
-      sha256 = "17xnhf9g3qcyra8h5jvvmw6gavv25lm9x57j9vl0fhfrc7s398sq";
-      name = "svgpart-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/svgpart-16.08.0.tar.xz";
+      sha256 = "1z79056lsr4w3abqic4hk7xqnpma0sqq6ir9acrgkw89qiwjinga";
+      name = "svgpart-16.08.0.tar.xz";
     };
   };
   sweeper = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/sweeper-16.04.3.tar.xz";
-      sha256 = "1xx7im8kz08cmddy1n52ndxz67yiawabm9pyacjssr3nrs82imrh";
-      name = "sweeper-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/sweeper-16.08.0.tar.xz";
+      sha256 = "0ra8gldnbd6rkqrfrdljdjdh8naw1anga7g367mzik9n8vp0j5y4";
+      name = "sweeper-16.08.0.tar.xz";
     };
   };
   syndication = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/syndication-16.04.3.tar.xz";
-      sha256 = "036wpmqkqdry6gaxf56f1yc9vn41lwmkgxdslyb7r7y0g5mxlyr5";
-      name = "syndication-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/syndication-16.08.0.tar.xz";
+      sha256 = "0kg4194lrpda95pr9qk87frfvx4r0lmqvvlivyz4nqd18w9dj4r3";
+      name = "syndication-16.08.0.tar.xz";
     };
   };
   umbrello = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/umbrello-16.04.3.tar.xz";
-      sha256 = "05gphjb35if4882gf79vqpdpkifzp50v7g0hpbarx01b00ijb00i";
-      name = "umbrello-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/umbrello-16.08.0.tar.xz";
+      sha256 = "0jhcdd8awdkky6jzki034ims04n27ix38hnxhldxj94n52crjdgl";
+      name = "umbrello-16.08.0.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "16.04.3";
+    version = "16.08.0";
     src = fetchurl {
-      url = "${mirror}/stable/applications/16.04.3/src/zeroconf-ioslave-16.04.3.tar.xz";
-      sha256 = "11bj016v0lppdqpasvqrqgljdbykar8bh1q0gwwykxh1zhk932jb";
-      name = "zeroconf-ioslave-16.04.3.tar.xz";
+      url = "${mirror}/stable/applications/16.08.0/src/zeroconf-ioslave-16.08.0.tar.xz";
+      sha256 = "0fb0c24rhkrrna9ymmlrxwf711bx7pnb2v0sx4jsla79r9wr2z0g";
+      name = "zeroconf-ioslave-16.08.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/kde-5/plasma/breeze-gtk.nix b/pkgs/desktops/kde-5/plasma/breeze-gtk.nix
index 664387de170..57de2fa2d47 100644
--- a/pkgs/desktops/kde-5/plasma/breeze-gtk.nix
+++ b/pkgs/desktops/kde-5/plasma/breeze-gtk.nix
@@ -5,4 +5,5 @@
 plasmaPackage {
   name = "breeze-gtk";
   nativeBuildInputs = [ ecm ];
+  cmakeFlags = [ "-DWITH_GTK3_VERSION=3.20" ];
 }
diff --git a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh
index c0d5f6dbf59..a39b388cbb7 100755
--- a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh
+++ b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh
@@ -119,9 +119,12 @@ if test $returncode -ne 0; then
 fi
 [ -r $configDir/startupconfig ] && . $configDir/startupconfig
 
-if test "$kdeglobals_kscreen_scalefactor" -ne 1; then
-    export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor
+if [ "$kdeglobals_kscreen_screenscalefactors" ]; then
+    export QT_SCREEN_SCALE_FACTORS="$kdeglobals_kscreen_screenscalefactors"
 fi
+#Manually disable auto scaling because we are scaling above
+#otherwise apps that manually opt in for high DPI get auto scaled by the developer AND manually scaled by us
+export QT_AUTO_SCREEN_SCALE_FACTOR=0
 
 XCURSOR_PATH=~/.icons
 IFS=":" read -r -a xdgDirs <<< "$XDG_DATA_DIRS"
@@ -159,6 +162,12 @@ unset THEME
 #
 xsetroot -cursor_name left_ptr
 
+if test "$kcmfonts_general_forcefontdpi" -ne 0; then
+    xrdb -quiet -merge -nocpp <<EOF
+Xft.dpi: $kcmfonts_general_forcefontdpi
+EOF
+fi
+
 dl=$DESKTOP_LOCKED
 unset DESKTOP_LOCKED # Don't want it in the environment
 
@@ -201,7 +210,7 @@ done
 echo 'startkde: Starting up...'  1>&2
 
 # Make sure that D-Bus is running
-if $qdbus >/dev/null 2>/dev/null; then
+if qdbus >/dev/null 2>/dev/null; then
     : # ok
 else
     echo 'startkde: Could not start D-Bus. Can you call qdbus?'  1>&2
@@ -240,7 +249,7 @@ KDE_SESSION_VERSION=5
 export KDE_SESSION_VERSION
 xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
 
-KDE_SESSION_UID=`id -ru`
+KDE_SESSION_UID=$(id -ru)
 export KDE_SESSION_UID
 
 XDG_CURRENT_DESKTOP=KDE
@@ -278,11 +287,6 @@ fi
 
 qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit
 
-# (NixOS) Run kbuildsycoca5 before starting the user session because things
-# may be missing or moved if they have run nixos-rebuild and it may not be
-# possible for them to start Konsole to run it manually!
-kbuildsycoca5
-
 # finally, give the session control to the session manager
 # see kdebase/ksmserver for the description of the rest of the startup sequence
 # if the KDEWM environment variable has been set, then it will be used as KDE's
diff --git a/pkgs/desktops/lxde/core/lxmenu-data.nix b/pkgs/desktops/lxde/core/lxmenu-data.nix
index b75c09d2909..27a5903a61b 100644
--- a/pkgs/desktops/lxde/core/lxmenu-data.nix
+++ b/pkgs/desktops/lxde/core/lxmenu-data.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.1.5";
 
   src = fetchurl {
-    url = "http://downloads.sourceforge.net/lxde/${name}.tar.xz";
+    url = "mirror://sourceforge/lxde/${name}.tar.xz";
     sha256 = "9fe3218d2ef50b91190162f4f923d6524c364849f87bcda8b4ed8eb59b80bab8";
   };
 
diff --git a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
index bb04df6134d..d91f06e0c3a 100644
--- a/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/pantheon-terminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
+{ stdenv, fetchurl, perl, cmake, vala_0_23, pkgconfig, glib, gtk3, granite, gnome3, libnotify, gettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
   majorVersion = "0.3";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = with gnome3; [
-    perl cmake vala pkgconfig glib gtk3 granite libnotify gettext makeWrapper
+    perl cmake vala_0_23 pkgconfig glib gtk3 granite libnotify gettext makeWrapper
     vte_290 libgee gsettings_desktop_schemas defaultIconTheme
   ];
   meta = {
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index d180de87cad..52a3b485d91 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "arachne-pnr-${version}";
-  version = "2016.05.21";
+  version = "2016.08.18";
 
   src = fetchFromGitHub {
     owner = "cseed";
     repo = "arachne-pnr";
-    rev = "6b8336497800782f2f69572d40702b60423ec67f";
-    sha256 = "11hg17f4lp8azc0ir0i473fz9c0dra82r4fn45cr3amd57v00qbf";
+    rev = "52e69ed207342710080d85c7c639480e74a021d7";
+    sha256 = "15bdw5yxj76lxrwksp6liwmr6l1x77isf4bs50ys9rsnmiwh8c3w";
   };
 
   preBuild = ''
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 190f2b7a96a..4957706ea0f 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "2.6";
+  version = "2.7.1";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "05sdxgg2w7ykw6xbcq6dl2kzxdz4qzhjajiawpy6490wqiji7wm1";
+    sha256 = "1vhbs1fmr9x2imqyd6yfvkbz763jhjfm9wk4nizf9rn1cvxrjqa4";
   };
 
   buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir ]);
diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix
index ca3e9c6956d..85caa82a155 100644
--- a/pkgs/development/compilers/factor-lang/default.nix
+++ b/pkgs/development/compilers/factor-lang/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
     sed -ie 's#/usr/share/zoneinfo/#${tzdata}/share/zoneinfo/#g' \
       $out/lib/factor/extra/tzinfo/tzinfo.factor
 
-    sed -ie 's#/usr/share/terminfo#${ncurses}/share/terminfo#g' \
+    sed -ie 's#/usr/share/terminfo#${ncurses.out}/share/terminfo#g' \
       $out/lib/factor/extra/terminfo/terminfo.factor
 
     cp ./factor $out/bin
diff --git a/pkgs/development/compilers/fpc/binary.nix b/pkgs/development/compilers/fpc/binary.nix
index 57e670750db..0ecf4437c9a 100644
--- a/pkgs/development/compilers/fpc/binary.nix
+++ b/pkgs/development/compilers/fpc/binary.nix
@@ -6,12 +6,12 @@ stdenv.mkDerivation {
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.i386-linux.tar";
+        url = "mirror://sourceforge/project/freepascal/Linux/2.6.0/fpc-2.6.0.i386-linux.tar";
         sha256 = "08yklvrfxvk59bxsd4rh1i6s3cjn0q06dzjs94h9fbq3n1qd5zdf";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "http://sourceforge.net/projects/freepascal/files/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar";
+        url = "mirror://sourceforge/project/freepascal/Linux/2.6.0/fpc-2.6.0.x86_64-linux.tar";
         sha256 = "0k9vi75k39y735fng4jc2vppdywp82j4qhzn7x4r6qjkad64d8lx";
       }
     else throw "Not supported on ${stdenv.system}.";
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
index 65c0f2ea1c5..7908d6d06ef 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     for f in $(find $out); do
       if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
         patchelf --set-interpreter ${getLib glibc}/lib/ld-linux.so.2 \
-                 --set-rpath $out/lib:${getLib gcc}/lib:${ncurses.out}/lib \
+                 --set-rpath ${stdenv.lib.makeLibraryPath [ "$out" gcc ncurses ]} \
                  "$f" || true
       fi
     done
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index ec6f0ca8d14..955c683a43f 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -333,8 +333,8 @@ stdenv.mkDerivation ({
       else ""}
     ${if javaAwtGtk then "--enable-java-awt=gtk" else ""}
     ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""}
-    --with-gmp=${gmp}
-    --with-mpfr=${mpfr}
+    --with-gmp=${gmp.dev}
+    --with-mpfr=${mpfr.dev}
     --with-mpc=${libmpc}
     ${if libelf != null then "--with-libelf=${libelf}" else ""}
     --disable-libstdcxx-pch
diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix
index 2df019bd7f1..5e5157215d3 100644
--- a/pkgs/development/compilers/ghc/6.10.2-binary.nix
+++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     (if stdenv.isLinux then ''
       find . -type f -perm -0100 \
           -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${libedit}/lib:${ncurses5.out}/lib:${gmp.out}/lib" {} \;
+          --set-rpath "${lib.makeLibraryPath [ libedit ncurses5 gmp ]}" {} \;
       for prog in ld ar gcc strip ranlib; do
         find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
       done
diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix
index 9b9da4d4f78..6140cde4a9e 100644
--- a/pkgs/development/compilers/ghc/7.0.4-binary.nix
+++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     stdenv.lib.optionalString stdenv.isLinux ''
       find . -type f -perm -0100 \
           -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${ncurses5.out}/lib:${gmp.out}/lib" {} \;
+          --set-rpath "${stdenv.lib.makeLibraryPath [ ncurses5 gmp ]}" {} \;
       sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
       sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
       for prog in ld ar gcc strip ranlib; do
diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix
index 4f13954d1db..2e96c999b9e 100644
--- a/pkgs/development/compilers/ghc/7.10.2.nix
+++ b/pkgs/development/compilers/ghc/7.10.2.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index b8e9082f061..c059a89bde3 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
index 5faae118d8c..25eabc769aa 100644
--- a/pkgs/development/compilers/ghc/7.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
       ln -sv "${ncurses5.out}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5"
       find . -type f -perm -0100 \
           -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "$out/lib:${gmp.out}/lib" {} \;
+          --set-rpath "${stdenv.lib.makeLibraryPath [ "$out" gmp ]}" {} \;
       sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
       sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
       for prog in ld ar gcc strip ranlib; do
diff --git a/pkgs/development/compilers/ghc/8.0.1.nix b/pkgs/development/compilers/ghc/8.0.1.nix
index fceade0741f..8341fca9f42 100644
--- a/pkgs/development/compilers/ghc/8.0.1.nix
+++ b/pkgs/development/compilers/ghc/8.0.1.nix
@@ -1,10 +1,16 @@
 { stdenv, fetchurl, fetchpatch, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
-, hscolour
+, hscolour, patchutils
 }:
 
 let
   inherit (bootPkgs) ghc;
 
+  fetchFilteredPatch = args: fetchurl (args // {
+    downloadToTemp = true;
+    postFetch = ''
+      ${patchutils}/bin/filterdiff --clean --strip-match=1 -x 'testsuite/*' "$downloadedFile" > "$out"
+    '';
+  });
 in
 stdenv.mkDerivation rec {
   version = "8.0.1";
@@ -17,6 +23,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./ghc-8.x-dont-pass-linker-flags-via-response-files.patch  # https://github.com/NixOS/nixpkgs/issues/10752
+
+    # Fix https://ghc.haskell.org/trac/ghc/ticket/12130
+    (fetchFilteredPatch { url = https://git.haskell.org/ghc.git/patch/4d71cc89b4e9648f3fbb29c8fcd25d725616e265; sha256 = "0syaxb4y4s2dc440qmrggb4vagvqqhb55m6mx12rip4i9qhxl8k0"; })
+    (fetchFilteredPatch { url = https://git.haskell.org/ghc.git/patch/2f8cd14fe909a377b3e084a4f2ded83a0e6d44dd; sha256 = "06zvlgcf50ab58bw6yw3krn45dsmhg4cmlz4nqff8k4z1f1bj01v"; })
   ];
 
   buildInputs = [ ghc perl hscolour ];
@@ -54,7 +64,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 79234fd55ab..0f3b57949b7 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -61,7 +61,7 @@ in stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix
index 1dc6805bcd3..36b6c21aebb 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/default.nix
@@ -151,7 +151,7 @@ stdenv.mkDerivation rec {
     for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
         wrapProgram "$prog" \
             --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
-            --prefix PATH : "${curl}/bin"
+            --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
     done
   '';
 
diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix
index 80aaf6dd01f..73c2cc0b30a 100644
--- a/pkgs/development/compilers/julia/git.nix
+++ b/pkgs/development/compilers/julia/git.nix
@@ -163,8 +163,8 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
         wrapProgram "$prog" \
-            --prefix LD_LIBRARY_PATH : "$out/lib/julia:$LD_LIBRARY_PATH" \
-            --prefix PATH : "${curl}/bin"
+            --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
+            --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
     done
   '';
 
diff --git a/pkgs/development/compilers/llvm/3.8/llvm.nix b/pkgs/development/compilers/llvm/3.8/llvm.nix
index fb826648032..fc29d00a524 100644
--- a/pkgs/development/compilers/llvm/3.8/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.8/llvm.nix
@@ -14,7 +14,7 @@
 , compiler-rt_src
 , libcxxabi
 , debugVersion ? false
-, enableSharedLibraries ? !stdenv.isDarwin
+, enableSharedLibraries ? true
 }:
 
 let
@@ -69,6 +69,11 @@ in stdenv.mkDerivation rec {
     paxmark m bin/{lli,llvm-rtdyld}
   '';
 
+  postInstall = stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) ''
+    install_name_tool -id $out/lib/libLLVM.dylib $out/lib/libLLVM.dylib
+    ln -s $out/lib/libLLVM.dylib $out/lib/libLLVM-${version}.dylib
+  '';
+
   enableParallelBuilding = true;
 
   passthru.src = src;
diff --git a/pkgs/development/compilers/microscheme/default.nix b/pkgs/development/compilers/microscheme/default.nix
index 64d86aaac0d..4fd71b748cc 100644
--- a/pkgs/development/compilers/microscheme/default.nix
+++ b/pkgs/development/compilers/microscheme/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     make install PREFIX=$out
 
     wrapProgram $out/bin/microscheme \
-      --prefix PATH : "${avrdude}/bin:${avrgcclibc}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ avrdude avrgcclibc ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index c4890c1ca88..2a72387028d 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -15,22 +15,22 @@ stdenv.mkDerivation rec {
 
   binSrc =
     if stdenv.system == "i686-linux" then (fetchurl {
-      url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.x86-linux.tgz";
+      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.x86-linux.tgz";
       sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j";
     })
     else if stdenv.system == "x86_64-linux" then (fetchurl {
-        url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-linux.tgz";
+        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-linux.tgz";
         sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn";
     })
     else if stdenv.system == "x86_64-darwin" then (fetchurl {
-        url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz";
+        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz";
         sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9";
     })
     else throw "Architecture not supported";
 
   codeSrc =
     fetchurl {
-      url = "http://sourceforge.net/projects/mlton/files/mlton/${version}/${name}.src.tgz";
+      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}.src.tgz";
       sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11";
     };
 
diff --git a/pkgs/development/compilers/mozart/binary.nix b/pkgs/development/compilers/mozart/binary.nix
index ae040297313..e3dd950e0d1 100644
--- a/pkgs/development/compilers/mozart/binary.nix
+++ b/pkgs/development/compilers/mozart/binary.nix
@@ -10,7 +10,7 @@ in stdenv.mkDerivation {
   name = "mozart-binary-${version}";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/mozart-oz/files/v${version}-alpha.0/mozart2-${version}-alpha.0+build.4105.5c06ced-x86_64-linux.tar.gz";
+    url = "mirror://sourceforge/project/mozart-oz/v${version}-alpha.0/mozart2-${version}-alpha.0+build.4105.5c06ced-x86_64-linux.tar.gz";
     sha256 = "0rsfrjimjxqbwprpzzlmydl3z3aiwg5qkb052jixdxjyad7gyh5z";
   };
 
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 40c71926279..2e691dc749d 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   # Paths so the opa compiler code generation will use the same programs as were
   # used to build opa.
-  codeGeneratorPaths = "${ocamlPackages.ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin:${nodejs}/bin";
+  codeGeneratorPaths = stdenv.lib.makeBinPath [ ocamlPackages.ocaml gcc binutils gnumake nodejs ];
 
   preConfigure = ''
     patchShebangs .
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
index 49d1c64bfb9..8382be7a209 100644
--- a/pkgs/development/compilers/opendylan/bin.nix
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
     for a in "$out"/lib/*.so; do 
       patchelf --set-rpath "$out/lib:${boehmgc.out}/lib" "$a"
     done
-    sed -i -e "s|\-lgc|\-L${boehmgc}\/lib -lgc|" $out/lib/config.jam
+    sed -i -e "s|\-lgc|\-L${boehmgc.out}\/lib -lgc|" $out/lib/config.jam
     wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin
   '';
 
diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix
index 5426b0162a7..e6186bc8f13 100644
--- a/pkgs/development/compilers/openjdk/7.nix
+++ b/pkgs/development/compilers/openjdk/7.nix
@@ -69,6 +69,8 @@ let
         fontconfig perl file bootjdk
       ];
 
+    NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
     NIX_LDFLAGS = if minimal then null else "-lfontconfig -lXcursor -lXinerama";
 
     postUnpack = ''
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index c42b39ce91f..6344b96db33 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -18,42 +18,42 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "102";
-  build = "04";
+  update = "122";
+  build = "00";
   baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
   repover = "jdk8u${update}-b${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
   jdk8 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "1qwpkg169zrgx58iw8kzgr6l6chyh9n7ngkyabdfcp60i0qpga93";
+             sha256 = "0biy2xpb6krinmpj5pqsz0vryd2m6i819csvqnv88rc3750qh13d";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "0nj9h0651ks9rssy58ma2fvnc05viwbfc91a6dxhkr1935bmzh3p";
+             sha256 = "1wy9n64fvxybpd8lqd2zbiv2z23nfp10bd098lhqw7z46yxbm3ra";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "07719n5bxi4yhqisnj77h4w6psih75ja3v7nx7j623ynbb7xjb07";
+             sha256 = "1hzliyjaz0dq7l934d16c3ddx6kiszl2hkc2cs0rhb09m7q4zcv7";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "0gf1gy4xbzxda8pwm10lh0kbjrh5icz4pxzlbhnkxq44xvl29vd3";
+             sha256 = "0576r009my434fgv9m7lwd5bvvgbb182aw8z8fwwbi36mf5j3sr5";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "0k5kzp9r3zny8kg9m6jad3gckf8dshlss5dd5v28njpzcsfrsd2v";
+             sha256 = "1hn40jm2fcs037zx30k1gxw6j24hr50a78zjjaaql73yhhzf74xh";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "1jw5w88yi59xarvak8rx4951090ri7jihkd17f29j1hbk6fzv052";
+             sha256 = "1lbvaw3ck0inz9376qh9nw8d1ys93plfpsn1sp9mmwdjyglvznif";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "151fwhz1x947a1bw0wgdrkzqw6hzfrlgn682jrjn8dvyjz7inka4";
+             sha256 = "11viwry7fj70wgzfbpslb6j1zpqqzicdf8yyqhw3whf7l6wx2bav";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "1vacw1hg1vgz5ydgw1m57bynq0zl5glxpgzznrajnqbwd9yq6rzp";
+             sha256 = "057g393kjb9via2a3x3zm7r4g9dslw0nkwn6yppzd8hal325s1wa";
           };
   openjdk8 = stdenv.mkDerivation {
     name = "openjdk-8u${update}b${build}";
@@ -101,6 +101,10 @@ let
       "--enable-unlimited-crypto"
       "--disable-debug-symbols"
       "--disable-freetype-bundling"
+
+      # glibc 2.24 deprecated readdir_r so we need this
+      # See https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg49006.html
+      "--with-extra-cflags=\"-Wno-error=deprecated-declarations\""
     ] ++ (if minimal then [
       "--disable-headful"
       "--with-zlib=bundled"
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index e5f7612c487..93ce5037fed 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
   checkTarget = "test";
 
   preCheck = ''
-    export LIBRARY_PATH="$out/lib:${openssl.out}/lib:${pcre2}/lib"
+    export LIBRARY_PATH="$out/lib:${stdenv.lib.makeLibraryPath [ openssl pcre2 ]}"
   '';
 
   installPhase = ''
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
new file mode 100644
index 00000000000..463481a1547
--- /dev/null
+++ b/pkgs/development/compilers/solc/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, boost, cmake, jsoncpp }:
+
+stdenv.mkDerivation rec {
+  version = "0.3.6";
+  name = "solc-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ethereum";
+    repo = "solidity";
+    rev = "v${version}";
+    sha256 = "1cynqwy8wr63l3l4wv9z6shhcy6lq0q8pbsh3nav0dg9qgj9sg57";
+  };
+
+  buildInputs = [ boost cmake jsoncpp ];
+
+  meta = {
+    description = "Compiler for Ethereum smart contract language Solidity";
+    longDescription = "This package also includes `lllc', the LLL compiler.";
+    homepage = https://github.com/ethereum/solidity;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.dbrock ];
+    inherit version;
+  };
+}
diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix
index 8aa980b72e6..059a9e7dbe3 100644
--- a/pkgs/development/compilers/squeak/default.nix
+++ b/pkgs/development/compilers/squeak/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     for i in squeak.in squeak.sh.in; do
       substituteInPlace unix/cmake/$i --replace "PATH=" \
-        "PATH=${coreutils}/bin:${gnused}/bin:${which}/bin #"
+        "PATH=${stdenv.lib.makeBinPath [ coreutils gnused which ]} #"
     done
   '';
 
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/0.23.nix
index 13b9c5f3983..13b9c5f3983 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/0.23.nix
diff --git a/pkgs/development/compilers/vala/0.32.nix b/pkgs/development/compilers/vala/0.32.nix
index 8ae76ec1b05..202b9fff6c8 100644
--- a/pkgs/development/compilers/vala/0.32.nix
+++ b/pkgs/development/compilers/vala/0.32.nix
@@ -4,8 +4,8 @@
 
 let
   major = "0.32";
-  minor = "0";
-  sha256 = "0vpvq403vdd25irvgk7zibz3nw4x4i17m0dgnns8j1q4vr7am8h7";
+  minor = "1";
+  sha256 = "1ab1l44abf9fj1wznzq5956431ia136rl5049cggnk5393jlf3fx";
 in
 stdenv.mkDerivation rec {
   name = "vala-${major}.${minor}";
@@ -27,4 +27,5 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib libiconv ]
     ++ libintlOrEmpty;
+
 }
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index d0b8ae7cf82..c424003fcbb 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -2,30 +2,30 @@
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2016.05.21";
+  version = "2016.08.18";
 
   srcs = [
     (fetchFromGitHub {
       owner = "cliffordwolf";
       repo = "yosys";
-      rev = "8e9e793126a2772eed4b041bc60415943c71d5ee";
-      sha256 = "1s0x7n7qh2qbfc0d7p4q10fvkr61jdqgyqzijr422rabh9zl4val";
+      rev = "9b8e06bee177f53c34a9dd6dd907a822f21659be";
+      sha256 = "0x5c1bcayahn7pbgycxkxr6lkv9m0jpwfdlmyp2m9yzm2lpyw7dg";
       name = "yosys";
     })
     (fetchFromBitbucket {
       owner = "alanmi";
       repo = "abc";
-      rev = "d9559ab";
-      sha256 = "08far669khb65kfpqvjqmqln473j949ak07xibfdjdmiikcy533i";
-      name = "abc";
+      rev = "a2e5bc66a68a";
+      sha256 = "09yvhj53af91nc54gmy7cbp7yljfcyj68a87494r5xvdfnsj11gy";
+      name = "yosys-abc";
     })
   ];
   sourceRoot = "yosys";
 
   buildInputs = [ pkgconfig tcl readline libffi python3 bison flex ];
   preBuild = ''
-    chmod -R u+w ../abc
-    ln -s ../abc abc
+    chmod -R u+w ../yosys-abc
+    ln -s ../yosys-abc abc
     make config-gcc
     echo 'ABCREV := default' >> Makefile.conf
     makeFlags="PREFIX=$out $makeFlags"
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index e6373c1d50e..72c91daac40 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -55,13 +55,8 @@ let
       else abort "Unrecognized package fetch type";
     };
 
-  importGodeps = { depsFile, filterPackages ? [] }:
-  let
-    deps = lib.importJSON depsFile;
-    external = filter (d: d ? include) deps;
-    direct = filter (d: d ? goPackagePath && (length filterPackages == 0 || elem d.goPackagePath filterPackages)) deps;
-  in
-    concatLists (map importGodeps (map (d: { depsFile = ./. + d.include; filterPackages = d.packages; }) external)) ++ (map dep2src direct);
+  importGodeps = { depsFile }:
+    map dep2src (lib.importJSON depsFile);
 
   goPath = if goDeps != null then importGodeps { depsFile = goDeps; } ++ extraSrcs
                              else extraSrcs;
diff --git a/pkgs/development/go-modules/libs.json b/pkgs/development/go-modules/libs.json
deleted file mode 100644
index 9e1b4369136..00000000000
--- a/pkgs/development/go-modules/libs.json
+++ /dev/null
@@ -1,1820 +0,0 @@
-[
-  {
-    "goPackagePath": "github.com/elves/getopt",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/elves/getopt",
-      "rev": "f91a7bf920995832d55a1182f26657bc975b9c24",
-      "sha256": "0wz5dz0iq1b1c2w30mmcgll9xidsrnlvs2906jw9szy0h67310za"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/sys",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/sys",
-      "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f",
-      "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/fsnotify.v1",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/fsnotify.v1",
-      "rev": "96c060f6a6b7e0d6f75fddd10efeaca3e5d1bcb0",
-      "sha256": "1308z1by82fbymcra26wjzw7lpjy91kbpp2skmwqcq4q1iwwzvk2"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/yaml.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/yaml.v2",
-      "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
-      "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
-    }
-  },
-  {
-    "goPackagePath": "github.com/docopt/docopt-go",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/docopt/docopt-go",
-      "rev": "784ddc588536785e7299f7272f39101f7faccc3f",
-      "sha256": "0wwz48jl9fvl1iknvn9dqr4gfy1qs03gxaikrxxp9gry6773v3sj"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/crypto",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/crypto",
-      "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
-      "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/Sirupsen/logrus",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/Sirupsen/logrus",
-      "rev": "be52937128b38f1d99787bb476c789e2af1147f1",
-      "sha256": "1m6vvd4pg4lwglhk54lv5mf6cc8h7bi0d9zb3gar4crz531r66y4"
-    }
-  },
-  {
-    "goPackagePath": "github.com/agl/ed25519",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/agl/ed25519",
-      "rev": "278e1ec8e8a6e017cd07577924d6766039146ced",
-      "sha256": "165d89cc6dl28j4hkn86pny0jz3sa6hamzdvpvwdj4iha3x6lzc9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/golang/protobuf",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/golang/protobuf",
-      "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
-      "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/janimo/textsecure",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/janimo/textsecure",
-      "rev": "c38f429e48d6b2776d17b4171f216f132185b0f6",
-      "sha256": "191pwgfgphr0x04dwpvniax4wilpv52l25bw7d3igvnw302y7i94"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/net",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/net",
-      "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
-      "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
-    }
-  },
-  {
-    "goPackagePath": "github.com/howeyc/gopass",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/howeyc/gopass",
-      "rev": "2c70fa70727c953c51695f800f25d6b44abb368e",
-      "sha256": "152lrkfxk205rlxiign0w5wb0fmfh910yz4jhlv4f4l1qr1h2lx8"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/mgo.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/mgo.v2",
-      "rev": "c6a7dce14133ccac2dcac3793f1d6e2ef048503a",
-      "sha256": "0rg232q1bkq3y3kd5816hgk1jpf7i38aha5q5ia7j6p9xashz7vj"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/tomb.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/tomb.v2",
-      "rev": "14b3d72120e8d10ea6e6b7f87f7175734b1faab8",
-      "sha256": "1nza31jvkpka5431c4bdbirvjdy36b1b55sbzljqhqih25jrcjx5"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hanwen/go-fuse",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hanwen/go-fuse",
-      "rev": "bd746dd8bcc8c059a9d953a786a6156eb83f398e",
-      "sha256": "1dvvclp418j3d02v9717sfqhl6fw6yyddr9r3j8gsiv8nb62ib56"
-    }
-  },
-  {
-    "goPackagePath": "github.com/cpucycle/astrotime",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/cpucycle/astrotime",
-      "rev": "9c7d514efdb561775030eaf8f1a9ae6bddb3a2ca",
-      "sha256": "024sc7g55v4s54irssm5wsn74sr2k2ynsm6z16w47q66cxhgvby1"
-    }
-  },
-  {
-    "goPackagePath": "github.com/godbus/dbus",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/godbus/dbus",
-      "rev": "32c6cc29c14570de4cf6d7e7737d68fb2d01ad15",
-      "sha256": "0v401f761l88yapiaw23pxvxviqrwl2r2vfd6lq02044i7x4i5r3"
-    }
-  },
-  {
-    "goPackagePath": "github.com/gorilla/websocket",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/gorilla/websocket",
-      "rev": "a622679ebd7a3b813862379232f645f8e690e43f",
-      "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"
-    }
-  },
-  {
-    "goPackagePath": "github.com/syndtr/gocapability",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/syndtr/gocapability",
-      "rev": "2c00daeb6c3b45114c80ac44119e7b8801fdd852",
-      "sha256": "1x7jdcg2r5pakjf20q7bdiidfmv7vcjiyg682186rkp2wz0yws0l"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/inconshreveable/log15.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/inconshreveable/log15.v2",
-      "rev": "b105bd37f74e5d9dc7b6ad7806715c7a2b83fd3f",
-      "sha256": "18rldvi60i7b3lljfrsqgcc24gdkw2pcixxydznyggaqhh96l6a8"
-    }
-  },
-  {
-    "goPackagePath": "github.com/gorilla/mux",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/gorilla/mux",
-      "rev": "8096f47503459bcc74d1f4c487b7e6e42e5746b5",
-      "sha256": "0163fm9jsh54df471mx9kfhdg0070klqhw9ja0qwdzqibxq791b9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/pborman/uuid",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/pborman/uuid",
-      "rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4",
-      "sha256": "0rcx669bbjkkwdlw81spnra4ffgzd4rbpywnrj3w41m9vq6mk1gn"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/flosch/pongo2.v3",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/flosch/pongo2.v3",
-      "rev": "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9",
-      "sha256": "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8"
-    }
-  },
-  {
-    "goPackagePath": "github.com/olekukonko/tablewriter",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/olekukonko/tablewriter",
-      "rev": "cca8bbc0798408af109aaaa239cbd2634846b340",
-      "sha256": "0f9ph3z7lh6p6gihbl1461j9yq5qiaqxr9mzdkp512n18v89ml48"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mattn/go-sqlite3",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mattn/go-sqlite3",
-      "rev": "b4142c444a8941d0d92b0b7103a24df9cd815e42",
-      "sha256": "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/lxc/go-lxc.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/lxc/go-lxc.v2",
-      "rev": "8f9e220b36393c03854c2d224c5a55644b13e205",
-      "sha256": "1dc1n2561k3pxbm2zzh3qwlh30bcb2k9v22ghvr7ps2j9lmhs0ip"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mattn/go-runewidth",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mattn/go-runewidth",
-      "rev": "d6bea18f789704b5f83375793155289da36a3c7f",
-      "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"
-    }
-  },
-  {
-    "goPackagePath": "github.com/coreos/go-systemd",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/coreos/go-systemd",
-      "rev": "a606a1e936df81b70d85448221c7b1c6d8a74ef1",
-      "sha256": "0fhan564swp982dnzzspb6jzfdl453489c0qavh65g3shy5x8x28"
-    }
-  },
-  {
-    "goPackagePath": "github.com/dustinkirkland/golang-petname",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/dustinkirkland/golang-petname",
-      "rev": "2182cecef7f257230fc998bc351a08a5505f5e6c",
-      "sha256": "1xagj34y5rxl7rykhil8iqxlls9rbgcxgdvgfp7kg39pinw83arl"
-    }
-  },
-  {
-    "goPackagePath": "github.com/gorilla/context",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/gorilla/context",
-      "rev": "215affda49addc4c8ef7e2534915df2c8c35c6cd",
-      "sha256": "1ybvjknncyx1f112mv28870n0l7yrymsr0861vzw10gc4yn1h97g"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mattn/go-colorable",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mattn/go-colorable",
-      "rev": "3dac7b4f76f6e17fb39b768b89e3783d16e237fe",
-      "sha256": "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6"
-    }
-  },
-  {
-    "goPackagePath": "github.com/gosexy/gettext",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/gosexy/gettext",
-      "rev": "305f360aee30243660f32600b87c3c1eaa947187",
-      "sha256": "0sm7ziv56ms0lrk30ipbl6i17azar3a44dd2xvr011442zs5ym09"
-    }
-  },
-  {
-    "goPackagePath": "github.com/rcrowley/go-metrics",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/rcrowley/go-metrics",
-      "rev": "1ce93efbc8f9c568886b2ef85ce305b2217b3de3",
-      "sha256": "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/inconshreveable/go-vhost",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/inconshreveable/go-vhost",
-      "rev": "c4c28117502e4bf00960c8282b2d1c51c865fe2c",
-      "sha256": "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32"
-    }
-  },
-  {
-    "goPackagePath": "code.google.com/p/log4go",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/ccpaging/log4go",
-      "rev": "cb4cc51cd03958183d3b637d0750497d88c2f7a8",
-      "sha256": "0l9f86zzhla9hq35q4xhgs837283qrm4gxbp5lrwwls54ifiq7k2"
-    }
-  },
-  {
-    "goPackagePath": "github.com/daviddengcn/go-colortext",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/daviddengcn/go-colortext",
-      "rev": "13eaeb896f5985a1ab74ddea58707a73d875ba57",
-      "sha256": "0618xs9lc5xfp5zkkb5j47dr7i30ps3zj5fj0zpv8afqh2cc689x"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/yaml.v1",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/go-yaml/yaml",
-      "rev": "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a",
-      "sha256": "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy"
-    }
-  },
-  {
-    "goPackagePath": "github.com/inconshreveable/mousetrap",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/inconshreveable/mousetrap",
-      "rev": "9dbb96d2c3a964935b0870b5abaea13c98b483aa",
-      "sha256": "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"
-    }
-  },
-  {
-    "goPackagePath": "github.com/nsf/termbox-go",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/nsf/termbox-go",
-      "rev": "9aecf65084a5754f12d27508fa2e6ed56851953b",
-      "sha256": "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/inconshreveable/go-update.v0",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/inconshreveable/go-update",
-      "rev": "d8b0b1d421aa1cbf392c05869f8abbc669bb7066",
-      "sha256": "0cvkik2w368fzimx3y29ncfgw7004qkbdf2n3jy5czvzn35q7dpa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kardianos/osext",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kardianos/osext",
-      "rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc",
-      "sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kr/binarydist",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kr/binarydist",
-      "rev": "9955b0ab8708602d411341e55fffd7e0700f86bd",
-      "sha256": "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3"
-    }
-  },
-  {
-    "goPackagePath": "github.com/jessevdk/go-flags",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/jessevdk/go-flags",
-      "rev": "1b89bf73cd2c3a911d7b2a279ab085c4a18cf539",
-      "sha256": "027nglc5xx1cm03z9sisg0iqrhwcj6gh5z254rrpl8p4fwrxx680"
-    }
-  },
-  {
-    "goPackagePath": "github.com/prometheus/client_model",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/prometheus/client_model",
-      "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
-      "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/prometheus/common",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/prometheus/common",
-      "rev": "40456948a47496dc22168e6af39297a2f8fbf38c",
-      "sha256": "15700w18pifng0l2isa6v25y91r5rb7yfgljqw2g2gqrvac6sr5l"
-    }
-  },
-  {
-    "goPackagePath": "github.com/beorn7/perks",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/beorn7/perks",
-      "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
-      "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
-    }
-  },
-  {
-    "goPackagePath": "github.com/coreos/go-etcd",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/coreos/go-etcd",
-      "rev": "9847b93751a5fbaf227b893d172cee0104ac6427",
-      "sha256": "1ihq01ayqzxvn6hca5j00vl189vi5lm78f0fy2wpk5mrm3xi01l4"
-    }
-  },
-  {
-    "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/matttproud/golang_protobuf_extensions",
-      "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
-      "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
-    }
-  },
-  {
-    "goPackagePath": "github.com/prometheus/client_golang",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/prometheus/client_golang",
-      "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
-      "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
-    }
-  },
-  {
-    "goPackagePath": "github.com/stathat/go",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/stathat/go",
-      "rev": "91dfa3a59c5b233fef9a346a1460f6e2bc889d93",
-      "sha256": "105ql5v8r4hqcsq0ag7asdxqg9n7rvf83y1q1dj2nfjyn4manv6r"
-    }
-  },
-  {
-    "goPackagePath": "github.com/ugorji/go",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/ugorji/go",
-      "rev": "03e33114d4d60a1f37150325e15f51b0fa6fc4f6",
-      "sha256": "01kdzgx23cgb4k867m1pvsw14hhdr9jf2frqy6i4j4221055m57v"
-    }
-  },
-  {
-    "goPackagePath": "github.com/miekg/dns",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/miekg/dns",
-      "rev": "7e024ce8ce18b21b475ac6baf8fa3c42536bf2fa",
-      "sha256": "0hlwb52lnnj3c6papjk9i5w5cjdw6r7c891v4xksnfvk1f9cy9kl"
-    }
-  },
-  {
-    "goPackagePath": "github.com/prometheus/procfs",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/prometheus/procfs",
-      "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
-      "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
-    }
-  },
-  {
-    "goPackagePath": "github.com/schachmat/ingo",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/schachmat/ingo",
-      "rev": "fab41e4e62cbef5d92998746ec25f7e195100f38",
-      "sha256": "04yfnch7pdabjjqfl2qxjmsaknvp4m1rbjlv8qrpmnqwjkxzx0hb"
-    }
-  },
-  {
-    "goPackagePath": "github.com/michaelmacinnis/adapted",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/michaelmacinnis/adapted",
-      "rev": "0dd5fa34d6f9d74c7c0deed1fc224f9a87e02978",
-      "sha256": "16n3a87m33pqx4qih713q3gw2j6ksj1q3ngjax6bpn5b11rqvikv"
-    }
-  },
-  {
-    "goPackagePath": "github.com/peterh/liner",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/peterh/liner",
-      "rev": "ad1edfd30321d8f006ccf05f1e0524adeb943060",
-      "sha256": "0c24d9j1gnq7r982h1l2isp3d37379qw155hr8ihx9i2mhpfz317"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mitchellh/iochan",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mitchellh/iochan",
-      "rev": "b584a329b193e206025682ae6c10cdbe03b0cd77",
-      "sha256": "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b"
-    }
-  },
-  {
-    "goPackagePath": "github.com/gogo/protobuf",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/gogo/protobuf",
-      "rev": "7883e1468d48d969e1c3ce4bcde89b6a7dd4adc4",
-      "sha256": "16ja7lqq96q0pnzgnbwnh0j8qzvqgns1nfk8ndxgkg4sg93bg372"
-    }
-  },
-  {
-    "goPackagePath": "github.com/golang/glog",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/golang/glog",
-      "rev": "fca8c8854093a154ff1eb580aae10276ad6b1b5f",
-      "sha256": "1nr2q0vas0a2f395f4shjxqpas18mjsf8yhgndsav7svngpbbpg8"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mesos/mesos-go",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mesos/mesos-go",
-      "rev": "aaa5b2fecf0e2db463f4f996c89617d6766b2969",
-      "sha256": "1pk1fpxksjln6kqvgm1igw3582jgrn14fwa8bdj5cwbpy6skjdvk"
-    }
-  },
-  {
-    "goPackagePath": "github.com/pmezard/go-difflib",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/pmezard/go-difflib",
-      "rev": "d8ed2627bdf02c080bf22230dbb337003b7aba2d",
-      "sha256": "0w1jp4k4zbnrxh3jvh8fgbjgqpf2hg31pbj8fb32kh26px9ldpbs"
-    }
-  },
-  {
-    "goPackagePath": "github.com/samuel/go-zookeeper",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/samuel/go-zookeeper",
-      "rev": "5bb5cfc093ad18a28148c578f8632cfdb4d802e4",
-      "sha256": "1kpx1ymh7rds0b2km291idnyqi0zck74nd8hnk72crgz7wmpqv6z"
-    }
-  },
-  {
-    "goPackagePath": "github.com/stretchr/objx",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/stretchr/objx",
-      "rev": "cbeaeb16a013161a98496fad62933b1d21786672",
-      "sha256": "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1"
-    }
-  },
-  {
-    "goPackagePath": "github.com/davecgh/go-spew",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/davecgh/go-spew",
-      "rev": "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d",
-      "sha256": "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk"
-    }
-  },
-  {
-    "goPackagePath": "github.com/emicklei/go-restful",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/emicklei/go-restful",
-      "rev": "892402ba11a2e2fd5e1295dd633481f27365f14d",
-      "sha256": "0gr9f53vayc6501a1kaw4p3h9pgf376cgxsfnr3f2dvp0xacvw8x"
-    }
-  },
-  {
-    "goPackagePath": "github.com/stretchr/testify",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/stretchr/testify",
-      "rev": "089c7181b8c728499929ff09b62d3fdd8df8adff",
-      "sha256": "03dzxkxbs298pvfsjz4kdadfaf9jkzsdhshqmg4p12wbyaj09s4p"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kr/pty",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kr/pty",
-      "rev": "67e2db24c831afa6c64fc17b4a143390674365ef",
-      "sha256": "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d"
-    }
-  },
-  {
-    "goPackagePath": "github.com/braintree/manners",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/braintree/manners",
-      "rev": "cab36f97339b1925cd89e158632728025557e550",
-      "sha256": "1q508c62iiklghkhwqz9c0zsn9hrij7kqb93gdywzj7ms7x6hlfh"
-    }
-  },
-  {
-    "goPackagePath": "github.com/codegangsta/cli",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/codegangsta/cli",
-      "rev": "71f57d300dd6a780ac1856c005c4b518cfd498ec",
-      "sha256": "1fxznirkvank5461789dm5aw5z8aqi0jvwligvz44659rfl376p3"
-    }
-  },
-  {
-    "goPackagePath": "github.com/elazarl/go-bindata-assetfs",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/elazarl/go-bindata-assetfs",
-      "rev": "d5cac425555ca5cf00694df246e04f05e6a55150",
-      "sha256": "636ce247ff6f85c14f38a421f46662fa77bdc29762692e1f72b3cd1f9d7a1d17"
-    }
-  },
-  {
-    "goPackagePath": "github.com/fatih/structs",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/fatih/structs",
-      "rev": "a9f7daa9c2729e97450c2da2feda19130a367d8f",
-      "sha256": "0pyrc7svc826g37al3db19n5l4r2m9h1mlhjh3hz2r41xfaqia50"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/hcl",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/hcl",
-      "rev": "54864211433d45cb780682431585b3e573b49e4a",
-      "sha256": "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/go-multierror",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/go-multierror",
-      "rev": "56912fb08d85084aa318edcf2bba735b97cf35c5",
-      "sha256": "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mreiferson/go-snappystream",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mreiferson/go-snappystream",
-      "rev": "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504",
-      "sha256": "0jdd5whp74nvg35d9hzydsi3shnb1vrnd7shi9qz4wxap7gcrid6"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bitly/go-nsq",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bitly/go-nsq",
-      "rev": "22a8bd48c443ec23bb559675b6df8284bbbdab29",
-      "sha256": "06hrkwk84w8rshkanvfgmgbiml7n06ybv192dvibhwgk2wz2dl46"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bitly/go-simplejson",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bitly/go-simplejson",
-      "rev": "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a",
-      "sha256": "0lj9cxyncchlw6p35j0yym5q5waiz0giw6ri41qdwm8y3dghwwiy"
-    }
-  },
-  {
-    "goPackagePath": "github.com/blang/semver",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/blang/semver",
-      "rev": "9bf7bff48b0388cb75991e58c6df7d13e982f1f2",
-      "sha256": "11sinbf942dpyc9wdpidkhmqn438cfp5n8x3xqnmq9aszkld9hy7"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bmizerany/perks",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bmizerany/perks",
-      "rev": "6cb9d9d729303ee2628580d9aec5db968da3a607",
-      "sha256": "0cdh84hmn21is6hvv6dy9qjdcg9w3l2k8avlk0881a8cqm09s90j"
-    }
-  },
-  {
-    "goPackagePath": "github.com/BurntSushi/toml",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/BurntSushi/toml",
-      "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
-      "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bitly/go-hostpool",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bitly/go-hostpool",
-      "rev": "d0e59c22a56e8dadfed24f74f452cea5a52722d2",
-      "sha256": "14ph12krn5zlg00vh9g6g08lkfjxnpw46nzadrfb718yl1hgyk3g"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bitly/timer_metrics",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bitly/timer_metrics",
-      "rev": "afad1794bb13e2a094720aeb27c088aa64564895",
-      "sha256": "1b717vkwj63qb5kan4b92kx4rg6253l5mdb3lxpxrspy56a6rl0c"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mreiferson/go-options",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mreiferson/go-options",
-      "rev": "7c174072188d0cfbe6f01bb457626abb22bdff52",
-      "sha256": "0ksyi2cb4k6r2fxamljg42qbz5hdcb9kv5i7y6cx4ajjy0xznwgm"
-    }
-  },
-  {
-    "goPackagePath": "google.golang.org/api",
-    "fetch": {
-      "type": "git",
-      "url": "https://code.googlesource.com/google-api-go-client",
-      "rev": "a5c3e2a4792aff40e59840d9ecdff0542a202a80",
-      "sha256": "1kigddnbyrl9ddpj5rs8njvf1ck54ipi4q1282k0d6b3am5qfbj8"
-    }
-  },
-  {
-    "goPackagePath": "google.golang.org/cloud",
-    "fetch": {
-      "type": "git",
-      "url": "https://code.googlesource.com/gocloud",
-      "rev": "6335269abf9002cf5a84613c13cda6010842b834",
-      "sha256": "15xrqxna5ms0r634k3bfzyymn431dvqcjwbsap8ay60x371kzbwf"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/oauth2",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/oauth2",
-      "rev": "397fe7649477ff2e8ced8fc0b2696f781e53745a",
-      "sha256": "0fza0l7iwh6llkq2yzqn7dxi138vab0da64lnghfj1p71fprjzn8"
-    }
-  },
-  {
-    "goPackagePath": "github.com/18F/hmacauth",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/18F/hmacauth",
-      "rev": "9232a6386b737d7d1e5c1c6e817aa48d5d8ee7cd",
-      "sha256": "056mcqrf2bv0g9gn2ixv19srk613h4sasl99w9375mpvmadb3pz1"
-    }
-  },
-  {
-    "goPackagePath": "github.com/armon/go-metrics",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/armon/go-metrics",
-      "rev": "b2d95e5291cdbc26997d1301a5e467ecbb240e25",
-      "sha256": "1jvdf98jlbyzbb9w159nifvv8fihrcs66drnl8pilqdjpmkmyyck"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mattn/go-isatty",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mattn/go-isatty",
-      "rev": "ae0b1f8f8004be68d791a576e3d8e7648ab41449",
-      "sha256": "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/logutils",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/logutils",
-      "rev": "0dc08b1671f34c4250ce212759ebd880f743d883",
-      "sha256": "0rynhjwvacv9ibl2k4fwz0xy71d583ac4p33gm20k9yldqnznc7r"
-    }
-  },
-  {
-    "goPackagePath": "github.com/armon/go-radix",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/armon/go-radix",
-      "rev": "fbd82e84e2b13651f3abc5ffd26b65ba71bc8f93",
-      "sha256": "16y64r1v054c2ln0bi5mrqq1cmvy6d6pnxk1glb8lw2g31ksa80c"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/go-syslog",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/go-syslog",
-      "rev": "42a2b573b664dbf281bd48c3cc12c086b17a39ba",
-      "sha256": "1j53m2wjyczm9m55znfycdvm4c8vfniqgk93dvzwy8vpj5gm6sb3"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/memberlist",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/memberlist",
-      "rev": "6025015f2dc659ca2c735112d37e753bda6e329d",
-      "sha256": "01s2gwnbgvwz4wshz9d4za0p12ji4fnapnlmz3jwfcmcwjpyqfb7"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mitchellh/mapstructure",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mitchellh/mapstructure",
-      "rev": "281073eb9eb092240d33ef253c404f1cca550309",
-      "sha256": "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh"
-    }
-  },
-  {
-    "goPackagePath": "github.com/armon/circbuf",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/armon/circbuf",
-      "rev": "f092b4f207b6e5cce0569056fba9e1a2735cb6cf",
-      "sha256": "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/mdns",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/mdns",
-      "rev": "2b439d37011456df8ff83a70ffd1cd6046410113",
-      "sha256": "17zwk212zmyramnjylpvvrvbbsz0qb5crkhly6yiqkyll3qzpb96"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mitchellh/cli",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mitchellh/cli",
-      "rev": "8102d0ed5ea2709ade1243798785888175f6e415",
-      "sha256": "08mj1l94pww72jy34gk9a483hpic0rrackskfw13r3ycy997w7m2"
-    }
-  },
-  {
-    "goPackagePath": "github.com/ryanuber/columnize",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/ryanuber/columnize",
-      "rev": "44cb4788b2ec3c3d158dd3d1b50aba7d66f4b59a",
-      "sha256": "1qrqr76cw58x2hkjic6h88na5ihgvkmp8mqapj8kmjcjzdxkzhr9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/go-msgpack",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/ugorji/go",
-      "rev": "03e33114d4d60a1f37150325e15f51b0fa6fc4f6",
-      "sha256": "01kdzgx23cgb4k867m1pvsw14hhdr9jf2frqy6i4j4221055m57v"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/go.net",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/go.net",
-      "rev": "104dcad90073cd8d1e6828b2af19185b60cf3e29",
-      "sha256": "0pfi09h4q6w2x833qxr8r609ml4kw1flqm265j752sb08sbf3zwf"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/crypto",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/crypto",
-      "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
-      "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/tools",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/tools",
-      "rev": "9ae4729fba20b3533d829a9c6ba8195b068f2abc",
-      "sha256": "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1"
-    }
-  },
-  {
-    "goPackagePath": "github.com/vincent-petithory/structfield",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/vincent-petithory/structfield",
-      "rev": "01a738558a47fbf16712994d1737fb31c77e7d11",
-      "sha256": "1kyx71z13mf6hc8ly0j0b9zblgvj5lzzvgnc3fqh61wgxrsw24dw"
-    }
-  },
-  {
-    "goPackagePath": "github.com/aybabtme/rgbterm",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/aybabtme/rgbterm",
-      "rev": "c07e2f009ed2311e9c35bca12ec00b38ccd48283",
-      "sha256": "1qph7drds44jzx1whqlrh1hs58k0wv0v58zyq2a81hmm72gsgzam"
-    }
-  },
-  {
-    "goPackagePath": "github.com/vaughan0/go-ini",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/vaughan0/go-ini",
-      "rev": "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1",
-      "sha256": "1l1isi3czis009d9k5awsj4xdxgbxn4n9yqjc1ac7f724x6jacfa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mitchellh/go-homedir",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mitchellh/go-homedir",
-      "rev": "1f6da4a72e57d4e7edd4a7295a585e0a3999a2d4",
-      "sha256": "1l5lrsjrnwxn299mhvyxvz8hd0spkx0d31gszm4cyx21bg1xsiy9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/goamz/goamz",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/goamz/goamz",
-      "rev": "2a8fed5e89ab9e16210fc337d1aac780e8c7bbb7",
-      "sha256": "0rlinp0cvgw66qjndg4padr5s0wd3n7kjfggkx6czqj9bqaxcz4b"
-    }
-  },
-  {
-    "goPackagePath": "github.com/nmcclain/asn1-ber",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/go-asn1-ber/asn1-ber",
-      "rev": "f4b6f4a84f5cde443d1925b5ec185ee93c2bdc72",
-      "sha256": "0qdyax6yw3hvplzqc2ykpihi3m5y4nii581ay0mxy9c54bzs2nk9"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/asn1-ber.v1",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/go-asn1-ber/asn1-ber",
-      "rev": "f4b6f4a84f5cde443d1925b5ec185ee93c2bdc72",
-      "sha256": "0qdyax6yw3hvplzqc2ykpihi3m5y4nii581ay0mxy9c54bzs2nk9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/peterbourgon/g2s",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/peterbourgon/g2s",
-      "rev": "ec76db4c1ac16400ac0e17ca9c4840e1d23da5dc",
-      "sha256": "1p4p8755v2nrn54rik7yifpg9szyg44y5rpp0kryx4ycl72307rj"
-    }
-  },
-  {
-    "goPackagePath": "github.com/nmcclain/ldap",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/go-ldap/ldap",
-      "rev": "83e65426fd1c06626e88aa8a085e5bfed0208e29",
-      "sha256": "179lwaf0hvczl8g4xzkpcpzq25p1b23f7399bx5zl55iin62d8yz"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kelseyhightower/memkv",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kelseyhightower/memkv",
-      "rev": "7f9c7f36f45ba80c62fe22779ee78d9b4ca36580",
-      "sha256": "090x65kr3gqh8fc8z4rm9hc2r0v0k7rfm5vsbmhdh21f48ixw540"
-    }
-  },
-  {
-    "goPackagePath": "github.com/armon/consul-api",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/armon/consul-api",
-      "rev": "f79efe463cdbb62f6d5a55f879a63ec554eb13e5",
-      "sha256": "1rkmzfhsazj9p2b6ywvs8yramzvxfxyvplzxi0ldvhcv04887gcp"
-    }
-  },
-  {
-    "goPackagePath": "github.com/garyburd/redigo",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/garyburd/redigo",
-      "rev": "535138d7bcd717d6531c701ef5933d98b1866257",
-      "sha256": "1m7nc1gvv5yqnq8ii75f33485il6y6prf8gxl97dimsw94qccc5v"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bkaradzic/go-lz4",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bkaradzic/go-lz4",
-      "rev": "74ddf82598bc4745b965729e9c6a463bedd33049",
-      "sha256": "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1"
-    }
-  },
-  {
-    "goPackagePath": "github.com/calmh/luhn",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/calmh/luhn",
-      "rev": "0c8388ff95fa92d4094011e5a04fc99dea3d1632",
-      "sha256": "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"
-    }
-  },
-  {
-    "goPackagePath": "golang.org/x/text",
-    "fetch": {
-      "type": "git",
-      "url": "https://go.googlesource.com/text",
-      "rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e",
-      "sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"
-    }
-  },
-  {
-    "goPackagePath": "github.com/vitrun/qart",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/vitrun/qart",
-      "rev": "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0",
-      "sha256": "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"
-    }
-  },
-  {
-    "goPackagePath": "github.com/calmh/du",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/calmh/du",
-      "rev": "3c0690cca16228b97741327b1b6781397afbdb24",
-      "sha256": "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/calmh/xdr",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/calmh/xdr",
-      "rev": "e467b5aeb65ca8516fb3925c84991bf1d7cc935e",
-      "sha256": "1bi4b2xkjzcr0vq1wxz14i9943k71sj092dam0gdmr9yvdrg0nra"
-    }
-  },
-  {
-    "goPackagePath": "github.com/juju/ratelimit",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/juju/ratelimit",
-      "rev": "772f5c38e468398c4511514f4f6aa9a4185bc0a0",
-      "sha256": "02rs61ay6sq499lxxszjsrxp33m6zklds1xrmnr5fk73vpqfa28p"
-    }
-  },
-  {
-    "goPackagePath": "github.com/thejerf/suture",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/thejerf/suture",
-      "rev": "99c1f2d613756768fc4299acd9dc621e11ed3fd7",
-      "sha256": "094ksr2nlxhvxr58nbnzzk0prjskb21r86jmxqjr3rwg4rkwn6d4"
-    }
-  },
-  {
-    "goPackagePath": "github.com/golang/snappy",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/golang/snappy",
-      "rev": "723cc1e459b8eea2dea4583200fd60757d40097a",
-      "sha256": "0bprq0qb46f5511b5scrdqqzskqqi2z8b4yh3216rv0n1crx536h"
-    }
-  },
-  {
-    "goPackagePath": "github.com/syndtr/goleveldb",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/syndtr/goleveldb",
-      "rev": "1a9d62f03ea92815b46fcaab357cfd4df264b1a0",
-      "sha256": "04ywbif36fiah4fw0x2abr5q3p4fdhi6q57d5icc2mz03q889vhb"
-    }
-  },
-  {
-    "goPackagePath": "github.com/flynn/go-shlex",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/flynn/go-shlex",
-      "rev": "3f9db97f856818214da2e1057f8ad84803971cff",
-      "sha256": "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia"
-    }
-  },
-  {
-    "goPackagePath": "github.com/xenolf/lego",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/xenolf/lego",
-      "rev": "ca19a90028e242e878585941c2a27c8f3b3efc25",
-      "sha256": "1zkcsbdzbmfzk3kqmcj9l13li8sz228xhrw2wj3ab4a0w6drbw3x"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/natefinch/lumberjack.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/natefinch/lumberjack.v2",
-      "rev": "514cbda263a734ae8caac038dadf05f8f3f9f738",
-      "sha256": "1v92v8vkip36l2fs6l5dpp655151hrijjc781cif658r8nf7xr82"
-    }
-  },
-  {
-    "goPackagePath": "github.com/shurcooL/sanitized_anchor_name",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/shurcooL/sanitized_anchor_name",
-      "rev": "10ef21a441db47d8b13ebcc5fd2310f636973c77",
-      "sha256": "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/square/go-jose.v1",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/square/go-jose.v1",
-      "rev": "40d457b439244b546f023d056628e5184136899b",
-      "sha256": "0asa1kl1qbx0cyayk44jhxxff0awpkwiw6va7yzrzjzhfc5kvg7p"
-    }
-  },
-  {
-    "goPackagePath": "github.com/mholt/archiver",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/mholt/archiver",
-      "rev": "85f054813ed511646b0ce5e047697e0651b8e1a4",
-      "sha256": "0b38mrfm3rwgdi7hrp4gjhf0y0f6bw73qjkfrkafxjrdpdg7nyly"
-    }
-  },
-  {
-    "goPackagePath": "github.com/dustin/go-humanize",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/dustin/go-humanize",
-      "rev": "8929fe90cee4b2cb9deb468b51fb34eba64d1bf0",
-      "sha256": "1g155kxjh6hd3ibx41nbpj6f7h5bh54zgl9dr53xzg2xlxljgjy0"
-    }
-  },
-  {
-    "goPackagePath": "github.com/jimstudt/http-authentication",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/jimstudt/http-authentication",
-      "rev": "3eca13d6893afd7ecabe15f4445f5d2872a1b012",
-      "sha256": "1drw3bhrxpjzwryqz9nq5s0yyjqyd42iym3bh1zjs5qsh401cq08"
-    }
-  },
-  {
-    "goPackagePath": "github.com/russross/blackfriday",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/russross/blackfriday",
-      "rev": "d18b67ae0afd61dae240896eae1785f00709aa31",
-      "sha256": "1l78hz8k1ixry5fjw29834jz1q5ysjcpf6kx2ggjj1s6xh0bfzvf"
-    }
-  },
-  {
-    "goPackagePath": "github.com/agl/go-gtk",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/agl/go-gtk",
-      "rev": "91c1edb38c241d73129e6b098ca1c9fa83abfc15",
-      "sha256": "156ixlhakpqgyp35rsvmndrqz8aggv5bcmzg9ynpri3b9j6kim4d"
-    }
-  },
-  {
-    "goPackagePath": "bitbucket.org/ww/goautoneg",
-    "fetch": {
-      "type": "hg",
-      "url": "bitbucket.org/ww/goautoneg",
-      "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
-      "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
-    }
-  },
-  {
-    "goPackagePath": "github.com/antonlindstrom/mesos_stats",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/antonlindstrom/mesos_stats",
-      "rev": "0c6ea494c19bedc67ebb85ce3d187ec21050e920",
-      "sha256": "18ggyjf4nyn77gkn16wg9krp4dsphgzdgcr3mdflv6mvbr482ar4"
-    }
-  },
-  {
-    "goPackagePath": "github.com/go-sql-driver/mysql",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/go-sql-driver/mysql",
-      "rev": "fb7299726d2e68745a8805b14f2ff44b5c2cfa84",
-      "sha256": "185af0x475hq2wmm2zdvxjyslkplf8zzqijdxa937zqxq63qiw4w"
-    }
-  },
-  {
-    "goPackagePath": "github.com/prometheus/log",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/prometheus/log",
-      "rev": "439e5db48fbb50ebbaf2c816030473a62f505f55",
-      "sha256": "1fl23gsw2hn3c1y91qckr661sybqcw2gqnd1gllxn3hp6p2w6hxv"
-    }
-  },
-  {
-    "goPackagePath": "github.com/soundcloud/go-runit",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/soundcloud/go-runit",
-      "rev": "a9148323a615e2e1c93b7a9893914a360b4945c8",
-      "sha256": "00f2rfhsaqj2wjanh5qp73phx7x12a5pwd7lc0rjfv68l6sgpg2v"
-    }
-  },
-  {
-    "goPackagePath": "github.com/beevik/ntp",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/beevik/ntp",
-      "rev": "0a5264e2563429030eb922f258229ae3fee5b5dc",
-      "sha256": "03fvgbjf2aprjj1s6wdc35wwa7k1w5phkixzvp5n1j21sf6w4h24"
-    }
-  },
-  {
-    "goPackagePath": "github.com/julienschmidt/httprouter",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/julienschmidt/httprouter",
-      "rev": "6aacfd5ab513e34f7e64ea9627ab9670371b34e7",
-      "sha256": "00rrjysmq898qcrf2hfwfh9s70vwvmjx2kp5w03nz1krxa4zhrkl"
-    }
-  },
-  {
-    "goPackagePath": "github.com/howeyc/fsnotify",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/fsnotify/fsnotify",
-      "rev": "ea925a0a47d225b2ca7f9932b01d2ed4f3ec74f6",
-      "sha256": "15wqjpkfzsxnaxbz6y4r91hw6812g3sc4ipagxw1bya9klbnkdc9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/alecthomas/template",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/alecthomas/template",
-      "rev": "14fd436dd20c3cc65242a9f396b61bfc8a3926fc",
-      "sha256": "19rzvvcgvr1z2wz9xpqsmlm8syizbpxjp5zbzgakvrqlajpbjvx2"
-    }
-  },
-  {
-    "goPackagePath": "github.com/alecthomas/units",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/alecthomas/units",
-      "rev": "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a",
-      "sha256": "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/alecthomas/kingpin.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/alecthomas/kingpin.v2",
-      "rev": "21551c2a6259a8145110ca80a36e25c9d7624032",
-      "sha256": "1zhpqc4qxsw9lc1b4dwk5r42k9r702ihzrabs3mnsphvm9jx4l59"
-    }
-  },
-  {
-    "goPackagePath": "github.com/Masterminds/vcs",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/Masterminds/vcs",
-      "rev": "7af28b64c5ec41b1558f5514fd938379822c237c",
-      "sha256": "127pamr5lkym3iq6z747bm4y4gyc02glrqb61yv82z1rdyv1dcf6"
-    }
-  },
-  {
-    "goPackagePath": "github.com/boltdb/bolt",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/boltdb/bolt",
-      "rev": "957d850b5158a4eebf915476058e720f43459584",
-      "sha256": "193adhhsqdy0kyq1l1fi8pg2n6pwyrw4h607qm78qyi26f8i7vzf"
-    }
-  },
-  {
-    "goPackagePath": "github.com/cheggaaa/pb",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/cheggaaa/pb",
-      "rev": "e648e12b78cedf14ebb2fc1855033f07b034cfbb",
-      "sha256": "03k4cars7hcqqgdsd0minfls2p7gjpm8q6y8vknh1s68kvxd4xam"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/cli-spinner",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/cli-spinner",
-      "rev": "610063bb4aeef25f7645b3e6080456655ec0fb33",
-      "sha256": "13wzs2qrxd72ah32ym0ppswhvyimjw5cqaq3q153y68vlvxd048c"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/statos",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/statos",
-      "rev": "f27d6ab69b62abd9d9fe80d355e23a3e45d347d6",
-      "sha256": "17cpks8bi9i7p8j38x0wy60jb9g39wbzszcmhx4hlq6yzxr04jvs"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/exponential-backoff",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/exponential-backoff",
-      "rev": "96e25d36ae36ad09ac02cbfe653b44c4043a8e09",
-      "sha256": "1as21p2jj8xpahvdxqwsw2i1s3fll14dlc9j192iq7xl1ybwpqs6"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/extractor",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/extractor",
-      "rev": "801861aedb854c7ac5e1329e9713023e9dc2b4d4",
-      "sha256": "036zmnqxy48h6mxiwywgxix2p4fqvl4svlmcp734ri2rbq3cmxs1"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/meddler",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/meddler",
-      "rev": "d2b51d2b40e786ab5f810d85e65b96404cf33570",
-      "sha256": "0m0fqrn3kxy4swyk4ja1y42dn1i35rq9j85y11wb222qppy2342x"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/xon",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/xon",
-      "rev": "d580be739d723da4f6378083128f93017b8ab295",
-      "sha256": "07a7zj01d4a23xqp01m48jp2v5mw49islf4nbq2rj13sd5w4s6sc"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/cache",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/cache",
-      "rev": "b51b08cb6cf889deda6c941a5205baecfd16f3eb",
-      "sha256": "1rmm1ky7irqypqjkk6qcd2n0xkzpaggdxql9dp9i9qci5rvvwwd4"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/command",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/command",
-      "rev": "91ca5ec5e9a1bc2668b1ccbe0967e04a349e3561",
-      "sha256": "1ghckzr8h99ckagpmb15p61xazdjmf9mjmlym634hsr9vcj84v62"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/log",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/log",
-      "rev": "cad53c4565a0b0304577bd13f3862350bdc5f907",
-      "sha256": "059c933qjikxlvaywzpzljqnab19svymbv6x32pc7khw156fh48w"
-    }
-  },
-  {
-    "goPackagePath": "github.com/odeke-em/pretty-words",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/odeke-em/pretty-words",
-      "rev": "9d37a7fcb4ae6f94b288d371938482994458cecb",
-      "sha256": "1466wjhrg9lhqmzil1vf8qj16fxk32b5kxlcccyw2x6dybqa6pkl"
-    }
-  },
-  {
-    "goPackagePath": "github.com/skratchdot/open-golang",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/skratchdot/open-golang",
-      "rev": "c8748311a7528d0ba7330d302adbc5a677ef9c9e",
-      "sha256": "0qhn2d00v3m9fiqk9z7swdm599clc6j7rnli983s8s1byyp0x3ac"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/raft",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/raft",
-      "rev": "a8065f298505708bf60f518c09178149f3c06f21",
-      "sha256": "122mjijphas7ybbvssxv1r36sb8i907gdr9kvplnx6yg9w52j3mn"
-    }
-  },
-  {
-    "goPackagePath": "github.com/hashicorp/raft-boltdb",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hashicorp/raft-boltdb",
-      "rev": "d1e82c1ec3f15ee991f7cc7ffd5b67ff6f5bbaee",
-      "sha256": "0p609w6x0h6bapx4b0d91dxnp2kj7dv0534q4blyxp79shv2a8ia"
-    }
-  },
-  {
-    "goPackagePath": "github.com/rakyll/statik",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/rakyll/statik",
-      "rev": "274df120e9065bdd08eb1120e0375e3dc1ae8465",
-      "sha256": "0llk7bxmk66wdiy42h32vj1jfk8zg351xq21hwhrq7gkfljghffp"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/fatih/pool.v2",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/fatih/pool.v2",
-      "rev": "cba550ebf9bce999a02e963296d4bc7a486cb715",
-      "sha256": "1jlrakgnpvhi2ny87yrsj1gyrcncfzdhypa9i2mlvvzqlj4r0dn0"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bmizerany/pat",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bmizerany/pat",
-      "rev": "b8a35001b773c267eb260a691f4e5499a3531600",
-      "sha256": "11zxd45rvjm6cn3wzbi18wy9j4vr1r1hgg6gzlqnxffiizkycxmz"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kimor79/gollectd",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kimor79/gollectd",
-      "rev": "cf6dec97343244b5d8a5485463675d42f574aa2d",
-      "sha256": "1f3ml406cprzjc192csyr2af4wcadkc74kg8n4c0zdzglxxfsqxa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/monochromegane/conflag",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/monochromegane/conflag",
-      "rev": "6d68c9aa4183844ddc1655481798fe4d90d483e9",
-      "sha256": "0csfr5c8d3kbna9sqhzfp2z06wq6mc6ijja1zj2i82kzsq8534wa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/monochromegane/go-home",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/monochromegane/go-home",
-      "rev": "25d9dda593924a11ea52e4ffbc8abdb0dbe96401",
-      "sha256": "172chakrj22xfm0bcda4qj5zqf7lwr53pzwc3xj6wz8vd2bcxkww"
-    }
-  },
-  {
-    "goPackagePath": "github.com/monochromegane/terminal",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/monochromegane/terminal",
-      "rev": "2da212063ce19aed90ee5bbb00ad1ad7393d7f48",
-      "sha256": "1rddaq9pk5q57ildms35iihghqk505gb349pb0f6k3svchay38nh"
-    }
-  },
-  {
-    "goPackagePath": "github.com/monochromegane/go-gitignore",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/monochromegane/go-gitignore",
-      "rev": "38717d0a108ca0e5af632cd6845ca77d45b50729",
-      "sha256": "0r1inabpgg6sn6i47b02hcmd2p4dc1ab1mcy20mn1b2k3mpdj4b7"
-    }
-  },
-  {
-    "goPackagePath": "github.com/shiena/ansicolor",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/shiena/ansicolor",
-      "rev": "a5e2b567a4dd6cc74545b8a4f27c9d63b9e7735b",
-      "sha256": "0gwplb1b4fvav1vjf4b2dypy5rcp2w41vrbxkd1dsmac870cy75p"
-    }
-  },
-  {
-    "goPackagePath": "github.com/pquerna/ffjson",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/pquerna/ffjson",
-      "rev": "674bc015b5b3f50f9bb2561179778586b9af68c5",
-      "sha256": "0l53q7b1g25hfjm1iyynfs413rpav4c51yvdr244ivw1x3hksa7a"
-    }
-  },
-  {
-    "goPackagePath": "gopkg.in/kothar/go-backblaze.v0",
-    "fetch": {
-      "type": "git",
-      "url": "https://gopkg.in/kothar/go-backblaze.v0",
-      "rev": "373819725fc560fa962c6cd883b533d2ebec4844",
-      "sha256": "1kmlwfnnfd4h46bb9pz2gw1hxqm1pzkwvidfmnc0zkrilaywk6fx"
-    }
-  },
-  {
-    "goPackagePath": "github.com/jawher/mow.cli",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/jawher/mow.cli",
-      "rev": "772320464101e904cd51198160eb4d489be9cc49",
-      "sha256": "1a8hnh2k3vc3prjhnz4rjbiwhqq6r3mi18h9cdb6fc6s6yzjc19j"
-    }
-  },
-  {
-    "goPackagePath": "github.com/svent/go-flags",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/svent/go-flags",
-      "rev": "4bcbad344f0318adaf7aabc16929701459009aa3",
-      "sha256": "1gb416fgxl9gq4q6wsv3i2grq1mzbi7lvfvmfdqbxqbv9vizzh34"
-    }
-  },
-  {
-    "goPackagePath": "github.com/svent/go-nbreader",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/svent/go-nbreader",
-      "rev": "7cef48da76dca6a496faa7fe63e39ed665cbd219",
-      "sha256": "0hw11jj5r3f6qwydg41nc3c6aadlbkhc1qpxra2609lis0qa9h4r"
-    }
-  },
-  {
-    "goPackagePath": "github.com/tdewolff/buffer",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/tdewolff/buffer",
-      "rev": "0edfcb7b750146ff879e95831de2ef53605a5cb5",
-      "sha256": "1mdd4k9byp22mw0a399j3w73zjb5g0vn58g76rjy7ajb0dzm80vl"
-    }
-  },
-  {
-    "goPackagePath": "github.com/tdewolff/parse",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/tdewolff/parse",
-      "rev": "34d5c1160d4503da4b456e5094609f2331d6dde3",
-      "sha256": "0hxf65fgkrc1q4p99p33xxxy1s6wxpn1vfsnqf9p846awwbqsy0v"
-    }
-  },
-  {
-    "goPackagePath": "github.com/tdewolff/strconv",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/tdewolff/strconv",
-      "rev": "3e8091f4417ebaaa3910da63a45ea394ebbfb0e3",
-      "sha256": "00w2mryfjhz3vaqzxvbwvyhi1vgpc1s4xfv1r9hxn8hwa078q5gp"
-    }
-  },
-  {
-    "goPackagePath": "github.com/matryer/try",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/matryer/try",
-      "rev": "93d30e50512f879b73829eb79867df38084bcd31",
-      "sha256": "0dmc8iar9685ks1ba3vnycjsx8qxwyqv51jb7677dvwnzbqhgw6f"
-    }
-  },
-  {
-    "goPackagePath": "github.com/yosssi/ace",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/yosssi/ace",
-      "rev": "71afeb714739f9d5f7e1849bcd4a0a5938e1a70d",
-      "sha256": "15k7ji8m3nqbwhnsvp82j4qa45sgvwv2giliw2xkdwi2g7mfrn8k"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/viper",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/viper",
-      "rev": "c1ccc378a054ea8d4e38d8c67f6938d4760b53dd",
-      "sha256": "0lpdzalqhqp9pwsg63inkxwjji7m0pp42ryw1499bqbjp97hriq0"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/pflag",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/pflag",
-      "rev": "367864438f1b1a3c7db4da06a2f55b144e6784e0",
-      "sha256": "03c6654hv4v1fj79i5sri3p9q2afqgicka4nicb6fr4kcfkkgbfp"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/jwalterweatherman",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/jwalterweatherman",
-      "rev": "33c24e77fb80341fe7130ee7c594256ff08ccc46",
-      "sha256": "1knvzspqzc2bh58q16zggzc8gcabjp5gr7zk4k7nx5ij4092cg0z"
-    }
-  },
-  {
-    "goPackagePath": "github.com/fsnotify/fsnotify",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/fsnotify/fsnotify",
-      "rev": "30411dbcefb7a1da7e84f75530ad3abe4011b4f8",
-      "sha256": "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm"
-    }
-  },
-  {
-    "goPackagePath": "github.com/ogier/pflag",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/ogier/pflag",
-      "rev": "45c278ab3607870051a2ea9040bb85fcb8557481",
-      "sha256": "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l"
-    }
-  },
-  {
-    "goPackagePath": "github.com/magiconair/properties",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/magiconair/properties",
-      "rev": "c265cfa48dda6474e208715ca93e987829f572f8",
-      "sha256": "1ab9ywwsrdq5mvrcwl7m3276y1q4dfwinbv88vgpqwcqai9wkpp3"
-    }
-  },
-  {
-    "goPackagePath": "github.com/bep/inflect",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/bep/inflect",
-      "rev": "b896c45f5af983b1f416bdf3bb89c4f1f0926f69",
-      "sha256": "0drv6in94n7lmap4ajvgqlvdcbpn8alinfdzywzpihvzbx21b3h3"
-    }
-  },
-  {
-    "goPackagePath": "github.com/eknkc/amber",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/eknkc/amber",
-      "rev": "91774f050c1453128146169b626489e60108ec03",
-      "sha256": "1rb8bm35h8a77q4py6r3818cpwh7kpq1kh2ib2rb4i5s7z75ciis"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/afero",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/afero",
-      "rev": "1a8ecf8b9da1fb5306e149e83128fc447957d2a8",
-      "sha256": "1nrg0gmqnl4h6zjmi4mdhrwnl3l34nzxpq2hsr3nizfvrx5gqbzw"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/cast",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/cast",
-      "rev": "27b586b42e29bec072fe7379259cc719e1289da6",
-      "sha256": "1y73pfxdvm1bfpghwsfxj8gl4miv6fpzi9azxcknp6rcjn1gmq0x"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/cobra",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/cobra",
-      "rev": "bc81c21bd0d8be5ba2d6630a505d79d4467566e7",
-      "sha256": "1sp8gl25cjx0yibh6q1i8d5rbxpwaal3z8vz372wfmbz002say8r"
-    }
-  },
-  {
-    "goPackagePath": "github.com/dchest/cssmin",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/dchest/cssmin",
-      "rev": "fb8d9b44afdc258bfff6052d3667521babcb2239",
-      "sha256": "09sdijfx5d05z4cd5k6lhl7k3kbpdf2amzlngv15h5v0fff9qw4s"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/fsync",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/fsync",
-      "rev": "eefee59ad7de621617d4ff085cf768aab4b919b1",
-      "sha256": "0d56xdczawikyczc12i661qc79dbv4q8ihlj4p20zsjkyxxym59p"
-    }
-  },
-  {
-    "goPackagePath": "github.com/cpuguy83/go-md2man",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/cpuguy83/go-md2man",
-      "rev": "2724a9c9051aa62e9cca11304e7dd518e9e41599",
-      "sha256": "1j2bigs7ixy20cdqd246nxr417md2qcyvkfk3x94992cr88d0vyj"
-    }
-  },
-  {
-    "goPackagePath": "github.com/miekg/mmark",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/miekg/mmark",
-      "rev": "adb5c3e2e9f3e7da9bd25291edda8e66c0045a2a",
-      "sha256": "0fycz17fj37fh95lfshdrfwrgkzi3hl1kgnily0cxc9zwfbap3qa"
-    }
-  },
-  {
-    "goPackagePath": "github.com/spf13/nitro",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/spf13/nitro",
-      "rev": "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8",
-      "sha256": "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib"
-    }
-  },
-  {
-    "goPackagePath": "github.com/PuerkitoBio/purell",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/PuerkitoBio/purell",
-      "rev": "1d5d1cfad45d42ec5f81fa8ef23de09cebc6dcc3",
-      "sha256": "12k82576ka21c6572yy2v81kxpjrgf9mffjlz469g3vs0g3nkwlb"
-    }
-  },
-  {
-    "goPackagePath": "github.com/opennota/urlesc",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/opennota/urlesc",
-      "rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587",
-      "sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni"
-    }
-  },
-  {
-    "goPackagePath": "github.com/pkg/sftp",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/pkg/sftp",
-      "rev": "d4c18e7ffdc496a38de67dde6e29b2f364afc472",
-      "sha256": "0cnl83k317gxskayfj3xwr4bl0vcbjvlwi3q0vjwvircynb6xscj"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kr/fs",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kr/fs",
-      "rev": "2788f0dbd16903de03cb8186e5c7d97b69ad387b",
-      "sha256": "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly"
-    }
-  },
-  {
-    "goPackagePath": "github.com/kyokomi/emoji",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/kyokomi/emoji",
-      "rev": "17c5e7085c9d59630aa578df67f4469481fbe7a9",
-      "sha256": "0qs4mi7z1lghiyiw7s2bz5y959wj9ifmhyqh39xwqk69d690jwlp"
-    }
-  },
-  {
-    "goPackagePath": "github.com/pkg/errors",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/pkg/errors",
-      "rev": "494e70f7620561491c2ca11e185bbef4b70060da",
-      "sha256": "0a0961ixl67vryhnzyzhai357c9n9a7v3vpkpqrh32spn033gjd9"
-    }
-  },
-  {
-    "goPackagePath": "github.com/PuerkitoBio/urlesc",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/PuerkitoBio/urlesc",
-      "rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587",
-      "sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni"
-    }
-  }
-]
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 5faceef8573..7cba0d1599f 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -25,6 +25,9 @@ self: super: {
   statistics = dontCheck super.statistics;
   c2hs = if pkgs.stdenv.isDarwin then dontCheck super.c2hs else super.c2hs;
 
+  # This test keeps being aborted because it runs too quietly for too long
+  Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2;
+
   # Use the default version of mysql to build this package (which is actually mariadb).
   mysql = super.mysql.override { mysql = pkgs.mysql.lib; };
 
@@ -836,6 +839,9 @@ self: super: {
   # https://github.com/guillaume-nargeot/hpc-coveralls/issues/52
   hpc-coveralls = disableSharedExecutables super.hpc-coveralls;
 
+  # Can't find libHSidris-*.so during build.
+  idris = disableSharedExecutables super.idris;
+
   # https://github.com/fpco/stackage/issues/838
   cryptonite = dontCheck super.cryptonite;
 
@@ -936,33 +942,12 @@ self: super: {
     '';
   });
 
-  # libmpd has an upper-bound on time which doesn't seem to be a real build req
-  libmpd = dontCheck (overrideCabal super.libmpd (drv: {
-    postPatch = (drv.postPatch or "") + ''
-      substituteInPlace libmpd.cabal --replace "time >=1.5 && <1.6" "time >=1.5"
-    '';
-  }));
-
   # https://github.com/commercialhaskell/stack/issues/2263
   stack = appendPatch super.stack (pkgs.fetchpatch {
     url = "https://github.com/commercialhaskell/stack/commit/7f7f1a5f67f4ecdd1f3009495f1ff101dd38047e.patch";
     sha256 = "1yh2g45mkfpwxq0vyzcbc4nbxh6wmb2xpp0k7r5byd8jicgvli29";
   });
 
-  # https://github.com/GaloisInc/HaNS/pull/12
-  hans = overrideCabal super.hans (drv: {
-    src = pkgs.fetchFromGitHub {
-      owner = "GaloisInc";
-      repo = "HaNS";
-      rev = "53e4af3ee46fc06b31754cec620209a81bbef456";
-      sha256 = "079205fqglzhh931h4n7qlrih18117m3w82ih19b8ygr55ps4ldj";
-    };
-    doHaddock = false;
-    patches = [(pkgs.fetchpatch {
-          url = "https://patch-diff.githubusercontent.com/raw/GaloisInc/HaNS/pull/12.patch";
-          sha256 = "0xa5b7i9wx32ji0zzlh1a1pws677iffby3bg39kv3c9srdb4by1g";
-      })];
-  });
 
   # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for
   # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index cef032ff2e7..aebbf4934b6 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -63,6 +63,10 @@ self: super: {
   nats = dontHaddock super.nats;
   bytestring-builder = dontHaddock super.bytestring-builder;
 
+  hoauth2 = overrideCabal super.hoauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.wai self.warp ]; });
+
+  yesod-auth-oauth2 = overrideCabal super.yesod-auth-oauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.load-env self.yesod ]; });
+
   # Setup: At least the following dependencies are missing: base <4.8
   hspec-expectations = overrideCabal super.hspec-expectations (drv: {
     postPatch = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
@@ -134,7 +138,6 @@ self: super: {
 
   timezone-series = doJailbreak super.timezone-series;
   timezone-olson = doJailbreak super.timezone-olson;
-  libmpd = dontCheck super.libmpd;
   xmonad-extras = overrideCabal super.xmonad-extras (drv: {
     postPatch = ''
       sed -i -e "s,<\*,<¤,g" XMonad/Actions/Volume.hs
@@ -202,6 +205,7 @@ self: super: {
   hackage-security = dontHaddock (dontCheck super.hackage-security);
 
   # GHC versions prior to 8.x require additional build inputs.
+  aeson_0_11_2_0 = disableCabalFlag (addBuildDepend super.aeson_0_11_2_0 self.semigroups) "old-locale";
   aeson = disableCabalFlag (addBuildDepend super.aeson self.semigroups) "old-locale";
   case-insensitive = addBuildDepend super.case-insensitive self.semigroups;
   bytes = addBuildDepend super.bytes self.doctest;
@@ -209,7 +213,7 @@ self: super: {
   semigroups_0_18_1 = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]);
   semigroups = addBuildDepends super.semigroups (with self; [hashable tagged text unordered-containers]);
   intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]);
-  Glob_0_7_9 = addBuildDepends super.Glob_0_7_9 (with self; [semigroups]);
+  Glob_0_7_10 = addBuildDepends super.Glob_0_7_10 (with self; [semigroups]);
   Glob = addBuildDepends super.Glob (with self; [semigroups]);
   # cereal must have `fail` in pre-ghc-8.0.x versions
   # also tests require bytestring>=0.10.8.1
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 2328e9f34cc..860ed1fec0c 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,13 +43,11 @@ extra-packages:
   - containers < 0.5                    # required to build alex with GHC 6.12.3
   - control-monad-free < 0.6            # newer versions don't compile with anything but GHC 7.8.x
   - deepseq == 1.3.0.1                  # required to build Cabal with GHC 6.12.3
-  - descriptive < 0.1                   # required for structured-haskell-mode-1.0.8
   - generic-deriving == 1.10.5.*        # new versions don't compile with GHC 7.10.x
   - gloss < 1.9.3                       # new versions don't compile with GHC 7.8.x
   - haddock < 2.17                      # required on GHC 7.10.x
   - haddock-api == 2.15.*               # required on GHC 7.8.x
   - haddock-api == 2.16.*               # required on GHC 7.10.x
-  - haskell-src-exts < 1.16             # required for structured-haskell-mode-1.0.8
   - mtl < 2.2                           # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
   - mtl-prelude < 2                     # required for to build postgrest on mtl 2.1.x platforms
   - parallel == 3.2.0.3                 # newer versions don't work with GHC 6.12.3
@@ -4264,7 +4262,6 @@ dont-distribute-packages:
   structs:                                      [ i686-linux, x86_64-linux ]
   structural-induction:                         [ i686-linux, x86_64-linux ]
   structural-traversal:                         [ i686-linux, x86_64-linux ]
-  structured-haskell-mode:                      [ i686-linux, x86_64-linux ]
   structured-mongoDB:                           [ i686-linux, x86_64-linux ]
   structures:                                   [ i686-linux, x86_64-linux ]
   stunts:                                       [ i686-linux, x86_64-darwin, x86_64-linux ]
diff --git a/pkgs/development/haskell-modules/configuration-lts.nix b/pkgs/development/haskell-modules/configuration-lts.nix
index 3acc98754ec..bcebd87d40a 100644
--- a/pkgs/development/haskell-modules/configuration-lts.nix
+++ b/pkgs/development/haskell-modules/configuration-lts.nix
@@ -357,6 +357,7 @@ self: super: {
   "GiST" = dontDistribute super."GiST";
   "Gifcurry" = dontDistribute super."Gifcurry";
   "GiveYouAHead" = dontDistribute super."GiveYouAHead";
+  "Glob" = doDistribute super."Glob_0_7_10";
   "GlomeTrace" = dontDistribute super."GlomeTrace";
   "GlomeVec" = dontDistribute super."GlomeVec";
   "GlomeView" = dontDistribute super."GlomeView";
@@ -619,6 +620,8 @@ self: super: {
   "MazesOfMonad" = dontDistribute super."MazesOfMonad";
   "MeanShift" = dontDistribute super."MeanShift";
   "Measure" = dontDistribute super."Measure";
+  "Mecha" = dontDistribute super."Mecha";
+  "Mechs" = dontDistribute super."Mechs";
   "MetaHDBC" = dontDistribute super."MetaHDBC";
   "MetaObject" = dontDistribute super."MetaObject";
   "Metrics" = dontDistribute super."Metrics";
@@ -699,6 +702,7 @@ self: super: {
   "OpenCLRaw" = dontDistribute super."OpenCLRaw";
   "OpenCLWrappers" = dontDistribute super."OpenCLWrappers";
   "OpenGLCheck" = dontDistribute super."OpenGLCheck";
+  "OpenGLRaw" = doDistribute super."OpenGLRaw_3_2_1_0";
   "OpenGLRaw21" = dontDistribute super."OpenGLRaw21";
   "OpenSCAD" = dontDistribute super."OpenSCAD";
   "OpenVG" = dontDistribute super."OpenVG";
@@ -910,6 +914,7 @@ self: super: {
   "Top" = dontDistribute super."Top";
   "Tournament" = dontDistribute super."Tournament";
   "TraceUtils" = dontDistribute super."TraceUtils";
+  "TransformeR" = dontDistribute super."TransformeR";
   "TransformersStepByStep" = dontDistribute super."TransformersStepByStep";
   "Transhare" = dontDistribute super."Transhare";
   "TreeCounter" = dontDistribute super."TreeCounter";
@@ -983,6 +988,7 @@ self: super: {
   "X11-xshape" = dontDistribute super."X11-xshape";
   "XAttr" = dontDistribute super."XAttr";
   "XInput" = dontDistribute super."XInput";
+  "XMLParser" = dontDistribute super."XMLParser";
   "XMMS" = dontDistribute super."XMMS";
   "XMPP" = dontDistribute super."XMPP";
   "XSaiga" = dontDistribute super."XSaiga";
@@ -1050,6 +1056,7 @@ self: super: {
   "acme-http" = dontDistribute super."acme-http";
   "acme-inator" = dontDistribute super."acme-inator";
   "acme-io" = dontDistribute super."acme-io";
+  "acme-iot" = dontDistribute super."acme-iot";
   "acme-left-pad" = dontDistribute super."acme-left-pad";
   "acme-lolcat" = dontDistribute super."acme-lolcat";
   "acme-lookofdisapproval" = dontDistribute super."acme-lookofdisapproval";
@@ -1088,6 +1095,7 @@ self: super: {
   "adobe-swatch-exchange" = dontDistribute super."adobe-swatch-exchange";
   "adp-multi" = dontDistribute super."adp-multi";
   "adp-multi-monadiccp" = dontDistribute super."adp-multi-monadiccp";
+  "aeson" = doDistribute super."aeson_0_11_2_0";
   "aeson-applicative" = dontDistribute super."aeson-applicative";
   "aeson-bson" = dontDistribute super."aeson-bson";
   "aeson-coerce" = dontDistribute super."aeson-coerce";
@@ -1143,6 +1151,7 @@ self: super: {
   "algebra-sql" = dontDistribute super."algebra-sql";
   "algebraic" = dontDistribute super."algebraic";
   "algebraic-classes" = dontDistribute super."algebraic-classes";
+  "algo-s" = dontDistribute super."algo-s";
   "align" = dontDistribute super."align";
   "align-text" = dontDistribute super."align-text";
   "aligned-foreignptr" = dontDistribute super."aligned-foreignptr";
@@ -1224,6 +1233,7 @@ self: super: {
   "ar-timestamp-wiper" = dontDistribute super."ar-timestamp-wiper";
   "arb-fft" = dontDistribute super."arb-fft";
   "arbb-vm" = dontDistribute super."arbb-vm";
+  "arbtt" = doDistribute super."arbtt_0_9_0_9";
   "archive" = dontDistribute super."archive";
   "archiver" = dontDistribute super."archiver";
   "archlinux" = dontDistribute super."archlinux";
@@ -1261,6 +1271,7 @@ self: super: {
   "ascii-table" = dontDistribute super."ascii-table";
   "ascii-vector-avc" = dontDistribute super."ascii-vector-avc";
   "ascii85-conduit" = dontDistribute super."ascii85-conduit";
+  "asciidiagram" = doDistribute super."asciidiagram_1_3_1_1";
   "asic" = dontDistribute super."asic";
   "asil" = dontDistribute super."asil";
   "asn1-data" = dontDistribute super."asn1-data";
@@ -1660,6 +1671,7 @@ self: super: {
   "c10k" = dontDistribute super."c10k";
   "c2hsc" = dontDistribute super."c2hsc";
   "cab" = dontDistribute super."cab";
+  "cabal" = dontDistribute super."cabal";
   "cabal-audit" = dontDistribute super."cabal-audit";
   "cabal-bounds" = dontDistribute super."cabal-bounds";
   "cabal-cargs" = dontDistribute super."cabal-cargs";
@@ -1736,6 +1748,7 @@ self: super: {
   "canteven-http" = dontDistribute super."canteven-http";
   "canteven-listen-http" = dontDistribute super."canteven-listen-http";
   "canteven-log" = dontDistribute super."canteven-log";
+  "canteven-parsedate" = dontDistribute super."canteven-parsedate";
   "canteven-template" = dontDistribute super."canteven-template";
   "cantor" = dontDistribute super."cantor";
   "cao" = dontDistribute super."cao";
@@ -1746,6 +1759,7 @@ self: super: {
   "caramia" = dontDistribute super."caramia";
   "carboncopy" = dontDistribute super."carboncopy";
   "carettah" = dontDistribute super."carettah";
+  "carray" = doDistribute super."carray_0_1_6_4";
   "cartel" = doDistribute super."cartel_0_16_0_0";
   "casa-abbreviations-and-acronyms" = dontDistribute super."casa-abbreviations-and-acronyms";
   "casadi-bindings" = dontDistribute super."casadi-bindings";
@@ -1925,6 +1939,7 @@ self: super: {
   "codecov-haskell" = dontDistribute super."codecov-haskell";
   "codemonitor" = dontDistribute super."codemonitor";
   "codepad" = dontDistribute super."codepad";
+  "codeworld-api" = dontDistribute super."codeworld-api";
   "codex" = doDistribute super."codex_0_4_0_10";
   "codo-notation" = dontDistribute super."codo-notation";
   "cofunctor" = dontDistribute super."cofunctor";
@@ -2007,6 +2022,7 @@ self: super: {
   "conductive-clock" = dontDistribute super."conductive-clock";
   "conductive-hsc3" = dontDistribute super."conductive-hsc3";
   "conductive-song" = dontDistribute super."conductive-song";
+  "conduit" = doDistribute super."conduit_1_2_6_6";
   "conduit-audio" = dontDistribute super."conduit-audio";
   "conduit-audio-lame" = dontDistribute super."conduit-audio-lame";
   "conduit-audio-samplerate" = dontDistribute super."conduit-audio-samplerate";
@@ -2028,6 +2044,7 @@ self: super: {
   "conjugateGradient" = dontDistribute super."conjugateGradient";
   "conjure" = dontDistribute super."conjure";
   "conlogger" = dontDistribute super."conlogger";
+  "connection" = doDistribute super."connection_0_2_5";
   "connection-pool" = dontDistribute super."connection-pool";
   "consistent" = dontDistribute super."consistent";
   "console-program" = dontDistribute super."console-program";
@@ -2049,6 +2066,7 @@ self: super: {
   "continue" = dontDistribute super."continue";
   "continuum" = dontDistribute super."continuum";
   "continuum-client" = dontDistribute super."continuum-client";
+  "contravariant-extras" = doDistribute super."contravariant-extras_0_3_2";
   "control-event" = dontDistribute super."control-event";
   "control-monad-attempt" = dontDistribute super."control-monad-attempt";
   "control-monad-exception" = dontDistribute super."control-monad-exception";
@@ -2125,6 +2143,8 @@ self: super: {
   "crc16" = dontDistribute super."crc16";
   "crc16-table" = dontDistribute super."crc16-table";
   "creatur" = dontDistribute super."creatur";
+  "credentials" = dontDistribute super."credentials";
+  "credentials-cli" = dontDistribute super."credentials-cli";
   "crf-chain1" = dontDistribute super."crf-chain1";
   "crf-chain1-constrained" = dontDistribute super."crf-chain1-constrained";
   "crf-chain2-generic" = dontDistribute super."crf-chain2-generic";
@@ -2182,6 +2202,7 @@ self: super: {
   "curl-aeson" = dontDistribute super."curl-aeson";
   "curlhs" = dontDistribute super."curlhs";
   "currency" = dontDistribute super."currency";
+  "currency-convert" = dontDistribute super."currency-convert";
   "current-locale" = dontDistribute super."current-locale";
   "curry-base" = dontDistribute super."curry-base";
   "curry-frontend" = dontDistribute super."curry-frontend";
@@ -2321,9 +2342,11 @@ self: super: {
   "datetime-sb" = dontDistribute super."datetime-sb";
   "dawdle" = dontDistribute super."dawdle";
   "dawg" = dontDistribute super."dawg";
+  "dawg-ord" = doDistribute super."dawg-ord_0_5_0_1";
   "dbcleaner" = dontDistribute super."dbcleaner";
   "dbf" = dontDistribute super."dbf";
   "dbjava" = dontDistribute super."dbjava";
+  "dbm" = dontDistribute super."dbm";
   "dbus-client" = dontDistribute super."dbus-client";
   "dbus-core" = dontDistribute super."dbus-core";
   "dbus-qq" = dontDistribute super."dbus-qq";
@@ -2391,6 +2414,7 @@ self: super: {
   "dependent-state" = dontDistribute super."dependent-state";
   "depends" = dontDistribute super."depends";
   "dephd" = dontDistribute super."dephd";
+  "deque" = dontDistribute super."deque";
   "dequeue" = dontDistribute super."dequeue";
   "derangement" = dontDistribute super."derangement";
   "derivation-trees" = dontDistribute super."derivation-trees";
@@ -2404,6 +2428,7 @@ self: super: {
   "derp" = dontDistribute super."derp";
   "derp-lib" = dontDistribute super."derp-lib";
   "descrilo" = dontDistribute super."descrilo";
+  "desert" = dontDistribute super."desert";
   "despair" = dontDistribute super."despair";
   "deterministic-game-engine" = dontDistribute super."deterministic-game-engine";
   "detrospector" = dontDistribute super."detrospector";
@@ -2417,12 +2442,17 @@ self: super: {
   "dia-base" = dontDistribute super."dia-base";
   "dia-functions" = dontDistribute super."dia-functions";
   "diagrams-boolean" = dontDistribute super."diagrams-boolean";
+  "diagrams-cairo" = doDistribute super."diagrams-cairo_1_3_1";
+  "diagrams-canvas" = doDistribute super."diagrams-canvas_1_3_0_5";
   "diagrams-graphviz" = dontDistribute super."diagrams-graphviz";
   "diagrams-hsqml" = dontDistribute super."diagrams-hsqml";
+  "diagrams-html5" = doDistribute super."diagrams-html5_1_3_0_6";
+  "diagrams-lib" = doDistribute super."diagrams-lib_1_3_1_3";
   "diagrams-pandoc" = dontDistribute super."diagrams-pandoc";
   "diagrams-pdf" = dontDistribute super."diagrams-pdf";
   "diagrams-pgf" = dontDistribute super."diagrams-pgf";
   "diagrams-qrcode" = dontDistribute super."diagrams-qrcode";
+  "diagrams-rasterific" = doDistribute super."diagrams-rasterific_1_3_1_7";
   "diagrams-reflex" = dontDistribute super."diagrams-reflex";
   "diagrams-rubiks-cube" = dontDistribute super."diagrams-rubiks-cube";
   "diagrams-svg" = doDistribute super."diagrams-svg_1_3_1_10";
@@ -2439,9 +2469,11 @@ self: super: {
   "diffarray" = dontDistribute super."diffarray";
   "diffcabal" = dontDistribute super."diffcabal";
   "diffdump" = dontDistribute super."diffdump";
+  "difftodo" = dontDistribute super."difftodo";
   "digamma" = dontDistribute super."digamma";
   "digest-pure" = dontDistribute super."digest-pure";
   "digestive-foundation-lucid" = dontDistribute super."digestive-foundation-lucid";
+  "digestive-functors" = doDistribute super."digestive-functors_0_8_0_1";
   "digestive-functors-happstack" = dontDistribute super."digestive-functors-happstack";
   "digestive-functors-heist" = dontDistribute super."digestive-functors-heist";
   "digestive-functors-hsp" = dontDistribute super."digestive-functors-hsp";
@@ -2595,6 +2627,7 @@ self: super: {
   "ed25519" = dontDistribute super."ed25519";
   "ed25519-donna" = dontDistribute super."ed25519-donna";
   "eddie" = dontDistribute super."eddie";
+  "ede" = doDistribute super."ede_0_2_8_4";
   "edenmodules" = dontDistribute super."edenmodules";
   "edenskel" = dontDistribute super."edenskel";
   "edentv" = dontDistribute super."edentv";
@@ -2624,6 +2657,7 @@ self: super: {
   "ekg-log" = dontDistribute super."ekg-log";
   "ekg-push" = dontDistribute super."ekg-push";
   "ekg-rrd" = dontDistribute super."ekg-rrd";
+  "ekg-statsd" = doDistribute super."ekg-statsd_0_2_0_4";
   "electrum-mnemonic" = dontDistribute super."electrum-mnemonic";
   "elerea" = dontDistribute super."elerea";
   "elerea-examples" = dontDistribute super."elerea-examples";
@@ -2651,6 +2685,7 @@ self: super: {
   "email-postmark" = dontDistribute super."email-postmark";
   "email-validate-json" = dontDistribute super."email-validate-json";
   "email-validator" = dontDistribute super."email-validator";
+  "emailaddress" = dontDistribute super."emailaddress";
   "emailparse" = dontDistribute super."emailparse";
   "embeddock" = dontDistribute super."embeddock";
   "embeddock-example" = dontDistribute super."embeddock-example";
@@ -2659,6 +2694,7 @@ self: super: {
   "empty" = dontDistribute super."empty";
   "enchant" = dontDistribute super."enchant";
   "encoding" = dontDistribute super."encoding";
+  "encoding-io" = dontDistribute super."encoding-io";
   "endo" = dontDistribute super."endo";
   "engine-io-growler" = dontDistribute super."engine-io-growler";
   "engine-io-snap" = dontDistribute super."engine-io-snap";
@@ -2676,6 +2712,7 @@ self: super: {
   "env-locale" = dontDistribute super."env-locale";
   "env-parser" = dontDistribute super."env-parser";
   "envparse" = dontDistribute super."envparse";
+  "envy" = doDistribute super."envy_1_1_0_0";
   "epanet-haskell" = dontDistribute super."epanet-haskell";
   "epass" = dontDistribute super."epass";
   "epic" = dontDistribute super."epic";
@@ -2747,6 +2784,7 @@ self: super: {
   "exp-pairs" = dontDistribute super."exp-pairs";
   "expand" = dontDistribute super."expand";
   "expat-enumerator" = dontDistribute super."expat-enumerator";
+  "expiring-cache-map" = doDistribute super."expiring-cache-map_0_0_5_4";
   "expiring-mvar" = dontDistribute super."expiring-mvar";
   "explain" = dontDistribute super."explain";
   "explicit-determinant" = dontDistribute super."explicit-determinant";
@@ -2789,6 +2827,7 @@ self: super: {
   "fastcgi" = dontDistribute super."fastcgi";
   "fastedit" = dontDistribute super."fastedit";
   "fastirc" = dontDistribute super."fastirc";
+  "fathead-util" = dontDistribute super."fathead-util";
   "fault-tree" = dontDistribute super."fault-tree";
   "fay-geoposition" = dontDistribute super."fay-geoposition";
   "fay-hsx" = dontDistribute super."fay-hsx";
@@ -2821,6 +2860,7 @@ self: super: {
   "fficxx-runtime" = dontDistribute super."fficxx-runtime";
   "ffmpeg-light" = dontDistribute super."ffmpeg-light";
   "ffmpeg-tutorials" = dontDistribute super."ffmpeg-tutorials";
+  "fft" = doDistribute super."fft_0_1_8_3";
   "fftwRaw" = dontDistribute super."fftwRaw";
   "fgl-extras-decompositions" = dontDistribute super."fgl-extras-decompositions";
   "fgl-visualize" = dontDistribute super."fgl-visualize";
@@ -2833,6 +2873,7 @@ self: super: {
   "file-collection" = dontDistribute super."file-collection";
   "file-command-qq" = dontDistribute super."file-command-qq";
   "file-embed-poly" = dontDistribute super."file-embed-poly";
+  "file-modules" = doDistribute super."file-modules_0_1_2_3";
   "filediff" = dontDistribute super."filediff";
   "filepath-io-access" = dontDistribute super."filepath-io-access";
   "filepather" = dontDistribute super."filepather";
@@ -2936,6 +2977,8 @@ self: super: {
   "foscam-directory" = dontDistribute super."foscam-directory";
   "foscam-filename" = dontDistribute super."foscam-filename";
   "foscam-sort" = dontDistribute super."foscam-sort";
+  "foundation" = dontDistribute super."foundation";
+  "foundation-edge" = dontDistribute super."foundation-edge";
   "fountain" = dontDistribute super."fountain";
   "fpco-api" = dontDistribute super."fpco-api";
   "fpipe" = dontDistribute super."fpipe";
@@ -3039,6 +3082,7 @@ self: super: {
   "gbu" = dontDistribute super."gbu";
   "gc" = dontDistribute super."gc";
   "gc-monitoring-wai" = dontDistribute super."gc-monitoring-wai";
+  "gcodehs" = dontDistribute super."gcodehs";
   "gconf" = dontDistribute super."gconf";
   "gdiff" = dontDistribute super."gdiff";
   "gdiff-ig" = dontDistribute super."gdiff-ig";
@@ -3123,6 +3167,8 @@ self: super: {
   "ghc-srcspan-plugin" = dontDistribute super."ghc-srcspan-plugin";
   "ghc-syb" = dontDistribute super."ghc-syb";
   "ghc-time-alloc-prof" = dontDistribute super."ghc-time-alloc-prof";
+  "ghc-typelits-knownnat" = dontDistribute super."ghc-typelits-knownnat";
+  "ghc-typelits-natnormalise" = doDistribute super."ghc-typelits-natnormalise_0_4_6";
   "ghc-typelits-presburger" = dontDistribute super."ghc-typelits-presburger";
   "ghc-vis" = dontDistribute super."ghc-vis";
   "ghci-diagrams" = dontDistribute super."ghci-diagrams";
@@ -3131,6 +3177,7 @@ self: super: {
   "ghci-lib" = dontDistribute super."ghci-lib";
   "ghci-ng" = dontDistribute super."ghci-ng";
   "ghci-pretty" = dontDistribute super."ghci-pretty";
+  "ghcid" = doDistribute super."ghcid_0_6_4";
   "ghcjs-ajax" = dontDistribute super."ghcjs-ajax";
   "ghcjs-dom" = doDistribute super."ghcjs-dom_0_2_4_0";
   "ghcjs-dom-hello" = dontDistribute super."ghcjs-dom-hello";
@@ -3197,6 +3244,7 @@ self: super: {
   "gitter" = dontDistribute super."gitter";
   "givegif" = dontDistribute super."givegif";
   "gl-capture" = dontDistribute super."gl-capture";
+  "glabrous" = dontDistribute super."glabrous";
   "glade" = dontDistribute super."glade";
   "gladexml-accessor" = dontDistribute super."gladexml-accessor";
   "glambda" = dontDistribute super."glambda";
@@ -3533,6 +3581,7 @@ self: super: {
   "haddock-leksah" = dontDistribute super."haddock-leksah";
   "haddock-library" = doDistribute super."haddock-library_1_2_1";
   "haddock-test" = dontDistribute super."haddock-test";
+  "haddocset" = doDistribute super."haddocset_0_4_1";
   "hadoop-formats" = dontDistribute super."hadoop-formats";
   "hadoop-rpc" = dontDistribute super."hadoop-rpc";
   "hadoop-tools" = dontDistribute super."hadoop-tools";
@@ -3631,6 +3680,7 @@ self: super: {
   "has-th" = dontDistribute super."has-th";
   "hascal" = dontDistribute super."hascal";
   "hascar" = dontDistribute super."hascar";
+  "hascas" = dontDistribute super."hascas";
   "hascat" = dontDistribute super."hascat";
   "hascat-lib" = dontDistribute super."hascat-lib";
   "hascat-setup" = dontDistribute super."hascat-setup";
@@ -3666,6 +3716,7 @@ self: super: {
   "haskell-compression" = dontDistribute super."haskell-compression";
   "haskell-course-preludes" = dontDistribute super."haskell-course-preludes";
   "haskell-docs" = dontDistribute super."haskell-docs";
+  "haskell-eigen-util" = dontDistribute super."haskell-eigen-util";
   "haskell-exp-parser" = dontDistribute super."haskell-exp-parser";
   "haskell-fake-user-agent" = dontDistribute super."haskell-fake-user-agent";
   "haskell-formatter" = dontDistribute super."haskell-formatter";
@@ -3674,6 +3725,7 @@ self: super: {
   "haskell-gi" = doDistribute super."haskell-gi_0_17_4";
   "haskell-gi-base" = doDistribute super."haskell-gi-base_0_17";
   "haskell-google-trends" = dontDistribute super."haskell-google-trends";
+  "haskell-igraph" = dontDistribute super."haskell-igraph";
   "haskell-import-graph" = dontDistribute super."haskell-import-graph";
   "haskell-in-space" = dontDistribute super."haskell-in-space";
   "haskell-kubernetes" = dontDistribute super."haskell-kubernetes";
@@ -3692,6 +3744,7 @@ self: super: {
   "haskell-read-editor" = dontDistribute super."haskell-read-editor";
   "haskell-reflect" = dontDistribute super."haskell-reflect";
   "haskell-rules" = dontDistribute super."haskell-rules";
+  "haskell-src-exts-prisms" = dontDistribute super."haskell-src-exts-prisms";
   "haskell-src-exts-qq" = dontDistribute super."haskell-src-exts-qq";
   "haskell-src-exts-simple" = dontDistribute super."haskell-src-exts-simple";
   "haskell-src-meta-mwotton" = dontDistribute super."haskell-src-meta-mwotton";
@@ -3762,6 +3815,7 @@ self: super: {
   "hasloGUI" = dontDistribute super."hasloGUI";
   "hasparql-client" = dontDistribute super."hasparql-client";
   "haspell" = dontDistribute super."haspell";
+  "hasql" = doDistribute super."hasql_0_19_14";
   "hasql-backend" = dontDistribute super."hasql-backend";
   "hasql-cursor-query" = dontDistribute super."hasql-cursor-query";
   "hasql-cursor-transaction" = dontDistribute super."hasql-cursor-transaction";
@@ -3781,11 +3835,13 @@ self: super: {
   "hat" = dontDistribute super."hat";
   "hatex-guide" = dontDistribute super."hatex-guide";
   "hath" = dontDistribute super."hath";
+  "hats" = dontDistribute super."hats";
   "hatt" = dontDistribute super."hatt";
   "haverer" = dontDistribute super."haverer";
   "hawitter" = dontDistribute super."hawitter";
   "haxl-facebook" = dontDistribute super."haxl-facebook";
   "haxparse" = dontDistribute super."haxparse";
+  "haxr" = doDistribute super."haxr_3000_11_1_6";
   "haxr-th" = dontDistribute super."haxr-th";
   "haxy" = dontDistribute super."haxy";
   "hayland" = dontDistribute super."hayland";
@@ -3819,6 +3875,7 @@ self: super: {
   "hdbi-postgresql" = dontDistribute super."hdbi-postgresql";
   "hdbi-sqlite" = dontDistribute super."hdbi-sqlite";
   "hdbi-tests" = dontDistribute super."hdbi-tests";
+  "hdevtools" = doDistribute super."hdevtools_0_1_3_2";
   "hdf" = dontDistribute super."hdf";
   "hdigest" = dontDistribute super."hdigest";
   "hdirect" = dontDistribute super."hdirect";
@@ -3842,6 +3899,7 @@ self: super: {
   "hedis-tags" = dontDistribute super."hedis-tags";
   "hedn" = dontDistribute super."hedn";
   "hein" = dontDistribute super."hein";
+  "heist" = doDistribute super."heist_0_14_1_4";
   "heist-aeson" = dontDistribute super."heist-aeson";
   "heist-async" = dontDistribute super."heist-async";
   "helics" = dontDistribute super."helics";
@@ -4089,6 +4147,7 @@ self: super: {
   "hp2any-manager" = dontDistribute super."hp2any-manager";
   "hp2html" = dontDistribute super."hp2html";
   "hp2pretty" = dontDistribute super."hp2pretty";
+  "hpack-convert" = dontDistribute super."hpack-convert";
   "hpaco" = dontDistribute super."hpaco";
   "hpaco-lib" = dontDistribute super."hpaco-lib";
   "hpage" = dontDistribute super."hpage";
@@ -4150,6 +4209,7 @@ self: super: {
   "hs-twitter" = dontDistribute super."hs-twitter";
   "hs-twitterarchiver" = dontDistribute super."hs-twitterarchiver";
   "hs-vcard" = dontDistribute super."hs-vcard";
+  "hs-watchman" = dontDistribute super."hs-watchman";
   "hs2048" = dontDistribute super."hs2048";
   "hs2bf" = dontDistribute super."hs2bf";
   "hs2dot" = dontDistribute super."hs2dot";
@@ -4236,12 +4296,15 @@ self: super: {
   "hspec-expectations-lifted" = dontDistribute super."hspec-expectations-lifted";
   "hspec-expectations-pretty" = dontDistribute super."hspec-expectations-pretty";
   "hspec-experimental" = dontDistribute super."hspec-experimental";
+  "hspec-golden-aeson" = dontDistribute super."hspec-golden-aeson";
+  "hspec-hashable" = dontDistribute super."hspec-hashable";
   "hspec-laws" = dontDistribute super."hspec-laws";
   "hspec-megaparsec" = doDistribute super."hspec-megaparsec_0_1_1";
   "hspec-monad-control" = dontDistribute super."hspec-monad-control";
   "hspec-server" = dontDistribute super."hspec-server";
   "hspec-shouldbe" = dontDistribute super."hspec-shouldbe";
   "hspec-slow" = dontDistribute super."hspec-slow";
+  "hspec-snap" = doDistribute super."hspec-snap_0_4_0_1";
   "hspec-stack-rerun" = dontDistribute super."hspec-stack-rerun";
   "hspec-structured-formatter" = dontDistribute super."hspec-structured-formatter";
   "hspec-test-framework" = dontDistribute super."hspec-test-framework";
@@ -4266,6 +4329,7 @@ self: super: {
   "hsqml-demo-samples" = dontDistribute super."hsqml-demo-samples";
   "hsqml-morris" = dontDistribute super."hsqml-morris";
   "hsreadability" = dontDistribute super."hsreadability";
+  "hsrelp" = dontDistribute super."hsrelp";
   "hsseccomp" = dontDistribute super."hsseccomp";
   "hsshellscript" = dontDistribute super."hsshellscript";
   "hssourceinfo" = dontDistribute super."hssourceinfo";
@@ -4289,6 +4353,7 @@ self: super: {
   "hszephyr" = dontDistribute super."hszephyr";
   "htags" = dontDistribute super."htags";
   "htar" = dontDistribute super."htar";
+  "htestu" = dontDistribute super."htestu";
   "htiled" = dontDistribute super."htiled";
   "htime" = dontDistribute super."htime";
   "html-email-validate" = dontDistribute super."html-email-validate";
@@ -4333,6 +4398,7 @@ self: super: {
   "http-test" = dontDistribute super."http-test";
   "http-trace" = dontDistribute super."http-trace";
   "http-wget" = dontDistribute super."http-wget";
+  "http2" = doDistribute super."http2_1_6_1";
   "https-everywhere-rules" = dontDistribute super."https-everywhere-rules";
   "https-everywhere-rules-raw" = dontDistribute super."https-everywhere-rules-raw";
   "httpspec" = dontDistribute super."httpspec";
@@ -4362,6 +4428,7 @@ self: super: {
   "huttons-razor" = dontDistribute super."huttons-razor";
   "huzzy" = dontDistribute super."huzzy";
   "hw-bits" = doDistribute super."hw-bits_0_0_0_6";
+  "hw-diagnostics" = doDistribute super."hw-diagnostics_0_0_0_2";
   "hw-json" = doDistribute super."hw-json_0_0_0_2";
   "hw-mquery" = dontDistribute super."hw-mquery";
   "hw-prim" = doDistribute super."hw-prim_0_0_0_10";
@@ -4427,6 +4494,7 @@ self: super: {
   "idiii" = dontDistribute super."idiii";
   "idna" = dontDistribute super."idna";
   "idna2008" = dontDistribute super."idna2008";
+  "idringen" = dontDistribute super."idringen";
   "idris" = doDistribute super."idris_0_11_2";
   "ieee" = dontDistribute super."ieee";
   "ieee-utils" = dontDistribute super."ieee-utils";
@@ -4467,6 +4535,7 @@ self: super: {
   "impure-containers" = dontDistribute super."impure-containers";
   "inc-ref" = dontDistribute super."inc-ref";
   "inch" = dontDistribute super."inch";
+  "inchworm" = dontDistribute super."inchworm";
   "incremental-computing" = dontDistribute super."incremental-computing";
   "incremental-maps" = dontDistribute super."incremental-maps";
   "incremental-sat-solver" = dontDistribute super."incremental-sat-solver";
@@ -4538,6 +4607,7 @@ self: super: {
   "invertible-syntax" = dontDistribute super."invertible-syntax";
   "io-capture" = dontDistribute super."io-capture";
   "io-reactive" = dontDistribute super."io-reactive";
+  "io-streams-haproxy" = dontDistribute super."io-streams-haproxy";
   "io-streams-http" = dontDistribute super."io-streams-http";
   "io-throttle" = dontDistribute super."io-throttle";
   "ioctl" = dontDistribute super."ioctl";
@@ -4682,9 +4752,11 @@ self: super: {
   "jukebox" = dontDistribute super."jukebox";
   "jump" = dontDistribute super."jump";
   "jumpthefive" = dontDistribute super."jumpthefive";
+  "jupyter" = dontDistribute super."jupyter";
   "jvm-parser" = dontDistribute super."jvm-parser";
   "kademlia" = dontDistribute super."kademlia";
   "kafka-client" = dontDistribute super."kafka-client";
+  "kaleidoscope" = dontDistribute super."kaleidoscope";
   "kan-extensions" = doDistribute super."kan-extensions_4_2_3";
   "kangaroo" = dontDistribute super."kangaroo";
   "kansas-lava" = dontDistribute super."kansas-lava";
@@ -4721,7 +4793,9 @@ self: super: {
   "keera-hails-reactivevalues" = dontDistribute super."keera-hails-reactivevalues";
   "keera-posture" = dontDistribute super."keera-posture";
   "keiretsu" = dontDistribute super."keiretsu";
+  "keter" = doDistribute super."keter_1_4_3_1";
   "kevin" = dontDistribute super."kevin";
+  "keycode" = doDistribute super."keycode_0_2";
   "keyed" = dontDistribute super."keyed";
   "keyring" = dontDistribute super."keyring";
   "keystore" = dontDistribute super."keystore";
@@ -4752,6 +4826,7 @@ self: super: {
   "l-bfgs-b" = dontDistribute super."l-bfgs-b";
   "labeled-graph" = dontDistribute super."labeled-graph";
   "labeled-tree" = dontDistribute super."labeled-tree";
+  "labels" = dontDistribute super."labels";
   "laborantin-hs" = dontDistribute super."laborantin-hs";
   "labyrinth" = dontDistribute super."labyrinth";
   "labyrinth-server" = dontDistribute super."labyrinth-server";
@@ -4799,8 +4874,10 @@ self: super: {
   "language-c-comments" = dontDistribute super."language-c-comments";
   "language-c-inline" = dontDistribute super."language-c-inline";
   "language-cil" = dontDistribute super."language-cil";
+  "language-conf" = dontDistribute super."language-conf";
   "language-css" = dontDistribute super."language-css";
   "language-dart" = dontDistribute super."language-dart";
+  "language-dockerfile" = dontDistribute super."language-dockerfile";
   "language-dot" = dontDistribute super."language-dot";
   "language-ecmascript-analysis" = dontDistribute super."language-ecmascript-analysis";
   "language-eiffel" = dontDistribute super."language-eiffel";
@@ -4808,6 +4885,7 @@ self: super: {
   "language-gcl" = dontDistribute super."language-gcl";
   "language-go" = dontDistribute super."language-go";
   "language-guess" = dontDistribute super."language-guess";
+  "language-hcl" = dontDistribute super."language-hcl";
   "language-java-classfile" = dontDistribute super."language-java-classfile";
   "language-kort" = dontDistribute super."language-kort";
   "language-lua" = dontDistribute super."language-lua";
@@ -4829,6 +4907,7 @@ self: super: {
   "language-typescript" = dontDistribute super."language-typescript";
   "language-vhdl" = dontDistribute super."language-vhdl";
   "language-webidl" = dontDistribute super."language-webidl";
+  "large-hashable" = dontDistribute super."large-hashable";
   "lat" = dontDistribute super."lat";
   "latest-npm-version" = dontDistribute super."latest-npm-version";
   "latex" = dontDistribute super."latex";
@@ -4902,6 +4981,7 @@ self: super: {
   "liblinear-enumerator" = dontDistribute super."liblinear-enumerator";
   "libltdl" = dontDistribute super."libltdl";
   "libmpd" = dontDistribute super."libmpd";
+  "libnotify" = doDistribute super."libnotify_0_1_1_0";
   "libnvvm" = dontDistribute super."libnvvm";
   "liboleg" = dontDistribute super."liboleg";
   "libpafe" = dontDistribute super."libpafe";
@@ -4920,6 +5000,8 @@ self: super: {
   "libxml" = dontDistribute super."libxml";
   "libxml-enumerator" = dontDistribute super."libxml-enumerator";
   "libxslt" = dontDistribute super."libxslt";
+  "libzfs" = dontDistribute super."libzfs";
+  "licensor" = dontDistribute super."licensor";
   "life" = dontDistribute super."life";
   "lifted-protolude" = dontDistribute super."lifted-protolude";
   "lifted-threads" = dontDistribute super."lifted-threads";
@@ -4969,6 +5051,7 @@ self: super: {
   "lio-fs" = dontDistribute super."lio-fs";
   "lio-simple" = dontDistribute super."lio-simple";
   "lipsum-gen" = dontDistribute super."lipsum-gen";
+  "liquid" = dontDistribute super."liquid";
   "liquid-fixpoint" = dontDistribute super."liquid-fixpoint";
   "liquidhaskell" = dontDistribute super."liquidhaskell";
   "liquidhaskell-cabal" = dontDistribute super."liquidhaskell-cabal";
@@ -4978,6 +5061,7 @@ self: super: {
   "list-grouping" = dontDistribute super."list-grouping";
   "list-mux" = dontDistribute super."list-mux";
   "list-remote-forwards" = dontDistribute super."list-remote-forwards";
+  "list-t" = doDistribute super."list-t_0_4_7";
   "list-t-attoparsec" = dontDistribute super."list-t-attoparsec";
   "list-t-html-parser" = dontDistribute super."list-t-html-parser";
   "list-t-http-client" = dontDistribute super."list-t-http-client";
@@ -5060,6 +5144,7 @@ self: super: {
   "lowgl" = dontDistribute super."lowgl";
   "lp-diagrams" = dontDistribute super."lp-diagrams";
   "lp-diagrams-svg" = dontDistribute super."lp-diagrams-svg";
+  "lrucaching" = dontDistribute super."lrucaching";
   "ls-usb" = dontDistribute super."ls-usb";
   "lscabal" = dontDistribute super."lscabal";
   "lss" = dontDistribute super."lss";
@@ -5134,11 +5219,13 @@ self: super: {
   "manatee-terminal" = dontDistribute super."manatee-terminal";
   "manatee-welcome" = dontDistribute super."manatee-welcome";
   "mancala" = dontDistribute super."mancala";
+  "mandrill" = doDistribute super."mandrill_0_5_2_2";
   "mandulia" = dontDistribute super."mandulia";
   "mangopay" = dontDistribute super."mangopay";
   "manifold-random" = dontDistribute super."manifold-random";
   "manifolds" = dontDistribute super."manifolds";
   "map-exts" = dontDistribute super."map-exts";
+  "map-syntax" = doDistribute super."map-syntax_0_2";
   "mappy" = dontDistribute super."mappy";
   "marionetta" = dontDistribute super."marionetta";
   "markdown-kate" = dontDistribute super."markdown-kate";
@@ -5151,6 +5238,7 @@ self: super: {
   "markup-preview" = dontDistribute super."markup-preview";
   "marmalade-upload" = dontDistribute super."marmalade-upload";
   "marquise" = dontDistribute super."marquise";
+  "mars" = dontDistribute super."mars";
   "marxup" = dontDistribute super."marxup";
   "masakazu-bot" = dontDistribute super."masakazu-bot";
   "mastermind" = dontDistribute super."mastermind";
@@ -5182,7 +5270,9 @@ self: super: {
   "mdp" = dontDistribute super."mdp";
   "means" = dontDistribute super."means";
   "mecab" = dontDistribute super."mecab";
+  "mech" = dontDistribute super."mech";
   "mecha" = dontDistribute super."mecha";
+  "mechs" = dontDistribute super."mechs";
   "mediawiki" = dontDistribute super."mediawiki";
   "mediawiki2latex" = dontDistribute super."mediawiki2latex";
   "medium-sdk-haskell" = dontDistribute super."medium-sdk-haskell";
@@ -5221,10 +5311,12 @@ self: super: {
   "microbench" = dontDistribute super."microbench";
   "microformats2-types" = dontDistribute super."microformats2-types";
   "microlens" = doDistribute super."microlens_0_4_5_0";
+  "microlens-aeson" = doDistribute super."microlens-aeson_2_1_1";
   "microlens-each" = dontDistribute super."microlens-each";
   "microlens-ghc" = doDistribute super."microlens-ghc_0_4_5_0";
   "microlens-mtl" = doDistribute super."microlens-mtl_0_1_9_0";
   "microlens-platform" = doDistribute super."microlens-platform_0_3_3_0";
+  "microlens-th" = doDistribute super."microlens-th_0_4_0_0";
   "micrologger" = dontDistribute super."micrologger";
   "microtimer" = dontDistribute super."microtimer";
   "mida" = dontDistribute super."mida";
@@ -5232,6 +5324,7 @@ self: super: {
   "midi-alsa" = dontDistribute super."midi-alsa";
   "midi-music-box" = dontDistribute super."midi-music-box";
   "midi-util" = dontDistribute super."midi-util";
+  "midi-utils" = dontDistribute super."midi-utils";
   "midimory" = dontDistribute super."midimory";
   "midisurface" = dontDistribute super."midisurface";
   "mighttpd" = dontDistribute super."mighttpd";
@@ -5386,6 +5479,7 @@ self: super: {
   "mtgoxapi" = dontDistribute super."mtgoxapi";
   "mtl-c" = dontDistribute super."mtl-c";
   "mtl-evil-instances" = dontDistribute super."mtl-evil-instances";
+  "mtl-extras" = dontDistribute super."mtl-extras";
   "mtl-tf" = dontDistribute super."mtl-tf";
   "mtl-unleashed" = dontDistribute super."mtl-unleashed";
   "mtlparse" = dontDistribute super."mtlparse";
@@ -5432,6 +5526,7 @@ self: super: {
   "musicbrainz-email" = dontDistribute super."musicbrainz-email";
   "musicxml" = dontDistribute super."musicxml";
   "musicxml2" = dontDistribute super."musicxml2";
+  "mustache" = doDistribute super."mustache_1_0_2";
   "mustache-haskell" = dontDistribute super."mustache-haskell";
   "mustache2hs" = dontDistribute super."mustache2hs";
   "mutable-iter" = dontDistribute super."mutable-iter";
@@ -5446,6 +5541,7 @@ self: super: {
   "mysnapsession" = dontDistribute super."mysnapsession";
   "mysnapsession-example" = dontDistribute super."mysnapsession-example";
   "mysql-effect" = dontDistribute super."mysql-effect";
+  "mysql-haskell" = dontDistribute super."mysql-haskell";
   "mysql-simple-quasi" = dontDistribute super."mysql-simple-quasi";
   "mysql-simple-typed" = dontDistribute super."mysql-simple-typed";
   "mystem" = dontDistribute super."mystem";
@@ -5592,6 +5688,7 @@ self: super: {
   "nonlinear-optimization-ad" = dontDistribute super."nonlinear-optimization-ad";
   "noodle" = dontDistribute super."noodle";
   "normaldistribution" = dontDistribute super."normaldistribution";
+  "normalization-insensitive" = dontDistribute super."normalization-insensitive";
   "not-gloss" = dontDistribute super."not-gloss";
   "not-gloss-examples" = dontDistribute super."not-gloss-examples";
   "not-in-base" = dontDistribute super."not-in-base";
@@ -5751,6 +5848,7 @@ self: super: {
   "pagarme" = dontDistribute super."pagarme";
   "pagination" = dontDistribute super."pagination";
   "pagure-hook-receiver" = dontDistribute super."pagure-hook-receiver";
+  "palette" = doDistribute super."palette_0_1_0_3";
   "palindromes" = dontDistribute super."palindromes";
   "pam" = dontDistribute super."pam";
   "panda" = dontDistribute super."panda";
@@ -5915,6 +6013,7 @@ self: super: {
   "piki" = dontDistribute super."piki";
   "pinboard" = dontDistribute super."pinboard";
   "pinch" = doDistribute super."pinch_0_2_0_2";
+  "pinchot" = doDistribute super."pinchot_0_18_2_0";
   "pipe-enumerator" = dontDistribute super."pipe-enumerator";
   "pipeclip" = dontDistribute super."pipeclip";
   "pipes-async" = dontDistribute super."pipes-async";
@@ -6032,6 +6131,7 @@ self: super: {
   "possible" = dontDistribute super."possible";
   "postcodes" = dontDistribute super."postcodes";
   "postgres-tmp" = dontDistribute super."postgres-tmp";
+  "postgresql-binary" = doDistribute super."postgresql-binary_0_9_0_1";
   "postgresql-config" = dontDistribute super."postgresql-config";
   "postgresql-connector" = dontDistribute super."postgresql-connector";
   "postgresql-copy-escape" = dontDistribute super."postgresql-copy-escape";
@@ -6063,6 +6163,7 @@ self: super: {
   "prednote-test" = dontDistribute super."prednote-test";
   "prefork" = dontDistribute super."prefork";
   "pregame" = dontDistribute super."pregame";
+  "preliminaries" = dontDistribute super."preliminaries";
   "prelude-compat" = dontDistribute super."prelude-compat";
   "prelude-edsl" = dontDistribute super."prelude-edsl";
   "prelude-generalize" = dontDistribute super."prelude-generalize";
@@ -6079,6 +6180,7 @@ self: super: {
   "pretty-ncols" = dontDistribute super."pretty-ncols";
   "pretty-sop" = dontDistribute super."pretty-sop";
   "pretty-tree" = dontDistribute super."pretty-tree";
+  "pretty-types" = dontDistribute super."pretty-types";
   "prettyFunctionComposing" = dontDistribute super."prettyFunctionComposing";
   "prim-spoon" = dontDistribute super."prim-spoon";
   "prim-uniq" = dontDistribute super."prim-uniq";
@@ -6097,6 +6199,7 @@ self: super: {
   "probability" = dontDistribute super."probability";
   "probable" = dontDistribute super."probable";
   "proc" = dontDistribute super."proc";
+  "proc-net" = dontDistribute super."proc-net";
   "process-conduit" = dontDistribute super."process-conduit";
   "process-extras" = doDistribute super."process-extras_0_3_3_8";
   "process-iterio" = dontDistribute super."process-iterio";
@@ -6144,6 +6247,7 @@ self: super: {
   "protocol-buffers-descriptor" = doDistribute super."protocol-buffers-descriptor_2_2_0";
   "protocol-buffers-descriptor-fork" = dontDistribute super."protocol-buffers-descriptor-fork";
   "protocol-buffers-fork" = dontDistribute super."protocol-buffers-fork";
+  "protolude" = doDistribute super."protolude_0_1_6";
   "proton-haskell" = dontDistribute super."proton-haskell";
   "prototype" = dontDistribute super."prototype";
   "prove-everywhere-server" = dontDistribute super."prove-everywhere-server";
@@ -6219,6 +6323,7 @@ self: super: {
   "quick-generator" = dontDistribute super."quick-generator";
   "quick-schema" = dontDistribute super."quick-schema";
   "quickbooks" = dontDistribute super."quickbooks";
+  "quickcheck-arbitrary-adt" = dontDistribute super."quickcheck-arbitrary-adt";
   "quickcheck-combinators" = dontDistribute super."quickcheck-combinators";
   "quickcheck-poly" = dontDistribute super."quickcheck-poly";
   "quickcheck-properties" = dontDistribute super."quickcheck-properties";
@@ -6321,6 +6426,7 @@ self: super: {
   "reactivity" = dontDistribute super."reactivity";
   "reactor" = dontDistribute super."reactor";
   "read-bounded" = dontDistribute super."read-bounded";
+  "read-env-var" = doDistribute super."read-env-var_0_1_0_0";
   "readline-statevar" = dontDistribute super."readline-statevar";
   "readpyc" = dontDistribute super."readpyc";
   "readshp" = dontDistribute super."readshp";
@@ -6406,6 +6512,7 @@ self: super: {
   "relacion" = dontDistribute super."relacion";
   "relation" = dontDistribute super."relation";
   "relational-postgresql8" = dontDistribute super."relational-postgresql8";
+  "relational-query" = doDistribute super."relational-query_0_8_3_0";
   "relational-record-examples" = dontDistribute super."relational-record-examples";
   "relative-date" = dontDistribute super."relative-date";
   "relit" = dontDistribute super."relit";
@@ -6454,6 +6561,7 @@ self: super: {
   "resource-pool-catchio" = dontDistribute super."resource-pool-catchio";
   "resource-pool-monad" = dontDistribute super."resource-pool-monad";
   "resource-simple" = dontDistribute super."resource-simple";
+  "resourcet" = doDistribute super."resourcet_1_1_7_4";
   "respond" = dontDistribute super."respond";
   "rest-example" = dontDistribute super."rest-example";
   "restful-snap" = dontDistribute super."restful-snap";
@@ -6495,6 +6603,7 @@ self: super: {
   "rivet-simple-deploy" = dontDistribute super."rivet-simple-deploy";
   "rlglue" = dontDistribute super."rlglue";
   "rlist" = dontDistribute super."rlist";
+  "rlwe-challenges" = dontDistribute super."rlwe-challenges";
   "rmonad" = dontDistribute super."rmonad";
   "rncryptor" = dontDistribute super."rncryptor";
   "robin" = dontDistribute super."robin";
@@ -6546,6 +6655,7 @@ self: super: {
   "ruby-marshal" = dontDistribute super."ruby-marshal";
   "ruby-qq" = dontDistribute super."ruby-qq";
   "ruff" = dontDistribute super."ruff";
+  "ruin" = dontDistribute super."ruin";
   "ruler" = dontDistribute super."ruler";
   "ruler-core" = dontDistribute super."ruler-core";
   "rungekutta" = dontDistribute super."rungekutta";
@@ -6564,6 +6674,7 @@ self: super: {
   "safe-plugins" = dontDistribute super."safe-plugins";
   "safe-printf" = dontDistribute super."safe-printf";
   "safeint" = dontDistribute super."safeint";
+  "safepath" = dontDistribute super."safepath";
   "safer-file-handles" = dontDistribute super."safer-file-handles";
   "safer-file-handles-bytestring" = dontDistribute super."safer-file-handles-bytestring";
   "safer-file-handles-text" = dontDistribute super."safer-file-handles-text";
@@ -6724,6 +6835,7 @@ self: super: {
   "servant-response" = dontDistribute super."servant-response";
   "servant-router" = dontDistribute super."servant-router";
   "servant-scotty" = dontDistribute super."servant-scotty";
+  "servant-smsc-ru" = dontDistribute super."servant-smsc-ru";
   "servant-subscriber" = dontDistribute super."servant-subscriber";
   "servant-swagger" = doDistribute super."servant-swagger_1_0_3";
   "servant-swagger-ui" = dontDistribute super."servant-swagger-ui";
@@ -6835,6 +6947,7 @@ self: super: {
   "simple-tabular" = dontDistribute super."simple-tabular";
   "simple-tar" = dontDistribute super."simple-tar";
   "simple-vec3" = dontDistribute super."simple-vec3";
+  "simple-zipper" = dontDistribute super."simple-zipper";
   "simpleargs" = dontDistribute super."simpleargs";
   "simpleirc-lens" = dontDistribute super."simpleirc-lens";
   "simplenote" = dontDistribute super."simplenote";
@@ -6869,12 +6982,14 @@ self: super: {
   "slack" = dontDistribute super."slack";
   "slack-api" = dontDistribute super."slack-api";
   "slack-notify-haskell" = dontDistribute super."slack-notify-haskell";
+  "slave-thread" = doDistribute super."slave-thread_1_0_1_1";
   "sleep" = dontDistribute super."sleep";
   "slice-cpp-gen" = dontDistribute super."slice-cpp-gen";
   "slidemews" = dontDistribute super."slidemews";
   "sloane" = dontDistribute super."sloane";
   "slot-lambda" = dontDistribute super."slot-lambda";
   "sloth" = dontDistribute super."sloth";
+  "slug" = doDistribute super."slug_0_1_4";
   "smallarray" = dontDistribute super."smallarray";
   "smallcheck-laws" = dontDistribute super."smallcheck-laws";
   "smallcheck-lens" = dontDistribute super."smallcheck-lens";
@@ -6888,6 +7003,7 @@ self: super: {
   "smartword" = dontDistribute super."smartword";
   "sme" = dontDistribute super."sme";
   "smerdyakov" = dontDistribute super."smerdyakov";
+  "smoothie" = doDistribute super."smoothie_0_4_2_2";
   "smsaero" = dontDistribute super."smsaero";
   "smt-lib" = dontDistribute super."smt-lib";
   "smtlib2" = dontDistribute super."smtlib2";
@@ -6896,12 +7012,14 @@ self: super: {
   "smtps-gmail" = dontDistribute super."smtps-gmail";
   "snake" = dontDistribute super."snake";
   "snake-game" = dontDistribute super."snake-game";
+  "snap" = doDistribute super."snap_0_14_0_7";
   "snap-accept" = dontDistribute super."snap-accept";
   "snap-app" = dontDistribute super."snap-app";
   "snap-auth-cli" = dontDistribute super."snap-auth-cli";
   "snap-blaze" = dontDistribute super."snap-blaze";
   "snap-blaze-clay" = dontDistribute super."snap-blaze-clay";
   "snap-configuration-utilities" = dontDistribute super."snap-configuration-utilities";
+  "snap-core" = doDistribute super."snap-core_0_9_8_0";
   "snap-cors" = dontDistribute super."snap-cors";
   "snap-elm" = dontDistribute super."snap-elm";
   "snap-error-collector" = dontDistribute super."snap-error-collector";
@@ -6911,6 +7029,8 @@ self: super: {
   "snap-loader-static" = dontDistribute super."snap-loader-static";
   "snap-predicates" = dontDistribute super."snap-predicates";
   "snap-routes" = dontDistribute super."snap-routes";
+  "snap-server" = doDistribute super."snap-server_0_9_5_1";
+  "snap-templates" = dontDistribute super."snap-templates";
   "snap-testing" = dontDistribute super."snap-testing";
   "snap-utils" = dontDistribute super."snap-utils";
   "snap-web-routes" = dontDistribute super."snap-web-routes";
@@ -6944,6 +7064,7 @@ self: super: {
   "snaplet-rest" = dontDistribute super."snaplet-rest";
   "snaplet-riak" = dontDistribute super."snaplet-riak";
   "snaplet-sass" = dontDistribute super."snaplet-sass";
+  "snaplet-scoped-session" = dontDistribute super."snaplet-scoped-session";
   "snaplet-sedna" = dontDistribute super."snaplet-sedna";
   "snaplet-ses-html" = dontDistribute super."snaplet-ses-html";
   "snaplet-sqlite-simple" = dontDistribute super."snaplet-sqlite-simple";
@@ -6966,6 +7087,7 @@ self: super: {
   "soap" = doDistribute super."soap_0_2_3_0";
   "sock2stream" = dontDistribute super."sock2stream";
   "sockaddr" = dontDistribute super."sockaddr";
+  "socket" = doDistribute super."socket_0_6_0_1";
   "socket-activation" = dontDistribute super."socket-activation";
   "socket-sctp" = dontDistribute super."socket-sctp";
   "socketio" = dontDistribute super."socketio";
@@ -7101,6 +7223,7 @@ self: super: {
   "stm-channelize" = dontDistribute super."stm-channelize";
   "stm-chunked-queues" = dontDistribute super."stm-chunked-queues";
   "stm-conduit" = doDistribute super."stm-conduit_2_8_0";
+  "stm-containers" = doDistribute super."stm-containers_0_2_14";
   "stm-firehose" = dontDistribute super."stm-firehose";
   "stm-io-hooks" = dontDistribute super."stm-io-hooks";
   "stm-lifted" = dontDistribute super."stm-lifted";
@@ -7274,6 +7397,7 @@ self: super: {
   "tag-bits" = dontDistribute super."tag-bits";
   "tag-stream" = dontDistribute super."tag-stream";
   "tagchup" = dontDistribute super."tagchup";
+  "tagged" = doDistribute super."tagged_0_8_4";
   "tagged-exception-core" = dontDistribute super."tagged-exception-core";
   "tagged-list" = dontDistribute super."tagged-list";
   "tagged-th" = dontDistribute super."tagged-th";
@@ -7321,11 +7445,13 @@ self: super: {
   "teams" = dontDistribute super."teams";
   "teeth" = dontDistribute super."teeth";
   "telegram" = dontDistribute super."telegram";
+  "telegram-api" = doDistribute super."telegram-api_0_4_3_1";
   "teleport" = dontDistribute super."teleport";
   "template-default" = dontDistribute super."template-default";
   "template-haskell-util" = dontDistribute super."template-haskell-util";
   "template-hsml" = dontDistribute super."template-hsml";
   "template-yj" = dontDistribute super."template-yj";
+  "templateify" = dontDistribute super."templateify";
   "templatepg" = dontDistribute super."templatepg";
   "templater" = dontDistribute super."templater";
   "tempo" = dontDistribute super."tempo";
@@ -7588,6 +7714,7 @@ self: super: {
   "tst" = dontDistribute super."tst";
   "tsvsql" = dontDistribute super."tsvsql";
   "ttask" = dontDistribute super."ttask";
+  "tttool" = doDistribute super."tttool_1_6_1_1";
   "tubes" = dontDistribute super."tubes";
   "tuntap" = dontDistribute super."tuntap";
   "tup-functor" = dontDistribute super."tup-functor";
@@ -7625,6 +7752,7 @@ self: super: {
   "twitch" = dontDistribute super."twitch";
   "twitter" = dontDistribute super."twitter";
   "twitter-enumerator" = dontDistribute super."twitter-enumerator";
+  "twitter-feed" = doDistribute super."twitter-feed_0_2_0_7";
   "tx" = dontDistribute super."tx";
   "txt-sushi" = dontDistribute super."txt-sushi";
   "txt2rtf" = dontDistribute super."txt2rtf";
@@ -7676,6 +7804,7 @@ self: super: {
   "typesafe-endian" = dontDistribute super."typesafe-endian";
   "typescript-docs" = dontDistribute super."typescript-docs";
   "typical" = dontDistribute super."typical";
+  "tz" = doDistribute super."tz_0_1_1_1";
   "uAgda" = dontDistribute super."uAgda";
   "uacpid" = dontDistribute super."uacpid";
   "uber" = dontDistribute super."uber";
@@ -7767,6 +7896,7 @@ self: super: {
   "ureader" = dontDistribute super."ureader";
   "urembed" = dontDistribute super."urembed";
   "uri" = dontDistribute super."uri";
+  "uri-bytestring" = doDistribute super."uri-bytestring_0_2_1_2";
   "uri-conduit" = dontDistribute super."uri-conduit";
   "uri-enumerator" = dontDistribute super."uri-enumerator";
   "uri-enumerator-file" = dontDistribute super."uri-enumerator-file";
@@ -7919,6 +8049,7 @@ self: super: {
   "wai-middleware-cache" = dontDistribute super."wai-middleware-cache";
   "wai-middleware-cache-redis" = dontDistribute super."wai-middleware-cache-redis";
   "wai-middleware-catch" = dontDistribute super."wai-middleware-catch";
+  "wai-middleware-crowd" = doDistribute super."wai-middleware-crowd_0_1_4_1";
   "wai-middleware-etag" = dontDistribute super."wai-middleware-etag";
   "wai-middleware-gunzip" = dontDistribute super."wai-middleware-gunzip";
   "wai-middleware-headers" = dontDistribute super."wai-middleware-headers";
@@ -7987,6 +8118,7 @@ self: super: {
   "webserver" = dontDistribute super."webserver";
   "websnap" = dontDistribute super."websnap";
   "websockets" = doDistribute super."websockets_0_9_6_2";
+  "websockets-snap" = doDistribute super."websockets-snap_0_9_2_0";
   "webwire" = dontDistribute super."webwire";
   "wedding-announcement" = dontDistribute super."wedding-announcement";
   "wedged" = dontDistribute super."wedged";
@@ -7994,6 +8126,7 @@ self: super: {
   "weighted-search" = dontDistribute super."weighted-search";
   "welshy" = dontDistribute super."welshy";
   "werewolf" = doDistribute super."werewolf_1_0_2_2";
+  "werewolf-slack" = doDistribute super."werewolf-slack_1_0_1_4";
   "wheb-mongo" = dontDistribute super."wheb-mongo";
   "wheb-redis" = dontDistribute super."wheb-redis";
   "wheb-strapped" = dontDistribute super."wheb-strapped";
@@ -8060,12 +8193,14 @@ self: super: {
   "x11-xim" = dontDistribute super."x11-xim";
   "x11-xinput" = dontDistribute super."x11-xinput";
   "x509-util" = dontDistribute super."x509-util";
+  "x86-64bit" = dontDistribute super."x86-64bit";
   "xattr" = dontDistribute super."xattr";
   "xbattbar" = dontDistribute super."xbattbar";
   "xcb-types" = dontDistribute super."xcb-types";
   "xcffib" = dontDistribute super."xcffib";
   "xchat-plugin" = dontDistribute super."xchat-plugin";
   "xcp" = dontDistribute super."xcp";
+  "xdcc" = doDistribute super."xdcc_1_0_4";
   "xdg-userdirs" = dontDistribute super."xdg-userdirs";
   "xdot" = dontDistribute super."xdot";
   "xfconf" = dontDistribute super."xfconf";
@@ -8081,6 +8216,7 @@ self: super: {
   "xinput-conduit" = dontDistribute super."xinput-conduit";
   "xkbcommon" = dontDistribute super."xkbcommon";
   "xkcd" = dontDistribute super."xkcd";
+  "xlsx" = doDistribute super."xlsx_0_2_3";
   "xlsx-templater" = dontDistribute super."xlsx-templater";
   "xml-basic" = dontDistribute super."xml-basic";
   "xml-catalog" = dontDistribute super."xml-catalog";
@@ -8102,6 +8238,7 @@ self: super: {
   "xml2html" = dontDistribute super."xml2html";
   "xml2json" = dontDistribute super."xml2json";
   "xml2x" = dontDistribute super."xml2x";
+  "xmlhtml" = doDistribute super."xmlhtml_0_2_3_4";
   "xmltv" = dontDistribute super."xmltv";
   "xmms2-client" = dontDistribute super."xmms2-client";
   "xmms2-client-glib" = dontDistribute super."xmms2-client-glib";
@@ -8169,7 +8306,9 @@ self: super: {
   "yeshql" = dontDistribute super."yeshql";
   "yesod-angular" = dontDistribute super."yesod-angular";
   "yesod-angular-ui" = dontDistribute super."yesod-angular-ui";
+  "yesod-auth" = doDistribute super."yesod-auth_1_4_13_3";
   "yesod-auth-bcrypt" = dontDistribute super."yesod-auth-bcrypt";
+  "yesod-auth-hashdb" = doDistribute super."yesod-auth-hashdb_1_5_1_1";
   "yesod-auth-kerberos" = dontDistribute super."yesod-auth-kerberos";
   "yesod-auth-ldap" = dontDistribute super."yesod-auth-ldap";
   "yesod-auth-ldap-mediocre" = dontDistribute super."yesod-auth-ldap-mediocre";
@@ -8183,6 +8322,7 @@ self: super: {
   "yesod-comments" = dontDistribute super."yesod-comments";
   "yesod-content-pdf" = dontDistribute super."yesod-content-pdf";
   "yesod-continuations" = dontDistribute super."yesod-continuations";
+  "yesod-core" = doDistribute super."yesod-core_1_4_22";
   "yesod-crud" = dontDistribute super."yesod-crud";
   "yesod-crud-persist" = dontDistribute super."yesod-crud-persist";
   "yesod-csp" = dontDistribute super."yesod-csp";
@@ -8201,6 +8341,7 @@ self: super: {
   "yesod-paginate" = dontDistribute super."yesod-paginate";
   "yesod-pagination" = dontDistribute super."yesod-pagination";
   "yesod-paginator" = dontDistribute super."yesod-paginator";
+  "yesod-persistent" = doDistribute super."yesod-persistent_1_4_0_5";
   "yesod-platform" = dontDistribute super."yesod-platform";
   "yesod-pnotify" = dontDistribute super."yesod-pnotify";
   "yesod-pure" = dontDistribute super."yesod-pure";
@@ -8218,6 +8359,7 @@ self: super: {
   "yesod-sass" = dontDistribute super."yesod-sass";
   "yesod-session-redis" = dontDistribute super."yesod-session-redis";
   "yesod-tableview" = dontDistribute super."yesod-tableview";
+  "yesod-test" = doDistribute super."yesod-test_1_5_1_1";
   "yesod-test-json" = dontDistribute super."yesod-test-json";
   "yesod-tls" = dontDistribute super."yesod-tls";
   "yesod-transloadit" = dontDistribute super."yesod-transloadit";
@@ -8252,6 +8394,7 @@ self: super: {
   "yxdb-utils" = dontDistribute super."yxdb-utils";
   "z3" = dontDistribute super."z3";
   "z3-encoding" = dontDistribute super."z3-encoding";
+  "zabt" = dontDistribute super."zabt";
   "zalgo" = dontDistribute super."zalgo";
   "zampolit" = dontDistribute super."zampolit";
   "zasni-gerna" = dontDistribute super."zasni-gerna";
@@ -8284,5 +8427,6 @@ self: super: {
   "zoom-refs" = dontDistribute super."zoom-refs";
   "zsh-battery" = dontDistribute super."zsh-battery";
   "ztail" = dontDistribute super."ztail";
+  "zxcvbn-c" = dontDistribute super."zxcvbn-c";
 
 }
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index a3c87a5ef9a..6c3eb98d853 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -5623,15 +5623,12 @@ self: {
     ({ mkDerivation, base, base-compat, GLUT, OpenGL, random }:
      mkDerivation {
        pname = "FunGEn";
-       version = "1.0";
-       sha256 = "119cb0c6bff7a5cf416f0c94a535a0695e4e461105841fed516d207f8c648686";
-       revision = "4";
-       editedCabalFile = "7994da4a472d9460df18724f7e96cece4ccd4a62516d76f26d14701ceed19623";
+       version = "1.0.1";
+       sha256 = "79c0d7b46d8d7002a9f7284f9fb4596cedebf906228af0272c0a227dc33654ad";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base base-compat GLUT OpenGL random ];
        executableHaskellDepends = [ base GLUT OpenGL random ];
-       jailbreak = true;
        homepage = "http://joyful.com/fungen";
        description = "A lightweight, cross-platform, OpenGL/GLUT-based game engine";
        license = stdenv.lib.licenses.bsd3;
@@ -6005,14 +6002,13 @@ self: {
      }:
      mkDerivation {
        pname = "Gamgine";
-       version = "0.5";
-       sha256 = "80833c191728fed5faec3b761e3dfd85446cd718f708abcc7c2a983e5c7c378c";
+       version = "0.5.1";
+       sha256 = "ed466cb5abcbe273296c0f7d25f7399ea025b390e63038d4179e94515a6c591f";
        libraryHaskellDepends = [
          array base bytestring composition cpphs data-lens directory
          filepath GLFW-b ListZipper mtl OpenGLRaw parsec pretty-show
          StateVar time unordered-containers utility-ht Vec zlib
        ];
-       jailbreak = true;
        description = "Some kind of game library or set of utilities";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -6296,7 +6292,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "Glob" = callPackage
+  "Glob_0_7_10" = callPackage
     ({ mkDerivation, base, containers, directory, dlist, filepath
      , HUnit, QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2, transformers, transformers-compat
@@ -6317,6 +6313,30 @@ self: {
        homepage = "http://iki.fi/matti.niemenmaa/glob/";
        description = "Globbing library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Glob" = callPackage
+    ({ mkDerivation, base, containers, directory, dlist, filepath
+     , HUnit, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "Glob";
+       version = "0.7.11";
+       sha256 = "0a23f90be0e6a7129efef83716ce1ccd8f48f3c17063aff663232f8eaa18c377";
+       libraryHaskellDepends = [
+         base containers directory dlist filepath transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         base containers directory dlist filepath HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+         transformers transformers-compat
+       ];
+       homepage = "http://iki.fi/matti.niemenmaa/glob/";
+       description = "Globbing library";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "GlomeTrace" = callPackage
@@ -7134,8 +7154,8 @@ self: {
      }:
      mkDerivation {
        pname = "HGamer3D";
-       version = "0.7.1";
-       sha256 = "debd2a5f6d7cf4f8e2ffb416fcf3776d7cef3cebe7481dbc01737f22af478a34";
+       version = "0.8.0";
+       sha256 = "0c4f3277172120510faa8ca00b1400f5b0e74aab59fa84b7968f51f2868be99c";
        libraryHaskellDepends = [
          base bytestring cereal clock containers directory filepath
          fresco-binding messagepack text vect
@@ -11380,8 +11400,8 @@ self: {
      }:
      mkDerivation {
        pname = "MagicHaskeller";
-       version = "0.9.6.4.7";
-       sha256 = "f239c8601326293226900fc8bb15cc6bfc19f9a10e03756b1785e00a0879c680";
+       version = "0.9.6.5";
+       sha256 = "5289340f0ec721e35f66e13a871f8fe65d55ed8af9c63ebec2a2cc99db699fb8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -11506,6 +11526,32 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "Mecha" = callPackage
+    ({ mkDerivation, base, machines }:
+     mkDerivation {
+       pname = "Mecha";
+       version = "0.0.0.0";
+       sha256 = "5c2c92bdb2e808a01430a0b3a4c0e666e6cc644c1f1dd9527c07858a61de0de3";
+       libraryHaskellDepends = [ base machines ];
+       jailbreak = true;
+       homepage = "http://github.com/cartazio/mecha";
+       description = "mecha are the most complex composite machines known to humanity, lets build them well!";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "Mechs" = callPackage
+    ({ mkDerivation, base, machines }:
+     mkDerivation {
+       pname = "Mechs";
+       version = "0.0.0.0";
+       sha256 = "612a9965148844bdc7c0981d1b3cc1a40a805a9d062362b19cc85adf7cee7503";
+       libraryHaskellDepends = [ base machines ];
+       jailbreak = true;
+       homepage = "http://github.com/cartazio/mecha";
+       description = "mecha are the most complex composite machines known to humanity, lets build them well!";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "MemoTrie" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -13019,7 +13065,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "OpenGLRaw" = callPackage
+  "OpenGLRaw_3_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, fixed, half, mesa
      , text, transformers
      }:
@@ -13034,6 +13080,24 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/Opengl";
        description = "A raw binding for the OpenGL graphics system";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) mesa;};
+
+  "OpenGLRaw" = callPackage
+    ({ mkDerivation, base, bytestring, containers, fixed, half, mesa
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "OpenGLRaw";
+       version = "3.2.2.0";
+       sha256 = "65df144730044166fd8ea2f81470d71e6c5026a7c31df6be45aac9e6ddf93771";
+       libraryHaskellDepends = [
+         base bytestring containers fixed half text transformers
+       ];
+       librarySystemDepends = [ mesa ];
+       homepage = "http://www.haskell.org/haskellwiki/Opengl";
+       description = "A raw binding for the OpenGL graphics system";
+       license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mesa;};
 
   "OpenGLRaw21" = callPackage
@@ -13270,11 +13334,11 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "PPrinter";
-       version = "0.0.2";
-       sha256 = "f501e812332d106bc08f38cd18609db48caea5e9a88544cf00bb6044beae2ac3";
+       version = "0.0.4";
+       sha256 = "b3841e572ab3dd8648938b6dbc566c9a7df6aa40f3a3e6d6ea28f267e9a94c04";
        libraryHaskellDepends = [ base containers ];
        jailbreak = true;
-       description = "A derivable Haskell pretty printer";
+       description = "A generic derivable Haskell pretty printer";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -13680,8 +13744,8 @@ self: {
      }:
      mkDerivation {
        pname = "Plot-ho-matic";
-       version = "0.10.1.0";
-       sha256 = "af1880de4e2bdb5c0bcdd5e532163d15c6fd33b1f01a1d09c8f5ded3dcfa70c5";
+       version = "0.11.0.0";
+       sha256 = "bb9d6d7e5c39e48ebf380653f4f9c65391bb746ea68d44650707d02b3f6521a9";
        libraryHaskellDepends = [
          base bytestring cairo cereal Chart Chart-cairo containers
          data-default-class generic-accessors glib gtk3 lens text time
@@ -15264,6 +15328,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "SVGFonts_1_6_0_0" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-markup, blaze-svg
+     , bytestring, cereal, cereal-vector, containers, data-default-class
+     , diagrams-core, diagrams-lib, directory, parsec, split, text
+     , tuple, vector, xml
+     }:
+     mkDerivation {
+       pname = "SVGFonts";
+       version = "1.6.0.0";
+       sha256 = "f83631b05b6acf45b6226c062a6762de9e6d07421baa881b914988e7c1ee1b7c";
+       libraryHaskellDepends = [
+         attoparsec base blaze-markup blaze-svg bytestring cereal
+         cereal-vector containers data-default-class diagrams-core
+         diagrams-lib directory parsec split text tuple vector xml
+       ];
+       description = "Fonts from the SVG-Font format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "SVGPath" = callPackage
     ({ mkDerivation, base, parsec }:
      mkDerivation {
@@ -16883,6 +16967,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "TransformeR" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, mtl, parsec, QuickCheck }:
+     mkDerivation {
+       pname = "TransformeR";
+       version = "0.1.0.0";
+       sha256 = "5fb5ff75d4d54c56a26c12abdebb421d9b78ed1419c2cde8bc8e59344dfd3af0";
+       revision = "1";
+       editedCabalFile = "5b1cee36dc005c693c765b6ca9422ec3aae7b98ea0d4ab68e27b198c2b4214be";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base haskell-src-exts mtl parsec ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/remysucre/TransformeR#readme";
+       description = "eDSL in R for Safe Variable Transformarion";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "TransformersStepByStep" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -17274,23 +17377,25 @@ self: {
      }) {};
 
   "VKHS" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive, clock
-     , containers, data-default-class, directory, EitherT, filepath
-     , http-client, http-client-tls, http-types, mtl, network-uri
-     , optparse-applicative, parsec, pipes, pipes-http, regexpr, split
-     , tagsoup, text, time, utf8-string, vector
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , case-insensitive, clock, containers, data-default-class
+     , directory, filepath, http-client, http-client-tls, http-types
+     , mtl, network-uri, optparse-applicative, parsec, pipes, pipes-http
+     , pretty-show, regexpr, split, taglib, tagsoup, text, time
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "VKHS";
-       version = "1.6.4";
-       sha256 = "fb20e23dfa180c5ac4cbc91396fa97563da7cb28c93d283988bf9018d83233fd";
+       version = "1.7.1";
+       sha256 = "1b6075e1cae298b47d0d71e8a2f42c5bdc1e7428f82e81d9d55f993a3b0247a2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring case-insensitive clock containers
-         data-default-class directory EitherT filepath http-client
+         aeson aeson-pretty base bytestring case-insensitive clock
+         containers data-default-class directory filepath http-client
          http-client-tls http-types mtl network-uri optparse-applicative
-         parsec pipes pipes-http split tagsoup time utf8-string vector
+         parsec pipes pipes-http pretty-show split taglib tagsoup time
+         utf8-string vector
        ];
        executableHaskellDepends = [ regexpr text ];
        homepage = "http://github.com/grwlf/vkhs";
@@ -18135,6 +18240,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs.xorg) xinput;};
 
+  "XMLParser" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "XMLParser";
+       version = "0.1.0.0";
+       sha256 = "906668c9ebaa2ff4cf8eb97b097e80fa26acea05a8762afa7a06d499d30fdbeb";
+       libraryHaskellDepends = [ base parsec ];
+       homepage = "xy30.com";
+       description = "A library to parse xml";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "XMMS" = callPackage
     ({ mkDerivation, base, containers, xmmsclient, xmmsclient-glib }:
      mkDerivation {
@@ -19350,14 +19467,13 @@ self: {
      }:
      mkDerivation {
        pname = "acme-http";
-       version = "0.2.2";
-       sha256 = "f1915876a243d5ad8ff61a7235068a5d0cb0974760d05ecdcd72a0036944bbda";
+       version = "0.2.3";
+       sha256 = "c2d0991eccec3ded951ca60de542cb1474fa921e6480a35154ad8bac76a0bd87";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring extensible-exceptions mtl network pretty
        ];
-       jailbreak = true;
        homepage = "http://www.happstack.com";
        description = "fastest Haskell PONG server in the world";
        license = stdenv.lib.licenses.bsd3;
@@ -19391,6 +19507,17 @@ self: {
        license = "unknown";
      }) {};
 
+  "acme-iot" = callPackage
+    ({ mkDerivation, base, ghc-prim, mtl, transformers }:
+     mkDerivation {
+       pname = "acme-iot";
+       version = "0.1.0.1";
+       sha256 = "fd0d6193f7dc9d17f6a8e1c5a37c85574636cad13e1d84f3f66b4e9f58be8378";
+       libraryHaskellDepends = [ base ghc-prim mtl transformers ];
+       description = "IO monad transformer";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "acme-left-pad" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -19502,8 +19629,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "acme-omitted";
-       version = "2.0.0.0";
-       sha256 = "4d75086cd1957562a65e4284a4dc33dfc1e93a68c634a4bd05b580482a95465e";
+       version = "3.0.0.0";
+       sha256 = "4966ce601eb6493739244af36f55e22a080bcc1ea9ab9476a801bd3ca30002ac";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        homepage = "https://github.com/joachifm/acme-omitted#readme";
@@ -20054,7 +20181,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "aeson" = callPackage
+  "aeson_0_11_2_0" = callPackage
     ({ mkDerivation, attoparsec, base, base-orphans, bytestring
      , containers, deepseq, dlist, fail, ghc-prim, hashable, HUnit, mtl
      , QuickCheck, quickcheck-instances, scientific, syb, tagged
@@ -20066,8 +20193,37 @@ self: {
        pname = "aeson";
        version = "0.11.2.0";
        sha256 = "447a454b51b8d6ca9e3b59bc5918115a880a9320afeb9030000fe6c87fd2285e";
-       revision = "1";
-       editedCabalFile = "680affa9ec12880014875ce8281efb2407efde69c30e9a82654e973e5dc2c8a1";
+       revision = "3";
+       editedCabalFile = "eba3349e8834893267f4cd28c153613c8c6ea0acb9775db221ad9532d6f96ce1";
+       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 base-orphans bytestring containers ghc-prim
+         hashable HUnit QuickCheck quickcheck-instances tagged
+         template-haskell test-framework test-framework-hunit
+         test-framework-quickcheck2 text time unordered-containers vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "aeson" = callPackage
+    ({ mkDerivation, attoparsec, base, base-orphans, bytestring
+     , containers, deepseq, dlist, fail, ghc-prim, hashable, HUnit, mtl
+     , QuickCheck, quickcheck-instances, scientific, 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.1";
+       sha256 = "cc3bc708b5ea5598ae4e37fd8a96d117576031be4b4e2943953e9e19af01b74c";
        libraryHaskellDepends = [
          attoparsec base bytestring containers deepseq dlist fail ghc-prim
          hashable mtl scientific syb tagged template-haskell text time
@@ -20084,6 +20240,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson_1_0_0_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
+     , bytestring, containers, deepseq, dlist, generic-deriving
+     , ghc-prim, hashable, hashable-time, HUnit, QuickCheck
+     , quickcheck-instances, scientific, tagged, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, time-locale-compat, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.0.0.0";
+       sha256 = "a336e25fcd547a277e55f5bdbfdbf896038d0e2311e8396cca15fb3973ef6be9";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers deepseq dlist
+         ghc-prim hashable scientific tagged template-haskell text time
+         time-locale-compat unordered-containers vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat base-orphans bytestring containers
+         dlist generic-deriving ghc-prim hashable hashable-time HUnit
+         QuickCheck quickcheck-instances scientific tagged template-haskell
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time time-locale-compat unordered-containers vector
+       ];
+       homepage = "https://github.com/bos/aeson";
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-applicative" = callPackage
     ({ mkDerivation, aeson, base, text, unordered-containers }:
      mkDerivation {
@@ -20173,6 +20359,8 @@ self: {
        pname = "aeson-compat";
        version = "0.3.5.1";
        sha256 = "6ab707c4e4f15d2f55e968a91809ab52c06d0099a58c1255c0f0c382caf3c843";
+       revision = "1";
+       editedCabalFile = "3cf09a8689292ddb50651736b5e0b197e4d473632965855f265fbe3e91b8be63";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring containers exceptions
          hashable nats scientific semigroups tagged text time
@@ -20283,23 +20471,48 @@ self: {
 
   "aeson-injector" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, deepseq, HUnit, lens
-     , QuickCheck, quickcheck-text, servant-docs, swagger2, tasty
-     , tasty-hunit, tasty-quickcheck, text, unordered-containers
+     , QuickCheck, quickcheck-text, scientific, servant-docs, swagger2
+     , tasty, tasty-hunit, tasty-quickcheck, text, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "aeson-injector";
-       version = "1.0.3.0";
-       sha256 = "218676310c07f9286df1df9bd1c38bbbf599ab4a825c1980acb0f8555d54e2e5";
+       version = "1.0.4.0";
+       sha256 = "1f3e4e2d32a919b9ac2f297b3d7ab3fe337aa729aa08eb2c18490c8bd962a30f";
        libraryHaskellDepends = [
          aeson base bifunctors deepseq lens servant-docs swagger2 text
          unordered-containers
        ];
        testHaskellDepends = [
-         aeson base HUnit lens QuickCheck quickcheck-text swagger2 tasty
-         tasty-hunit tasty-quickcheck text
+         aeson base HUnit lens QuickCheck quickcheck-text scientific
+         swagger2 tasty tasty-hunit tasty-quickcheck text vector
+       ];
+       description = "Injecting fields into aeson values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "aeson-injector_1_0_5_1" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, deepseq, HUnit, lens
+     , QuickCheck, quickcheck-text, scientific, servant-docs, swagger2
+     , tasty, tasty-hunit, tasty-quickcheck, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "aeson-injector";
+       version = "1.0.5.1";
+       sha256 = "61cd48cf2f6fa2ace98841918b092727e478099bf1f9b159eed0966ae3c6a8d9";
+       libraryHaskellDepends = [
+         aeson base bifunctors deepseq lens servant-docs swagger2 text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base HUnit lens QuickCheck quickcheck-text scientific
+         swagger2 tasty tasty-hunit tasty-quickcheck text vector
        ];
+       jailbreak = true;
        description = "Injecting fields into aeson values";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-iproute" = callPackage
@@ -20583,8 +20796,8 @@ self: {
        pname = "aeson-utils";
        version = "0.3.0.2";
        sha256 = "71814b1be8849f945395eb81217a2ad464f2943134c50c09afd8a3126add4b1f";
-       revision = "2";
-       editedCabalFile = "32116e177571bd140c1d68b2c0502ba2ab58cc327cf83ca15b40521ceab61682";
+       revision = "3";
+       editedCabalFile = "38b41ff11ca87f3f1d64c141382f6fbb11f28447056f7e11b93516c4c09520f0";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring scientific text
        ];
@@ -21277,15 +21490,12 @@ self: {
      }:
      mkDerivation {
        pname = "algebra";
-       version = "4.2";
-       sha256 = "1ada84a9a816ad86f8bb11627df31f9707230fc21efa8ffdb51a1b314a61e4ac";
-       revision = "1";
-       editedCabalFile = "621c4b71305b0a6a926f055608b5ca76c4c2360a523bcdf88d80fd10d20f4210";
+       version = "4.3";
+       sha256 = "394c839f094d0b2f41ea95a87e9a0bd1831657020b9d7c9fa87f4e97fca6c1c0";
        libraryHaskellDepends = [
          adjunctions array base containers distributive mtl nats
          semigroupoids semigroups tagged transformers void
        ];
-       jailbreak = true;
        homepage = "http://github.com/ekmett/algebra/";
        description = "Constructive abstract algebra";
        license = stdenv.lib.licenses.bsd3;
@@ -21361,6 +21571,31 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "algo-s" = callPackage
+    ({ mkDerivation, base, bytestring, errors, foldl, hspec, mwc-random
+     , optparse-applicative, primitive, QuickCheck, smallcheck
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "algo-s";
+       version = "0.1.0.0";
+       sha256 = "bcc19378479a54e8c6604f5805d4b7bfb11de264c51e021c1ef099dc39021443";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base foldl mwc-random primitive unordered-containers
+       ];
+       executableHaskellDepends = [
+         base bytestring errors mwc-random optparse-applicative
+       ];
+       testHaskellDepends = [
+         base errors foldl hspec mwc-random QuickCheck smallcheck
+       ];
+       jailbreak = true;
+       description = "An implementation of Knuth's algorithm S";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "align" = callPackage
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
@@ -24108,16 +24343,15 @@ self: {
 
   "apiary-http-client" = callPackage
     ({ mkDerivation, apiary, base, bytestring, bytestring-builder
-     , data-default-class, http-client, http-types, text, transformers
-     , types-compat, wai
+     , http-client, http-types, text, transformers, types-compat, wai
      }:
      mkDerivation {
        pname = "apiary-http-client";
-       version = "0.1.2.0";
-       sha256 = "056fdeea4f3cb0c93a4b36e3c1d1695c45804ecdef45e9a77e6f9a9c87895413";
+       version = "0.1.3.0";
+       sha256 = "ed66cb3783158a7fce4409a61d8c20fa06ee2d083dbae37b086fa49af6663adc";
        libraryHaskellDepends = [
-         apiary base bytestring bytestring-builder data-default-class
-         http-client http-types text transformers types-compat wai
+         apiary base bytestring bytestring-builder http-client http-types
+         text transformers types-compat wai
        ];
        jailbreak = true;
        homepage = "https://github.com/winterland1989/apiary-http-client";
@@ -24470,7 +24704,10 @@ self: {
        pname = "applicative-quoters";
        version = "0.1.0.8";
        sha256 = "f45d567b408bacb17ef567857affb5cdf69299dd5b57fd559370a291404ba282";
+       revision = "1";
+       editedCabalFile = "5786bfaf50dbb1e35310eb17f4e090eabfd015c754f551cf637cf63be8b48d31";
        libraryHaskellDepends = [ base haskell-src-meta template-haskell ];
+       jailbreak = true;
        description = "Quasiquoters for idiom brackets and an applicative do-notation";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
@@ -24698,7 +24935,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {arbb_dev = null;};
 
-  "arbtt" = callPackage
+  "arbtt_0_9_0_9" = callPackage
     ({ mkDerivation, aeson, array, base, binary, bytestring
      , bytestring-progress, containers, deepseq, directory, filepath
      , libXScrnSaver, parsec, pcre-light, process-extras, strict, tasty
@@ -24725,6 +24962,36 @@ self: {
        homepage = "http://arbtt.nomeata.de/";
        description = "Automatic Rule-Based Time Tracker";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs.xorg) libXScrnSaver;};
+
+  "arbtt" = callPackage
+    ({ mkDerivation, aeson, array, base, binary, bytestring
+     , bytestring-progress, containers, deepseq, directory, filepath
+     , libXScrnSaver, parsec, pcre-light, process-extras, strict, tasty
+     , tasty-golden, tasty-hunit, terminal-progress-bar, time
+     , transformers, unix, utf8-string, X11
+     }:
+     mkDerivation {
+       pname = "arbtt";
+       version = "0.9.0.10";
+       sha256 = "cc58ebe8508c682f783b238652f0415958c948b4957854624c4f23c131b0fcc2";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson array base binary bytestring bytestring-progress containers
+         deepseq directory filepath parsec pcre-light strict
+         terminal-progress-bar time transformers unix utf8-string X11
+       ];
+       executableSystemDepends = [ libXScrnSaver ];
+       testHaskellDepends = [
+         base binary bytestring containers deepseq directory parsec
+         pcre-light process-extras tasty tasty-golden tasty-hunit time
+         transformers unix utf8-string
+       ];
+       homepage = "http://arbtt.nomeata.de/";
+       description = "Automatic Rule-Based Time Tracker";
+       license = "GPL";
      }) {inherit (pkgs.xorg) libXScrnSaver;};
 
   "archive" = callPackage
@@ -25463,7 +25730,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "asciidiagram" = callPackage
+  "asciidiagram_1_3_1_1" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, containers
      , directory, filepath, FontyFruity, JuicyPixels, lens, linear, mtl
      , optparse-applicative, rasterific-svg, svg-tree, text, vector
@@ -25489,6 +25756,31 @@ self: {
        doCheck = false;
        description = "Pretty rendering of Ascii diagram into svg or png";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "asciidiagram" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , FontyFruity, JuicyPixels, lens, linear, mtl, optparse-applicative
+     , rasterific-svg, svg-tree, text, vector
+     }:
+     mkDerivation {
+       pname = "asciidiagram";
+       version = "1.3.1.2";
+       sha256 = "dafcfba0d75da40e33bc3270b25c8cdd48f1cf07cc64d21f8eac4024d7ddddba";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers FontyFruity JuicyPixels lens linear mtl
+         rasterific-svg svg-tree text vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory filepath FontyFruity JuicyPixels
+         optparse-applicative rasterific-svg svg-tree text
+       ];
+       doCheck = false;
+       description = "Pretty rendering of Ascii diagram into svg or png";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "asic" = callPackage
@@ -26806,12 +27098,12 @@ self: {
     ({ mkDerivation, base, directory, mtl, process, unix }:
      mkDerivation {
        pname = "autoproc";
-       version = "0.1.2";
-       sha256 = "c574e182b1eae253e7d63b8d6c3b648d57b5508e465e36146536a12c0556347b";
+       version = "0.2.1";
+       sha256 = "cf4c46c463fe3812d2c1bf915b5d7dfa5549f33a942b1c08615523772461e98f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory mtl process unix ];
-       homepage = "http://code.haskell.org/autoproc";
+       homepage = "https://github.com/dagit/autoproc";
        description = "EDSL for Procmail scripts";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
@@ -29627,6 +29919,8 @@ self: {
        pname = "binary-orphans";
        version = "0.1.5.1";
        sha256 = "c60442199ad6139654a6a672dc66d321dbe8a23199fb5269ef295b2adc23af4c";
+       revision = "2";
+       editedCabalFile = "987c5b6812e28ae7ab9b6073cbb6e5db7d4e1f6c286dc5b69d8a1d6bcb51831b";
        libraryHaskellDepends = [
          aeson base binary case-insensitive hashable scientific tagged text
          text-binary time unordered-containers vector
@@ -29792,6 +30086,8 @@ self: {
        pname = "binary-tagged";
        version = "0.1.4.0";
        sha256 = "dc25744ebd21f8a050341cd7c25c69f66734b2930aaad89b411cf68c28605671";
+       revision = "1";
+       editedCabalFile = "0448d0fe13530497a639b2bd8fc290522fa526aee5e3486bc15003797cd84bc7";
        libraryHaskellDepends = [
          aeson array base binary bytestring containers generics-sop hashable
          nats scientific semigroups SHA tagged text time
@@ -31109,8 +31405,8 @@ self: {
      }:
      mkDerivation {
        pname = "bitcoin-payment-channel";
-       version = "0.2.0.0";
-       sha256 = "0bfb82323eaf0064990c17cd2e544416c8e8dfe71749b01a86fca51eaa1d6dc1";
+       version = "0.2.2.0";
+       sha256 = "cc0d19904ea5363453765c702b5f1e6f1ac99a2a90d8d17223d94d610dee3806";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -31700,8 +31996,8 @@ self: {
        pname = "blank-canvas";
        version = "0.6";
        sha256 = "2a0e5c4fc50b1ce43e56b1a11056186c21d565e225da36f90c58f8c0a70f48b3";
-       revision = "6";
-       editedCabalFile = "055ded567ebb0559690086233e053175df86dc614cd3fa172c5efdaf4aaf0489";
+       revision = "7";
+       editedCabalFile = "b965b55168cd3f25ee55944fb39f9509c847bb48f69e8ec443614fc8ff4960dd";
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring bytestring colour
          containers data-default-class http-types kansas-comet mime-types
@@ -32493,10 +32789,9 @@ self: {
     ({ mkDerivation, base, binary, bytestring }:
      mkDerivation {
        pname = "bmp";
-       version = "1.2.6.1";
-       sha256 = "077d81403b98c554dd3b55334c3b989ff7fae84f344e7c7e2c2385f5e4cbac55";
+       version = "1.2.6.3";
+       sha256 = "3cc63de40fe088ce4d1c869180fd2309bcec35a940c9e3d1904d3520ca2fdacc";
        libraryHaskellDepends = [ base binary bytestring ];
-       jailbreak = true;
        homepage = "https://github.com/benl23x5/bmp";
        description = "Read and write uncompressed BMP image files";
        license = stdenv.lib.licenses.mit;
@@ -34356,6 +34651,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cabal" = callPackage
+    ({ mkDerivation, base, youProbablyWantCapitalCabal }:
+     mkDerivation {
+       pname = "cabal";
+       version = "0.0.0.0";
+       sha256 = "7a06b65d9d4ddb38f54e865e38742d7b600e0f646f0e07ce9015659ff7563bf6";
+       revision = "2";
+       editedCabalFile = "3aaac7f6716c93dec3f62f807a2ab25217f419fa30f566a3d9c4ad939e075bb6";
+       libraryHaskellDepends = [ base youProbablyWantCapitalCabal ];
+       doHaddock = false;
+       jailbreak = true;
+       description = "placeholder for Cabal package, you want the upper case Cabal";
+       license = stdenv.lib.licenses.bsd2;
+       broken = true;
+     }) {youProbablyWantCapitalCabal = null;};
+
   "cabal-audit" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath, HTTP
      , optparse-applicative
@@ -34382,8 +34693,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-bounds";
-       version = "1.0.2";
-       sha256 = "f5bc846128bea555c9f30e1a61007a5d8e45f30e162c19e98c23bfff6049d3b6";
+       version = "1.0.4";
+       sha256 = "2621cd4e76357bcf7f175413c111874c6afc552d80c85372dc43f4bcd5c99719";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -34394,7 +34705,6 @@ self: {
        testHaskellDepends = [
          base directory filepath Glob process tasty tasty-golden
        ];
-       jailbreak = true;
        description = "A command line program for managing the bounds/versions of the dependencies in a cabal file";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -34406,8 +34716,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-cargs";
-       version = "0.7.9";
-       sha256 = "58de52a44a9e9895c2bca3d9689012ad3f525a8a5c3b0ebda7b1c5b461d6002d";
+       version = "0.7.10";
+       sha256 = "464b299f095150bd0831df7dbab45d272909875a21f4030b79aee58faefdbb1d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -34417,7 +34727,6 @@ self: {
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base filepath tasty tasty-golden ];
-       jailbreak = true;
        description = "A command line program for extracting compiler arguments from a cabal file";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -34839,13 +35148,12 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-lenses";
-       version = "0.4.7";
-       sha256 = "391c03e92137fde75bfc2fe7d6f3369c53a1a683e8da6d3cf14d901e7a1b58a2";
+       version = "0.4.8";
+       sha256 = "0dd6bbe6b77f6d8cfaff690f0ce53064e9fae10d317278205895fa5fb8d13195";
        libraryHaskellDepends = [
          base Cabal either lens strict system-fileio system-filepath text
          transformers unordered-containers
        ];
-       jailbreak = true;
        description = "Lenses and traversals for the Cabal library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -34906,8 +35214,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-mon";
-       version = "1.0.1";
-       sha256 = "602376f6e45c41ea6d72935c0833ce62dcb5eb789edfe56c72dee3368eabcff2";
+       version = "1.0.2";
+       sha256 = "22e2d4a7faf7ece320ce4938c658e59fe9002ea14d12543343cadba109e57e94";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -35505,16 +35813,16 @@ self: {
 
   "cacophony" = callPackage
     ({ mkDerivation, aeson, async, base, base16-bytestring, bytestring
-     , cryptonite, deepseq, directory, free, hlint, lens, memory
-     , monad-coroutine, mtl, text, transformers
+     , cryptonite, deepseq, directory, exceptions, free, hlint, lens
+     , memory, monad-coroutine, mtl, safe-exceptions, text, transformers
      }:
      mkDerivation {
        pname = "cacophony";
-       version = "0.7.0";
-       sha256 = "e67a7fb0e957b47dd6a9b4b956cad17ff42022bca119bb08422d52050a51379f";
+       version = "0.8.0";
+       sha256 = "063069adea7ae07f3ec458b76194edca2acb96871acc0fd437cc6b0c68739c01";
        libraryHaskellDepends = [
-         base bytestring cryptonite deepseq free lens memory monad-coroutine
-         mtl transformers
+         base bytestring cryptonite deepseq exceptions free lens memory
+         monad-coroutine mtl safe-exceptions transformers
        ];
        testHaskellDepends = [
          aeson async base base16-bytestring bytestring directory free hlint
@@ -36017,6 +36325,22 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "canteven-parsedate" = callPackage
+    ({ mkDerivation, base, Cabal, old-locale, time, timezone-series, tz
+     }:
+     mkDerivation {
+       pname = "canteven-parsedate";
+       version = "1.0.1.2";
+       sha256 = "8522cd860b42f3b953c122d928a46c5b2c8640d26ec46dec1c975a94b8208ab7";
+       libraryHaskellDepends = [ base time timezone-series tz ];
+       testHaskellDepends = [
+         base Cabal old-locale time timezone-series tz
+       ];
+       jailbreak = true;
+       description = "Date / time parsing utilities that try to guess the date / time format";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "canteven-template" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, data-default
      , markdown, template-haskell, text
@@ -36210,7 +36534,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "carray" = callPackage
+  "carray_0_1_6_4" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, ix-shapable
      , QuickCheck, syb
      }:
@@ -36224,6 +36548,23 @@ self: {
        testHaskellDepends = [ array base ix-shapable QuickCheck ];
        description = "A C-compatible array library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "carray" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, ix-shapable
+     , QuickCheck, syb
+     }:
+     mkDerivation {
+       pname = "carray";
+       version = "0.1.6.5";
+       sha256 = "6b253bd77cbe3cf1ed05ed60fa45f72f2ed5f6a0db5395ba26d58317b146786b";
+       libraryHaskellDepends = [
+         array base binary bytestring ix-shapable QuickCheck syb
+       ];
+       testHaskellDepends = [ array base ix-shapable QuickCheck ];
+       description = "A C-compatible array library";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "cartel_0_16_0_0" = callPackage
@@ -36302,8 +36643,8 @@ self: {
      }:
      mkDerivation {
        pname = "casadi-bindings";
-       version = "3.0.0.4";
-       sha256 = "0bc7e65fb3bedf79511642bedfa03670c062a189ae8ab034d6756707025c91cf";
+       version = "3.0.0.5";
+       sha256 = "338690af83dd423a118f00fdf7dba3b6a4b49875f7e9e685bc2a68f5284853a9";
        libraryHaskellDepends = [
          base binary casadi-bindings-core casadi-bindings-internal cereal
          containers linear spatial-math vector vector-binary-instances
@@ -36648,8 +36989,8 @@ self: {
      }:
      mkDerivation {
        pname = "cassava-streams";
-       version = "0.2.0.0";
-       sha256 = "b4e825309533f9bd33728de92950eea33f362ea5bfd4e04689777b3760f69d6d";
+       version = "0.3.0.0";
+       sha256 = "81a4548c78474d025c525728a57616a657e5d59c377625c54ebb3f1818f5c49b";
        libraryHaskellDepends = [
          base bytestring cassava io-streams vector
        ];
@@ -37665,8 +38006,8 @@ self: {
      }:
      mkDerivation {
        pname = "chatter";
-       version = "0.8.0.2";
-       sha256 = "d298cc5ce3d95df664e050e17395d56b0b4206b6557af14345eee90768c9ecc0";
+       version = "0.9.0.0";
+       sha256 = "edf8212aeb172c7ba63be8d72eded4f7ca3eb0c29fbf78b134d7a9e64f989f5a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38754,8 +39095,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "0.6.22";
-       sha256 = "26fabe321e4f27974428672d69e39699368674978559242ea28699bd76d35e4d";
+       version = "0.6.23";
+       sha256 = "ec13dd8c85c452751860d761f44744c9a1d70ad81c053fc8a5747c6359a3378c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -38805,8 +39146,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "0.6.20";
-       sha256 = "93e5c409bf5bcc27a2623876c53a7123ed5bbb5c9b0839a6bca406b5823b8304";
+       version = "0.6.21";
+       sha256 = "2b0135d15e5e3b66a59ccdb40a3bf38bb8895bf67c49eb9b54a80082752b98ad";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clash-prelude concurrent-supply
          containers deepseq directory errors fgl filepath ghc hashable
@@ -38834,6 +39175,7 @@ self: {
          singletons template-haskell
        ];
        testHaskellDepends = [ base doctest ];
+       jailbreak = true;
        homepage = "http://www.clash-lang.org/";
        description = "CAES Language for Synchronous Hardware - Prelude library";
        license = stdenv.lib.licenses.bsd2;
@@ -38848,8 +39190,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "0.10.11";
-       sha256 = "6b502cd0ceceee1f61d9150f29453b17246e128d5a6d5b21eeb301095351a627";
+       version = "0.10.13";
+       sha256 = "e0c9704a5ebf42acffa66a22d9282710d40650301b38538080a3d0c56073f203";
        libraryHaskellDepends = [
          array base data-default deepseq ghc-prim ghc-typelits-extra
          ghc-typelits-natnormalise integer-gmp lens QuickCheck reflection
@@ -38899,8 +39241,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-systemverilog";
-       version = "0.6.8";
-       sha256 = "2d8847467c0c6e0d20125c36c806f6fbd7e39ccf38fbb50572e76f5399010a28";
+       version = "0.6.9";
+       sha256 = "502f2c31093762ce8d4dc8dcb9a13b69c3a298fdfd1f417581d4f0438ed865ff";
        libraryHaskellDepends = [
          base clash-lib clash-prelude fgl lens mtl text unordered-containers
          wl-pprint-text
@@ -38934,8 +39276,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-verilog";
-       version = "0.6.8";
-       sha256 = "3f7ba6a32c6313c55e856038a13b214f51d9084a273209692323700ee2ee2ce3";
+       version = "0.6.9";
+       sha256 = "a4daac5e9c67349de419e301ab969922d63bd4680061288a8b24bb10b2f78e3b";
        libraryHaskellDepends = [
          base clash-lib clash-prelude fgl lens mtl text unordered-containers
          wl-pprint-text
@@ -40355,6 +40697,17 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "codeworld-api" = callPackage
+    ({ mkDerivation, base, blank-canvas, mtl, random, text, time }:
+     mkDerivation {
+       pname = "codeworld-api";
+       version = "0.1.0.1";
+       sha256 = "0cfc3b9f2feef07ee09ed9a9c5f95ea909202ec16ce5bbc08c3c1462945affce";
+       libraryHaskellDepends = [ base blank-canvas mtl random text time ];
+       description = "Graphics library for CodeWorld";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "codex_0_4_0_10" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, cryptohash
      , directory, either, filepath, hackage-db, http-client, lens
@@ -42018,7 +42371,7 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "conduit" = callPackage
+  "conduit_1_2_6_6" = callPackage
     ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
      , mmorph, mtl, QuickCheck, resourcet, safe, transformers
      , transformers-base
@@ -42038,6 +42391,29 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Streaming data processing library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conduit" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
+     , mmorph, mtl, QuickCheck, resourcet, safe, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "conduit";
+       version = "1.2.7";
+       sha256 = "36b21db556cf81d3080edd50f417ce5dd8391f32cf2f8078b48110cfd6ed3be5";
+       libraryHaskellDepends = [
+         base exceptions lifted-base mmorph mtl resourcet transformers
+         transformers-base
+       ];
+       testHaskellDepends = [
+         base containers exceptions hspec mtl QuickCheck resourcet safe
+         transformers
+       ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Streaming data processing library";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "conduit-audio" = callPackage
@@ -42355,8 +42731,8 @@ self: {
      }:
      mkDerivation {
        pname = "config-manager";
-       version = "0.3.0.0";
-       sha256 = "22d805602714e700507a68c62b4ccc0bd57aa0bef739d0256f19a8d43230b5fc";
+       version = "0.3.0.1";
+       sha256 = "8b025eb8870a68d061526d76e55c860cc75ff5c61cb23a27b65d6fa0450732e3";
        libraryHaskellDepends = [
          base filepath parsec text time unordered-containers
        ];
@@ -42529,15 +42905,14 @@ self: {
      }:
      mkDerivation {
        pname = "confsolve";
-       version = "0.5.4";
-       sha256 = "2140e46d9eb4c18fb6abca962ae47952468922ca336ba7ffa63fb706157b0425";
+       version = "0.5.5";
+       sha256 = "2f631b8794d54e118d40c663db03695a6c7bf8c2d42bf4b4882aae7165969973";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          attoparsec base cmdargs process system-fileio system-filepath text
          time unordered-containers
        ];
-       jailbreak = true;
        description = "A command line tool for resolving conflicts of file synchronizers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -42602,7 +42977,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "connection" = callPackage
+  "connection_0_2_5" = callPackage
     ({ mkDerivation, base, byteable, bytestring, containers
      , data-default-class, network, socks, tls, x509, x509-store
      , x509-system, x509-validation
@@ -42618,6 +42993,25 @@ self: {
        homepage = "http://github.com/vincenthz/hs-connection";
        description = "Simple and easy network connections API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "connection" = callPackage
+    ({ mkDerivation, base, byteable, bytestring, containers
+     , data-default-class, network, socks, tls, x509, x509-store
+     , x509-system, x509-validation
+     }:
+     mkDerivation {
+       pname = "connection";
+       version = "0.2.6";
+       sha256 = "03c16c28094a92ccf8fd58c61a4555b60158615914676c5c65c998a69ece37b0";
+       libraryHaskellDepends = [
+         base byteable bytestring containers data-default-class network
+         socks tls x509 x509-store x509-system x509-validation
+       ];
+       homepage = "http://github.com/vincenthz/hs-connection";
+       description = "Simple and easy network connections API";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "connection-pool" = callPackage
@@ -43062,7 +43456,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "contravariant-extras" = callPackage
+  "contravariant-extras_0_3_2" = callPackage
     ({ mkDerivation, base-prelude, contravariant, template-haskell
      , tuple-th
      }:
@@ -43076,6 +43470,23 @@ self: {
        homepage = "https://github.com/nikita-volkov/contravariant-extras";
        description = "Extras for the \"contravariant\" package";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "contravariant-extras" = callPackage
+    ({ mkDerivation, base-prelude, contravariant, template-haskell
+     , tuple-th
+     }:
+     mkDerivation {
+       pname = "contravariant-extras";
+       version = "0.3.3.1";
+       sha256 = "f35d9df4d1c0fa767afca6500c6ab598f052128abc513259930ef5b6bc7c79d5";
+       libraryHaskellDepends = [
+         base-prelude contravariant template-haskell tuple-th
+       ];
+       homepage = "https://github.com/nikita-volkov/contravariant-extras";
+       description = "Extras for the \"contravariant\" package";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "control-bool" = callPackage
@@ -44642,6 +45053,54 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "credentials" = callPackage
+    ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-dynamodb
+     , amazonka-kms, base, bytestring, conduit, cryptonite, exceptions
+     , lens, memory, retry, semigroups, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "credentials";
+       version = "0.0.1.1";
+       sha256 = "e9febd40fa2e4c551423ad9d7e323b2d10b1dc0dd56e551612e210f1e16a1e15";
+       libraryHaskellDepends = [
+         aeson amazonka amazonka-core amazonka-dynamodb amazonka-kms base
+         bytestring conduit cryptonite exceptions lens memory retry
+         semigroups text time transformers unordered-containers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/brendanhay/credentials";
+       description = "Secure Credentials Storage and Distribution";
+       license = "unknown";
+     }) {};
+
+  "credentials-cli" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, amazonka, amazonka-core
+     , amazonka-dynamodb, attoparsec, base, bytestring, conduit
+     , conduit-extra, credentials, cryptonite, exceptions, lens, mmorph
+     , mtl, optparse-applicative, resourcet, text, transformers-base
+     , unordered-containers, uri-bytestring
+     }:
+     mkDerivation {
+       pname = "credentials-cli";
+       version = "0.0.1.1";
+       sha256 = "9abcaf0cbbb5e523d4ceeadff677844c5af668a5374a78ee5a004101fea90d70";
+       revision = "1";
+       editedCabalFile = "b64b55d3e9904385ed1f18bcf5e60baa7d8e06aeec6f29c8b9b1a9fc62a2f219";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson aeson-pretty amazonka amazonka-core amazonka-dynamodb
+         attoparsec base bytestring conduit conduit-extra credentials
+         cryptonite exceptions lens mmorph mtl optparse-applicative
+         resourcet text transformers-base unordered-containers
+         uri-bytestring
+       ];
+       homepage = "https://github.com/brendanhay/credentials";
+       description = "Secure Credentials Administration";
+       license = "unknown";
+     }) {};
+
   "crf-chain1" = callPackage
     ({ mkDerivation, array, base, binary, containers, data-lens
      , logfloat, monad-codec, parallel, random, sgd, vector
@@ -44756,8 +45215,8 @@ self: {
        pname = "criterion";
        version = "1.1.1.0";
        sha256 = "e71855a7a9cd946044b2137f31603e0578f6e517a2ed667a2b479990cc0949dd";
-       revision = "1";
-       editedCabalFile = "a56744ffa937e244ac18d8257f4746a1e2b31fbce69e9602033f7f4f2ebcd7c6";
+       revision = "3";
+       editedCabalFile = "0e89cf15205fea2b90e95198774fba60839aab36fc67a695baa482d55013978e";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45471,8 +45930,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptonite";
-       version = "0.17";
-       sha256 = "a6c6a129b844c55580c4bfd79ecdf5bdc37ea8be6634ae7858015219111156c8";
+       version = "0.19";
+       sha256 = "1ceac099f80058111b0a57a5bd5c8f336ba875060eb69f3d1981d8bbc99885e7";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim integer-gmp memory
        ];
@@ -46130,6 +46589,23 @@ self: {
        license = "unknown";
      }) {};
 
+  "currency-convert" = callPackage
+    ({ mkDerivation, aeson, base, http-conduit, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "currency-convert";
+       version = "0.2.1.0";
+       sha256 = "c4b7a948d5755a3e61bb33045e35205349294c8b38cc65c6b54d7d20089c3378";
+       libraryHaskellDepends = [
+         aeson base http-conduit text unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "http://tuomas56.github.io/currency-convert";
+       description = "Typesafe currency conversion";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "current-locale" = callPackage
     ({ mkDerivation, base, old-locale, process, split }:
      mkDerivation {
@@ -46309,8 +46785,8 @@ self: {
      }:
      mkDerivation {
        pname = "d-bus";
-       version = "0.1.3.4";
-       sha256 = "dc0d463fc4a2065a72aa3c14acb3b1e04cff5b0eaddf52dfc076db74dcf01698";
+       version = "0.1.4";
+       sha256 = "e194ab6f0447adf7954b1b94b1533ded8c79af99a7c8976e316934a22452f5b3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46423,20 +46899,20 @@ self: {
      }) {};
 
   "damnpacket" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
-     , QuickCheck, text
+    ({ mkDerivation, attoparsec, base, bytestring, fail, hspec
+     , html-entities, HUnit, QuickCheck, template-haskell, text
+     , th-lift-instances
      }:
      mkDerivation {
        pname = "damnpacket";
-       version = "0.6.0";
-       sha256 = "cb2f95b9bbac573f71f14a4f4ddb05df2c5d05bd2a0fc45d472e29e1359bec8c";
+       version = "1.0.2";
+       sha256 = "b00c792670558fc2849f932232361fe4b59c7ce62009e5efbab71a162438ea05";
        libraryHaskellDepends = [
-         attoparsec base bytestring containers deepseq text
+         attoparsec base bytestring fail html-entities template-haskell text
+         th-lift-instances
        ];
-       testHaskellDepends = [ base containers QuickCheck text ];
-       jailbreak = true;
-       homepage = "https://github.com/joelteon/damnpacket";
-       description = "Parsing dAmn packets";
+       testHaskellDepends = [ base bytestring hspec HUnit QuickCheck ];
+       description = "Parsing dAmn messages";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -48692,7 +49168,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dawg-ord" = callPackage
+  "dawg-ord_0_5_0_1" = callPackage
     ({ mkDerivation, base, containers, HUnit, mtl, smallcheck, tasty
      , tasty-hunit, tasty-quickcheck, tasty-smallcheck, transformers
      , vector
@@ -48712,6 +49188,28 @@ self: {
        homepage = "https://github.com/kawu/dawg-ord";
        description = "Directed acyclic word graphs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "dawg-ord" = callPackage
+    ({ mkDerivation, base, containers, HUnit, mtl, smallcheck, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-smallcheck, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "dawg-ord";
+       version = "0.5.0.2";
+       sha256 = "7a15c20781257d9002d3037828083da2f7adc37b04cd02c68439f9882f246a82";
+       libraryHaskellDepends = [
+         base containers mtl transformers vector
+       ];
+       testHaskellDepends = [
+         base containers HUnit mtl smallcheck tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       homepage = "https://github.com/kawu/dawg-ord";
+       description = "Directed acyclic word graphs";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "dbcleaner" = callPackage
@@ -48763,6 +49261,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dbm" = callPackage
+    ({ mkDerivation, base, directory, ini, optparse-applicative
+     , sqlite-simple, text, time
+     }:
+     mkDerivation {
+       pname = "dbm";
+       version = "0.1.1.0";
+       sha256 = "d3e9b3896f0c6710c001b97a1b6fc54ecde5a753cbc96df227ea9780fd126fee";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory ini optparse-applicative sqlite-simple text time
+       ];
+       homepage = "https://github.com/relrod/dbm";
+       description = "A *simple* database migration tool";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dbmigrations" = callPackage
     ({ mkDerivation, base, bytestring, configurator, containers
      , directory, fgl, filepath, HDBC, HDBC-postgresql, HDBC-sqlite3
@@ -50198,6 +50714,18 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "deque" = callPackage
+    ({ mkDerivation, base-prelude }:
+     mkDerivation {
+       pname = "deque";
+       version = "0.1";
+       sha256 = "881f1118d18e1868a04443e2826aede8316a266ad93ce1e00a999834fa028e2d";
+       libraryHaskellDepends = [ base-prelude ];
+       homepage = "https://github.com/nikita-volkov/deque";
+       description = "Double-ended queue";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "dequeue" = callPackage
     ({ mkDerivation, base, Cabal, cabal-test-quickcheck, QuickCheck
      , safe
@@ -50440,25 +50968,6 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "descriptive_0_0_2" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, containers, mtl, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "descriptive";
-       version = "0.0.2";
-       sha256 = "1711cae6ac16ecf03eef771ef101cdda4c64f7a16d69a912ae1a57ad15a1004a";
-       revision = "3";
-       editedCabalFile = "0aeae1dd5ab8c21ade57c1e036600b8162cd790823618a9c5894417ba68e2ea2";
-       libraryHaskellDepends = [
-         aeson base bifunctors containers mtl text transformers
-       ];
-       homepage = "https://github.com/chrisdone/descriptive";
-       description = "Self-describing consumers/parsers; forms, cmd-line args, JSON, etc";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "descriptive" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, containers, hspec, HUnit
      , mtl, scientific, text, transformers, vector
@@ -50479,6 +50988,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "desert" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, hspec
+     , http-conduit, MissingH, process, transformers
+     }:
+     mkDerivation {
+       pname = "desert";
+       version = "0.1.0.1";
+       sha256 = "105d7fe94d34dc1efcb5e391a74a0999429af6d7d031f2dc5c2b1c87ba261170";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory filepath http-conduit MissingH process
+         transformers
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/zjhmale/desert";
+       description = "a simple build tool for OCaml projects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "despair" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -50715,7 +51245,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "diagrams-cairo" = callPackage
+  "diagrams-cairo_1_3_1" = callPackage
     ({ mkDerivation, array, base, bytestring, cairo, colour, containers
      , data-default-class, diagrams-core, diagrams-lib, filepath
      , hashable, JuicyPixels, lens, mtl, optparse-applicative, pango
@@ -50737,7 +51267,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "diagrams-canvas" = callPackage
+  "diagrams-cairo" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, colour, containers
+     , data-default-class, diagrams-core, diagrams-lib, filepath
+     , hashable, JuicyPixels, lens, mtl, optparse-applicative, pango
+     , split, statestack, transformers, unix, vector
+     }:
+     mkDerivation {
+       pname = "diagrams-cairo";
+       version = "1.3.1.1";
+       sha256 = "00c635a58a480033a2fc1240b703a4afab721f990e1412f57b8fa6becd6878b8";
+       libraryHaskellDepends = [
+         array base bytestring cairo colour containers data-default-class
+         diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
+         optparse-applicative pango split statestack transformers unix
+         vector
+       ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Cairo backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diagrams-canvas_1_3_0_5" = callPackage
     ({ mkDerivation, base, blank-canvas, cmdargs, containers
      , data-default-class, diagrams-core, diagrams-lib, lens, mtl
      , NumInstances, optparse-applicative, statestack, text
@@ -50757,6 +51309,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-canvas" = callPackage
+    ({ mkDerivation, base, blank-canvas, cmdargs, containers
+     , data-default-class, diagrams-core, diagrams-lib, lens, mtl
+     , NumInstances, optparse-applicative, statestack, text
+     }:
+     mkDerivation {
+       pname = "diagrams-canvas";
+       version = "1.3.0.6";
+       sha256 = "20e905738a7a78061690fc55209041b2c3cdd6f6b6a534b6fdb75728a595a0ff";
+       libraryHaskellDepends = [
+         base blank-canvas cmdargs containers data-default-class
+         diagrams-core diagrams-lib lens mtl NumInstances
+         optparse-applicative statestack text
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "HTML5 canvas backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-contrib" = callPackage
     ({ mkDerivation, base, circle-packing, colour, containers
      , data-default, data-default-class, diagrams-core, diagrams-lib
@@ -50890,7 +51462,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "diagrams-html5" = callPackage
+  "diagrams-html5_1_3_0_6" = callPackage
     ({ mkDerivation, base, cmdargs, containers, data-default-class
      , diagrams-core, diagrams-lib, lens, mtl, NumInstances
      , optparse-applicative, split, statestack, static-canvas, text
@@ -50910,7 +51482,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "diagrams-lib" = callPackage
+  "diagrams-html5" = callPackage
+    ({ mkDerivation, base, cmdargs, containers, data-default-class
+     , diagrams-core, diagrams-lib, lens, mtl, NumInstances
+     , optparse-applicative, split, statestack, static-canvas, text
+     }:
+     mkDerivation {
+       pname = "diagrams-html5";
+       version = "1.3.0.7";
+       sha256 = "8bddc55b95b6e0616552d09e59ae74ae315d296ef816552c5d7649035d49f7a4";
+       libraryHaskellDepends = [
+         base cmdargs containers data-default-class diagrams-core
+         diagrams-lib lens mtl NumInstances optparse-applicative split
+         statestack static-canvas text
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "HTML5 canvas backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diagrams-lib_1_3_1_3" = callPackage
     ({ mkDerivation, active, adjunctions, array, base, colour
      , containers, data-default-class, diagrams-core, diagrams-solve
      , directory, distributive, dual-tree, exceptions, filepath
@@ -50923,6 +51515,35 @@ self: {
        pname = "diagrams-lib";
        version = "1.3.1.3";
        sha256 = "0bf7e87e0d60af17ebf57d9d770cadc447da8db38b9f54114dd30e25a68d79e8";
+       revision = "2";
+       editedCabalFile = "f2c86b960dc6a1d416cd78be2e086f0e9b09b493463c1f00b60fa6e1494a01ae";
+       libraryHaskellDepends = [
+         active adjunctions array base colour containers data-default-class
+         diagrams-core diagrams-solve directory distributive dual-tree
+         exceptions filepath fingertree fsnotify hashable intervals
+         JuicyPixels lens linear monoid-extras mtl optparse-applicative
+         process semigroups tagged text transformers unordered-containers
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Embedded domain-specific language for declarative graphics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "diagrams-lib" = callPackage
+    ({ mkDerivation, active, adjunctions, array, base, colour
+     , containers, data-default-class, diagrams-core, diagrams-solve
+     , directory, distributive, dual-tree, exceptions, filepath
+     , fingertree, fsnotify, hashable, intervals, JuicyPixels, lens
+     , linear, monoid-extras, mtl, optparse-applicative, process
+     , semigroups, tagged, tasty, tasty-hunit, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "diagrams-lib";
+       version = "1.3.1.4";
+       sha256 = "0ed2c2b81a872abc747dffcce74a7b19714f81a78dc44426d9d2baa999009617";
        libraryHaskellDepends = [
          active adjunctions array base colour containers data-default-class
          diagrams-core diagrams-solve directory distributive dual-tree
@@ -51040,7 +51661,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "diagrams-rasterific" = callPackage
+  "diagrams-rasterific_1_3_1_7" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default-class
      , diagrams-core, diagrams-lib, filepath, FontyFruity, hashable
      , JuicyPixels, lens, mtl, optparse-applicative, Rasterific, split
@@ -51061,6 +51682,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-rasterific" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, filepath, FontyFruity, hashable
+     , JuicyPixels, lens, mtl, optparse-applicative, Rasterific, split
+     , unix
+     }:
+     mkDerivation {
+       pname = "diagrams-rasterific";
+       version = "1.3.1.8";
+       sha256 = "b76001105055563e2a51f6dbff2e1c12547644014f748e7564f1ded42b75cb99";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib filepath FontyFruity hashable JuicyPixels lens mtl
+         optparse-applicative Rasterific split unix
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Rasterific backend for diagrams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-reflex" = callPackage
     ({ mkDerivation, base, colour, containers, diagrams-core
      , diagrams-lib, lens, monoid-extras, mtl, reflex, reflex-dom
@@ -51142,8 +51784,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-svg";
-       version = "1.4.0.2";
-       sha256 = "d496eb5078637373988e84b412c24af8b929c51b14c77f1df3fb19e6117e446f";
+       version = "1.4.0.3";
+       sha256 = "1ed1579ea601d2061373e636f558765179981b3d70e62cf18adf0617c4bf59e5";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels lens
@@ -51393,6 +52035,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "difftodo" = callPackage
+    ({ mkDerivation, base, bytestring, diff-parse, highlighting-kate
+     , optparse-applicative, protolude, tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "difftodo";
+       version = "0.1.0";
+       sha256 = "ab1c892daec3ecee50d16f8353e6da6195d3da86e1bca0ab8f3cb908a9746066";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base diff-parse highlighting-kate protolude text
+       ];
+       executableHaskellDepends = [
+         base optparse-applicative protolude text
+       ];
+       testHaskellDepends = [
+         base bytestring highlighting-kate protolude tasty tasty-hunit text
+       ];
+       homepage = "https://github.com/jml/difftodo#readme";
+       description = "Generate todo lists from source code";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "digamma" = callPackage
     ({ mkDerivation, base, math-functions }:
      mkDerivation {
@@ -51463,7 +52129,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "digestive-functors" = callPackage
+  "digestive-functors_0_8_0_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, HUnit, mtl
      , old-locale, QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, time
@@ -51484,6 +52150,30 @@ self: {
        homepage = "http://github.com/jaspervdj/digestive-functors";
        description = "A practical formlet library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "digestive-functors" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HUnit, mtl
+     , old-locale, QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time
+     }:
+     mkDerivation {
+       pname = "digestive-functors";
+       version = "0.8.1.0";
+       sha256 = "3c2bba9783279cb52d7fdbd03f0cea46b6f2c23f788953016568cd8f0a389c8a";
+       libraryHaskellDepends = [
+         base bytestring containers mtl old-locale text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers HUnit mtl old-locale QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/jaspervdj/digestive-functors";
+       description = "A practical formlet library";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "digestive-functors-aeson" = callPackage
@@ -51553,6 +52243,7 @@ self: {
        libraryHaskellDepends = [
          base blaze-builder digestive-functors heist mtl text xmlhtml
        ];
+       jailbreak = true;
        homepage = "http://github.com/jaspervdj/digestive-functors";
        description = "Heist frontend for the digestive-functors library";
        license = stdenv.lib.licenses.bsd3;
@@ -51610,8 +52301,8 @@ self: {
      }:
      mkDerivation {
        pname = "digestive-functors-snap";
-       version = "0.6.1.3";
-       sha256 = "f0455512104e2a843621d2421283ff31627134301570f9a5dc49ba1277265085";
+       version = "0.7.0.0";
+       sha256 = "240aefbab8343ab0c99cdf659e054a0c2c4293f32284b932aa7f3eb4f4cf749f";
        libraryHaskellDepends = [
          base bytestring containers digestive-functors directory filepath
          mtl snap-core text
@@ -51972,12 +52663,12 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "directory_1_2_6_3" = callPackage
+  "directory_1_2_7_0" = callPackage
     ({ mkDerivation, base, filepath, time, unix }:
      mkDerivation {
        pname = "directory";
-       version = "1.2.6.3";
-       sha256 = "0f54e0f01f0b2ec739f849d8db6237e3bc52eb1149202b2b4e5c325659228a29";
+       version = "1.2.7.0";
+       sha256 = "4ae59ebd9969f300e579c2b62fb072954a297b2f53fcd5d58bab363535ce7040";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -53020,6 +53711,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dns_2_0_5" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring
+     , bytestring-builder, conduit, conduit-extra, containers, doctest
+     , hspec, iproute, mtl, network, random, resourcet, safe, word8
+     }:
+     mkDerivation {
+       pname = "dns";
+       version = "2.0.5";
+       sha256 = "b2de8a536e96db022aaa2d368689e8cad7cbd1c8bfb1cc7c56b517e5633a8879";
+       libraryHaskellDepends = [
+         attoparsec base binary bytestring bytestring-builder conduit
+         conduit-extra containers iproute mtl network random resourcet safe
+       ];
+       testHaskellDepends = [
+         attoparsec base binary bytestring bytestring-builder conduit
+         conduit-extra containers doctest hspec iproute mtl network random
+         resourcet safe word8
+       ];
+       testTarget = "spec";
+       description = "DNS library in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dnscache" = callPackage
     ({ mkDerivation, base, bytestring, containers, contstuff, dns
      , iproute, time
@@ -53544,8 +54259,8 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.3.0.2";
-       sha256 = "1c53efa4a770ecd359830583b94cab6f26b5c6a6b3bcbe983cd7f37bc7d36303";
+       version = "0.3.0.3";
+       sha256 = "df2dc890652e6a5dcec035c5050ebc71d8024583d73fe2164fc07b276b640760";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base base-compat megaparsec text ];
@@ -54070,6 +54785,8 @@ self: {
        pname = "drifter-postgresql";
        version = "0.0.2";
        sha256 = "07fbd1e08b517d2fde939657237c7a05f2b1d1abe276681ab7254b1ab8415190";
+       revision = "1";
+       editedCabalFile = "577c35da613b6dface440995d0428e846dc4014764a635b61aa3f4bd83fa2f6b";
        libraryHaskellDepends = [
          base drifter either mtl postgresql-simple time
        ];
@@ -54077,6 +54794,7 @@ self: {
          base drifter either postgresql-simple tasty tasty-hunit text
        ];
        doCheck = false;
+       homepage = "http://github.com/michaelxavier/drifter-postgresql";
        description = "PostgreSQL support for the drifter schema migration tool";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -55162,7 +55880,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "ede" = callPackage
+  "ede_0_2_8_4" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors
      , bytestring, comonad, directory, filepath, free, lens, mtl
      , parsers, scientific, semigroups, tasty, tasty-golden, text
@@ -55187,6 +55905,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ede" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors
+     , bytestring, comonad, directory, filepath, free, lens, mtl
+     , parsers, scientific, semigroups, tasty, tasty-golden, text
+     , text-format, text-manipulate, trifecta, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "ede";
+       version = "0.2.8.5";
+       sha256 = "899e146093fc5353f6e86130898e2396d39c5365a412e67a8435252e8a4f2fb3";
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint base bifunctors bytestring comonad directory
+         filepath free lens mtl parsers scientific semigroups text
+         text-format text-manipulate trifecta unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bifunctors bytestring directory tasty tasty-golden text
+       ];
+       homepage = "http://github.com/brendanhay/ede";
+       description = "Templating language with similar syntax and features to Liquid or Jinja2";
+       license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "edenmodules" = callPackage
     ({ mkDerivation, base, containers, deepseq, parallel }:
      mkDerivation {
@@ -55273,6 +56016,8 @@ self: {
        pname = "edit-distance";
        version = "0.2.2.1";
        sha256 = "3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a";
+       revision = "1";
+       editedCabalFile = "4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee";
        libraryHaskellDepends = [ array base containers random ];
        testHaskellDepends = [
          array base containers QuickCheck random test-framework
@@ -55840,7 +56585,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
-  "ekg-statsd" = callPackage
+  "ekg-statsd_0_2_0_4" = callPackage
     ({ mkDerivation, base, bytestring, ekg-core, network, text, time
      , unordered-containers
      }:
@@ -55855,6 +56600,23 @@ self: {
        homepage = "https://github.com/tibbe/ekg-statsd";
        description = "Push metrics to statsd";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ekg-statsd" = callPackage
+    ({ mkDerivation, base, bytestring, ekg-core, network, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-statsd";
+       version = "0.2.1.0";
+       sha256 = "d042792757f603a8b6d176ed04802b3c4f27079e90bc1ba9b78ea83a666d7711";
+       libraryHaskellDepends = [
+         base bytestring ekg-core network text time unordered-containers
+       ];
+       homepage = "https://github.com/tibbe/ekg-statsd";
+       description = "Push metrics to statsd";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "electrum-mnemonic" = callPackage
@@ -56435,6 +57197,25 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "emailaddress" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, doctest, email-validate
+     , Glob, opaleye, postgresql-simple, product-profunctors
+     , profunctors, text
+     }:
+     mkDerivation {
+       pname = "emailaddress";
+       version = "0.1.0.0";
+       sha256 = "97d8dbe96ee77f341cbf1e1f382a3944adc434376bde1a82ea9df3c66be2cdba";
+       libraryHaskellDepends = [
+         aeson base bytestring email-validate opaleye postgresql-simple
+         product-profunctors profunctors text
+       ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/cdepillabout/emailaddress#readme";
+       description = "Wrapper around email-validate library adding instances for common type classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "emailparse" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, either
      , either-unwrap, HUnit, mime, MissingH, mtl, QuickCheck, strptime
@@ -56592,6 +57373,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "encoding-io" = callPackage
+    ({ mkDerivation, base, chunked-data, deepseq, transformers-base }:
+     mkDerivation {
+       pname = "encoding-io";
+       version = "0.0.1";
+       sha256 = "7c567ca9cca8351bfec106ebb9aa79266d48ba7f46cf40d1cac05636985826fb";
+       libraryHaskellDepends = [
+         base chunked-data deepseq transformers-base
+       ];
+       homepage = "https://github.com/TerrorJack/encoding-io#readme";
+       description = "Encoding-aware file I/O";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "endo" = callPackage
     ({ mkDerivation, base, between, data-default-class, mtl
      , transformers
@@ -56961,6 +57756,28 @@ self: {
      }:
      mkDerivation {
        pname = "envy";
+       version = "1.0.0.0";
+       sha256 = "0505d8883f796b86f362048b7897bab3cad382f325aa423f743a7cab48064bf4";
+       revision = "2";
+       editedCabalFile = "4557dbc843b8c588b30d3124f3261fb7ffa2ff705e53ad0d0042c3c4e13ebed3";
+       libraryHaskellDepends = [
+         base bytestring containers mtl text time transformers
+       ];
+       testHaskellDepends = [
+         base bytestring hspec mtl QuickCheck quickcheck-instances text time
+         transformers
+       ];
+       jailbreak = true;
+       description = "An environmentally friendly way to deal with environment variables";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "envy_1_1_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec, mtl
+     , QuickCheck, quickcheck-instances, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "envy";
        version = "1.1.0.0";
        sha256 = "27a2496640ea74ceab5a23a3fe8ef325bfb23d64a851f5dfc18b7c3411beca99";
        revision = "1";
@@ -56975,6 +57792,7 @@ self: {
        jailbreak = true;
        description = "An environmentally friendly way to deal with environment variables";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "epanet-haskell" = callPackage
@@ -57164,8 +57982,8 @@ self: {
      }:
      mkDerivation {
        pname = "equational-reasoning";
-       version = "0.4.0.0";
-       sha256 = "1e68f9d15fdc4de5286b9b1bd7a1789f1f7b06d83dbb94ba20f824bce6c14fba";
+       version = "0.4.1.1";
+       sha256 = "0720b9bfd72a43fc8350e2ddfc57d96b5b1b548d802a1de0a28ca5310fcdf8c0";
        libraryHaskellDepends = [
          base containers singletons template-haskell th-desugar void
        ];
@@ -58541,7 +59359,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "expiring-cache-map" = callPackage
+  "expiring-cache-map_0_0_5_4" = callPackage
     ({ mkDerivation, base, bytestring, containers, hashable, time
      , unordered-containers
      }:
@@ -58558,6 +59376,26 @@ self: {
        homepage = "https://github.com/elblake/expiring-cache-map";
        description = "General purpose simple caching";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "expiring-cache-map" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "expiring-cache-map";
+       version = "0.0.6.1";
+       sha256 = "0e3bc294978b46ee59bf0b4a7e7a5bd7ed5da7bc261ffebdb0cb1b60353c64b9";
+       libraryHaskellDepends = [
+         base containers hashable unordered-containers
+       ];
+       testHaskellDepends = [
+         base bytestring containers hashable time unordered-containers
+       ];
+       homepage = "https://github.com/elblake/expiring-cache-map";
+       description = "General purpose simple caching";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "expiring-mvar" = callPackage
@@ -58781,6 +59619,8 @@ self: {
        pname = "extended-reals";
        version = "0.2.2.0";
        sha256 = "f24538c29ffadf26fb9e3808e0fd5f326623a4d2588d1a985894e951019e9a93";
+       revision = "1";
+       editedCabalFile = "0d70181cd2955b402bc4ea02edb0cdbd0628ad74f7299f4b692f18a1da0fc7fc";
        libraryHaskellDepends = [ base deepseq hashable ];
        testHaskellDepends = [
          base deepseq HUnit QuickCheck test-framework test-framework-hunit
@@ -59432,6 +60272,22 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "fathead-util" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, hxt, network-uri, text
+     }:
+     mkDerivation {
+       pname = "fathead-util";
+       version = "0.1.0.0";
+       sha256 = "a189bfd05292b26eb8e84261358e827b8d8cac56d6cf7c5096a6e94fb3dd5fb8";
+       libraryHaskellDepends = [
+         base bytestring cassava hxt network-uri text
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/guiltydolphin/fathead-util";
+       description = "Utilities for working with DuckDuckHack's FatHead Instant Answers";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "fault-tree" = callPackage
     ({ mkDerivation, base, yices }:
      mkDerivation {
@@ -59458,8 +60314,37 @@ self: {
        pname = "fay";
        version = "0.23.1.12";
        sha256 = "3d9c0a64f6d30923e2e45f27c043a7fa4f451c676466c8ca5b69a4121462f727";
-       revision = "5";
-       editedCabalFile = "b156068e9b7eaf0b8362d6f79504f9b9d89ce4b13756b18c92814d41ec9d3d23";
+       revision = "6";
+       editedCabalFile = "4dd008fc4b03b8fc6e67eff2fb1c42b4f5552529bdd4f63f4290ef25a5327e0b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base-compat bytestring containers data-default
+         data-lens-light directory filepath ghc-paths haskell-src-exts
+         language-ecmascript mtl mtl-compat process safe sourcemap split
+         spoon syb text time transformers transformers-compat
+         traverse-with-class type-eq uniplate unordered-containers
+         utf8-string vector
+       ];
+       executableHaskellDepends = [ base mtl optparse-applicative split ];
+       homepage = "https://github.com/faylang/fay/wiki";
+       description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fay_0_23_1_14" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring, containers
+     , data-default, data-lens-light, directory, filepath, ghc-paths
+     , haskell-src-exts, language-ecmascript, mtl, mtl-compat
+     , optparse-applicative, process, safe, sourcemap, split, spoon, syb
+     , text, time, transformers, transformers-compat
+     , traverse-with-class, type-eq, uniplate, unordered-containers
+     , utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "fay";
+       version = "0.23.1.14";
+       sha256 = "d5f3c6bb8373e35333075c438ba0c48faa0963c6162649780ab55ee5f61a4280";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -59471,9 +60356,11 @@ self: {
          utf8-string vector
        ];
        executableHaskellDepends = [ base mtl optparse-applicative split ];
+       jailbreak = true;
        homepage = "https://github.com/faylang/fay/wiki";
        description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fay-base" = callPackage
@@ -59926,15 +60813,15 @@ self: {
      , directory, distributed-process, distributed-process-async
      , distributed-process-client-server, distributed-process-extras
      , distributed-process-simplelocalnet, exceptions, file-embed
-     , filepath, fsnotify, HUnit, logging, managed, network-uri
-     , optparse-applicative, process, reactive-banana, tasty
-     , tasty-hspec, tasty-hunit, tasty-quickcheck, tasty-smallcheck
-     , temporary, text, time, transformers, yaml
+     , filepath, free, fsnotify, HUnit, logging, managed, network-uri
+     , optparse-applicative, process, reactive-banana, SafeSemaphore
+     , tasty, tasty-hspec, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck, temporary, text, time, transformers, yaml
      }:
      mkDerivation {
        pname = "feed-gipeda";
-       version = "0.1.0.4";
-       sha256 = "4b93dbf4ced70a60f3dee6efa12f65799923a7d6d79693b7ae5d14dfcf723820";
+       version = "0.2.0.0";
+       sha256 = "def3da09a8795ea8e86aead8360e86bf4142e0b28f8fb964b152f0ce48f628fe";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -59943,19 +60830,19 @@ self: {
          distributed-process-async distributed-process-client-server
          distributed-process-extras distributed-process-simplelocalnet
          file-embed filepath fsnotify logging network-uri process
-         reactive-banana temporary text time transformers yaml
+         reactive-banana SafeSemaphore temporary text time transformers yaml
        ];
        executableHaskellDepends = [
          base directory filepath logging optparse-applicative
        ];
        testHaskellDepends = [
          async base bytestring conduit conduit-extra directory exceptions
-         file-embed filepath fsnotify HUnit managed network-uri process
-         tasty tasty-hspec tasty-hunit tasty-quickcheck tasty-smallcheck
-         temporary text transformers
+         file-embed filepath free fsnotify HUnit logging managed network-uri
+         process tasty tasty-hspec tasty-hunit tasty-quickcheck
+         tasty-smallcheck temporary text transformers
        ];
        homepage = "http://github.com/sgraf812/feed-gipeda#readme";
-       description = "Simple project template from stack";
+       description = "CI service around gipeda";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -60247,7 +61134,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "fft" = callPackage
+  "fft_0_1_8_3" = callPackage
     ({ mkDerivation, array, base, carray, fftw, fftwFloat, ix-shapable
      , QuickCheck, storable-complex, syb, transformers
      }:
@@ -60262,6 +61149,24 @@ self: {
        testHaskellDepends = [ base carray QuickCheck storable-complex ];
        description = "Bindings to the FFTW library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) fftw; inherit (pkgs) fftwFloat;};
+
+  "fft" = callPackage
+    ({ mkDerivation, array, base, carray, fftw, fftwFloat, ix-shapable
+     , QuickCheck, storable-complex, syb, transformers
+     }:
+     mkDerivation {
+       pname = "fft";
+       version = "0.1.8.4";
+       sha256 = "2ea96d3150c1fca6ae2d8f0cead263ea1deddc0be18727a0cf4030f2ef07e1b4";
+       libraryHaskellDepends = [
+         array base carray ix-shapable storable-complex syb transformers
+       ];
+       libraryPkgconfigDepends = [ fftw fftwFloat ];
+       testHaskellDepends = [ base carray QuickCheck storable-complex ];
+       description = "Bindings to the FFTW library";
+       license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) fftw; inherit (pkgs) fftwFloat;};
 
   "fftwRaw" = callPackage
@@ -60510,7 +61415,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "file-modules" = callPackage
+  "file-modules_0_1_2_3" = callPackage
     ({ mkDerivation, async, base, directory, filepath, haskell-src-exts
      , MissingH, regex-compat, regex-pcre
      }:
@@ -60531,6 +61436,30 @@ self: {
        homepage = "https://github.com/yamadapc/stack-run-auto";
        description = "Takes a Haskell source-code file and outputs its modules";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "file-modules" = callPackage
+    ({ mkDerivation, async, base, directory, filepath, haskell-src-exts
+     , MissingH, regex-compat, regex-pcre
+     }:
+     mkDerivation {
+       pname = "file-modules";
+       version = "0.1.2.4";
+       sha256 = "ffea2dbd51f77ed76f8559d8519674a1210611a35e2dbea72dfb41d7d5f0f235";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base directory filepath haskell-src-exts MissingH
+         regex-compat regex-pcre
+       ];
+       executableHaskellDepends = [
+         async base directory filepath haskell-src-exts MissingH
+         regex-compat regex-pcre
+       ];
+       homepage = "https://github.com/yamadapc/stack-run-auto";
+       description = "Takes a Haskell source-code file and outputs its modules";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "filecache" = callPackage
@@ -62728,6 +63657,35 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "foundation" = callPackage
+    ({ mkDerivation, base, ghc-prim, mtl, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "foundation";
+       version = "0.0.1";
+       sha256 = "d2db56431c37247352d2497e1a782197434f02269767584cfebbb740fde69730";
+       libraryHaskellDepends = [ base ghc-prim ];
+       testHaskellDepends = [
+         base mtl QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/haskell-foundation/foundation";
+       description = "Alternative prelude with batteries and no dependencies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "foundation-edge" = callPackage
+    ({ mkDerivation, base, bytestring, foundation }:
+     mkDerivation {
+       pname = "foundation-edge";
+       version = "0.0.1";
+       sha256 = "8451eff606d689409ba70109a2fc6744ac849c56c0207a47275a4fadcf6ba257";
+       libraryHaskellDepends = [ base bytestring foundation ];
+       homepage = "https://github.com/haskell-foundation/foundation-edge";
+       description = "foundation's edge with the conventional set of packages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fountain" = callPackage
     ({ mkDerivation, base, containers, random }:
      mkDerivation {
@@ -63381,8 +64339,8 @@ self: {
      }:
      mkDerivation {
        pname = "fresco-binding";
-       version = "0.1.1";
-       sha256 = "4188b09395be7e8ba8b5f6c06a6eafed177e3738cf8337eac7c74e4232e74096";
+       version = "0.2.0";
+       sha256 = "34a494a812bb61bf875c1442ec5cf9bf9c257e3972b07a7c384ca0870dfca975";
        libraryHaskellDepends = [
          base bytestring cereal containers messagepack text unix
        ];
@@ -63447,13 +64405,12 @@ self: {
      }:
      mkDerivation {
        pname = "friday-juicypixels";
-       version = "0.1.1";
-       sha256 = "f3a96bab73ddb6a26fd3ac705b7dc21e41b55a3027f4727f1e7307262a89207e";
+       version = "0.1.2";
+       sha256 = "2f8fca7cf49c86af592691bdaaada94ae768a9e054956759a860c9b59ae16ed1";
        libraryHaskellDepends = [ base friday JuicyPixels vector ];
        testHaskellDepends = [
          base bytestring file-embed friday hspec JuicyPixels
        ];
-       jailbreak = true;
        homepage = "https://github.com/TomMD/friday-juicypixels";
        description = "Converts between the Friday and JuicyPixels image types";
        license = stdenv.lib.licenses.bsd3;
@@ -64562,6 +65519,32 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "gcodehs" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
+     , bytestring, containers, formatting, optparse-applicative, pipes
+     , pipes-aeson, pipes-attoparsec, pipes-bytestring, pipes-parse
+     , pipes-safe, text
+     }:
+     mkDerivation {
+       pname = "gcodehs";
+       version = "0.1.0.0";
+       sha256 = "0ff4381453b8aefc09bede0b1a4e15e5bc81e0e6b5c6a3c8d23a8d6faf696db3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint attoparsec base bytestring containers
+         formatting text
+       ];
+       executableHaskellDepends = [
+         aeson attoparsec base bytestring optparse-applicative pipes
+         pipes-aeson pipes-attoparsec pipes-bytestring pipes-parse
+         pipes-safe text
+       ];
+       homepage = "https://github.com/hackerspace/gcodehs";
+       description = "GCode processor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "gconf" = callPackage
     ({ mkDerivation, base, Cabal, GConf, glib, gtk2hs-buildtools, text
      }:
@@ -64891,6 +65874,8 @@ self: {
        pname = "generic-aeson";
        version = "0.2.0.8";
        sha256 = "de29fa648b9eb6c9e678b0715a530efaf70aac8f1ad8becc22d7ef1411ded5cb";
+       revision = "1";
+       editedCabalFile = "7d8da0973a605807887ae7309ff75483ccdaf1735adb2117a67c2721f6452c43";
        libraryHaskellDepends = [
          aeson attoparsec base generic-deriving mtl tagged text
          unordered-containers vector
@@ -65031,8 +66016,10 @@ self: {
      }:
      mkDerivation {
        pname = "generic-random";
-       version = "0.1.1.0";
-       sha256 = "74780bc4eee28153750b690fd5e4ee46e8f5c2b3c1f35f3e447761a7ca2204a7";
+       version = "0.2.0.0";
+       sha256 = "f191ee3303d3437dd3f9cc7ebe37e8872f5bcfc4aeb77c9c838d5cd6e594538c";
+       revision = "1";
+       editedCabalFile = "0232fea4599edb18571d3a167f83978acd12ee1b1bdb1c9a1c3013e5df786b1d";
        libraryHaskellDepends = [
          ad base containers hashable hmatrix ieee754 MonadRandom mtl
          QuickCheck transformers unordered-containers vector
@@ -65383,8 +66370,8 @@ self: {
     ({ mkDerivation, base, genvalidity, hspec, QuickCheck, validity }:
      mkDerivation {
        pname = "genvalidity-hspec";
-       version = "0.2.0.1";
-       sha256 = "0757d0b3be06262b537a04efb45132e1f59629a3b3a387de014dea2d50c8713a";
+       version = "0.2.0.4";
+       sha256 = "848014573766b08edbb3a5ab043a60ed0fdbe8370b4cfac6a48ef8102cc4d2d2";
        libraryHaskellDepends = [
          base genvalidity hspec QuickCheck validity
        ];
@@ -65791,12 +66778,12 @@ self: {
      }) {};
 
   "ghc-datasize" = callPackage
-    ({ mkDerivation, base, ghc-heap-view }:
+    ({ mkDerivation, base, deepseq, ghc-heap-view }:
      mkDerivation {
        pname = "ghc-datasize";
-       version = "0.1.2";
-       sha256 = "03509fe6ed477f850e25b4afc0b54c71d50d70000bf0ca93d719e031b3634d2e";
-       libraryHaskellDepends = [ base ghc-heap-view ];
+       version = "0.2.0";
+       sha256 = "d0077d0b7f8672e0a54c3b265c25075ef447c2053466cb0b9ab012aeb1cfb472";
+       libraryHaskellDepends = [ base deepseq ghc-heap-view ];
        homepage = "http://felsin9.de/nnis/ghc-datasize";
        description = "Determine the size of data structures in GHC's memory";
        license = stdenv.lib.licenses.bsd3;
@@ -66428,7 +67415,28 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "ghc-typelits-natnormalise" = callPackage
+  "ghc-typelits-knownnat" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra
+     , ghc-typelits-natnormalise, singletons, tasty, tasty-hunit
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-knownnat";
+       version = "0.2";
+       sha256 = "ea8363b81b55219ceb037afe349d81c77952969370bf2a9451208679fb0abf8c";
+       libraryHaskellDepends = [
+         base ghc ghc-tcplugins-extra ghc-typelits-natnormalise singletons
+         template-haskell transformers
+       ];
+       testHaskellDepends = [
+         base ghc-typelits-natnormalise singletons tasty tasty-hunit
+       ];
+       homepage = "http://clash-lang.org/";
+       description = "Derive KnownNat constraints from other KnownNat constraints";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "ghc-typelits-natnormalise_0_4_6" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty
      , tasty-hunit
      }:
@@ -66443,6 +67451,24 @@ self: {
        homepage = "http://www.clash-lang.org/";
        description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-typelits-natnormalise" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-natnormalise";
+       version = "0.5";
+       sha256 = "3ac6b6c46b41dba1cf06f9dc3a6180939401a318612f81087241dd7bc7e755f5";
+       libraryHaskellDepends = [
+         base ghc ghc-tcplugins-extra integer-gmp
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       homepage = "http://www.clash-lang.org/";
+       description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
      }) {};
 
   "ghc-typelits-presburger" = callPackage
@@ -66596,7 +67622,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "ghcid" = callPackage
+  "ghcid_0_6_4" = callPackage
     ({ mkDerivation, ansi-terminal, base, cmdargs, containers
      , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
      , terminal-size, time, unix
@@ -66623,6 +67649,36 @@ self: {
        homepage = "https://github.com/ndmitchell/ghcid#readme";
        description = "GHCi based bare bones IDE";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghcid" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers
+     , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
+     , terminal-size, time, unix
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.6.5";
+       sha256 = "67f9f5c89d35f0d56d4d26bf72f25dd2f8794a67949449ef61739e84a316923c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base cmdargs directory extra filepath process terminal-size time
+         unix
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process terminal-size time unix
+       ];
+       testHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process tasty tasty-hunit terminal-size time unix
+       ];
+       doCheck = false;
+       homepage = "https://github.com/ndmitchell/ghcid#readme";
+       description = "GHCi based bare bones IDE";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -66904,7 +67960,7 @@ self: {
        doHaddock = false;
        preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${gobjectIntrospection.dev}/share/gir-1.0'';
        preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
+         PKG_CONFIG_PATH+=":${cairo.dev}/lib/pkgconfig"
          setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
        '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
@@ -66930,7 +67986,7 @@ self: {
        doHaddock = false;
        preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${gobjectIntrospection.dev}/share/gir-1.0'';
        preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
+         PKG_CONFIG_PATH+=":${cairo.dev}/lib/pkgconfig"
          setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
        '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
@@ -67635,7 +68691,7 @@ self: {
        description = "WebKit bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = [ "x86_64-darwin" ];
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "gi-webkit_3_0_6" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
@@ -67659,7 +68715,7 @@ self: {
        description = "WebKit bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "gi-webkit2" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
@@ -67751,8 +68807,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.2.6.0";
-       sha256 = "43a575e23753388fe1208bea7c1447e1c17a3b3fc6691c9a12e808f2c7882e26";
+       version = "0.2.7.0";
+       sha256 = "809944fc799e3238911595ba45a54437a9c206528a37cf60dd4aa98d142bd1ef";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -67782,8 +68838,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginsu";
-       version = "0.8.2.1";
-       sha256 = "74a94b8573cede5665df7ae25dcc5c53312aea7ece9d4d70857b4c0d572dcbd8";
+       version = "0.8.2.2";
+       sha256 = "81d4b247b5454245c581a6412d0ac1699c2ff4c64f366a3fa61be3fe3ae43518";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -67866,8 +68922,8 @@ self: {
      }:
      mkDerivation {
        pname = "gipeda";
-       version = "0.3.2.1";
-       sha256 = "e0a9fd77407463537078d69c99cc5a025476b8b2881658eff30346cae35c0118";
+       version = "0.3.2.2";
+       sha256 = "ce8bea4e3c75cde5296f834bb8e91300b4d3bdad95df4819d9e43b4c414f61c7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -68047,22 +69103,22 @@ self: {
      , directory, disk-free-space, dlist, dns, edit-distance, esqueleto
      , exceptions, fdo-notify, feed, filepath, git, gnupg, gnutls
      , hinotify, hslogger, http-client, http-conduit, http-types, IfElse
-     , json, lsof, magic, MissingH, monad-control, monad-logger
-     , mountpoints, mtl, network, network-info, network-multicast
+     , lsof, magic, MissingH, monad-control, monad-logger, mountpoints
+     , mtl, network, network-info, network-multicast
      , network-protocol-xmpp, network-uri, old-locale, openssh
      , optparse-applicative, path-pieces, perl, persistent
      , persistent-sqlite, persistent-template, process, QuickCheck
      , random, regex-tdfa, resourcet, rsync, SafeSemaphore, sandi
      , securemem, shakespeare, stm, tasty, tasty-hunit, tasty-quickcheck
      , tasty-rerun, template-haskell, text, time, torrent, transformers
-     , unix, unix-compat, utf8-string, uuid, wai, wai-extra, warp
-     , warp-tls, wget, which, xml-types, yesod, yesod-core
-     , yesod-default, yesod-form, yesod-static
+     , unix, unix-compat, unordered-containers, utf8-string, uuid, wai
+     , wai-extra, warp, warp-tls, wget, which, xml-types, yesod
+     , yesod-core, yesod-default, yesod-form, yesod-static
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20160619";
-       sha256 = "5acc80dfb86d8f568819256a428f04794bff4c654389692f27a7bf0877ebe12f";
+       version = "6.20160808";
+       sha256 = "c729decece3dfc05366879b72328b5ebe4a86e77a32f634fcfa4dbebbb8799fd";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -68081,20 +69137,21 @@ self: {
          conduit-extra containers crypto-api cryptonite data-default DAV
          dbus directory disk-free-space dlist dns edit-distance esqueleto
          exceptions fdo-notify feed filepath gnutls hinotify hslogger
-         http-client http-conduit http-types IfElse json magic MissingH
+         http-client http-conduit http-types IfElse magic MissingH
          monad-control monad-logger mountpoints mtl network network-info
          network-multicast network-protocol-xmpp network-uri old-locale
          optparse-applicative path-pieces persistent persistent-sqlite
          persistent-template process QuickCheck random regex-tdfa resourcet
          SafeSemaphore sandi securemem shakespeare stm tasty tasty-hunit
          tasty-quickcheck tasty-rerun template-haskell text time torrent
-         transformers unix unix-compat utf8-string uuid wai wai-extra warp
-         warp-tls xml-types yesod yesod-core yesod-default yesod-form
-         yesod-static
+         transformers unix unix-compat unordered-containers utf8-string uuid
+         wai wai-extra warp warp-tls xml-types yesod yesod-core
+         yesod-default yesod-form yesod-static
        ];
        executableSystemDepends = [
          bup curl git gnupg lsof openssh perl rsync wget which
        ];
+       jailbreak = true;
        preConfigure = "export HOME=$TEMPDIR; patchShebangs .";
        postBuild = "ln -sf dist/build/git-annex/git-annex git-annex";
        installPhase = "make PREFIX=$out CABAL=./Setup BUILDER=./Setup install";
@@ -68364,15 +69421,15 @@ self: {
 
   "gitHUD" = callPackage
     ({ mkDerivation, base, mtl, parsec, process, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, unix
+     , tasty-quickcheck, tasty-smallcheck, text, unix
      }:
      mkDerivation {
        pname = "gitHUD";
-       version = "1.3.3";
-       sha256 = "c9868144e8fd72604a79cb6543d1099b931cdd8ce527319dd1f9294850d4b2d3";
+       version = "1.3.4";
+       sha256 = "8c2273f0d2af162915291e3180f1910dfa76813be9cb7676c53fde112e8ad355";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base mtl parsec process unix ];
+       libraryHaskellDepends = [ base mtl parsec process text unix ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base mtl parsec tasty tasty-hunit tasty-quickcheck tasty-smallcheck
@@ -68949,6 +70006,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "glabrous" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , directory, either, hspec, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "glabrous";
+       version = "0.1.2.0";
+       sha256 = "ae66cf3c83a8da0095715aee111cd6e834c37501128e39adfb0e0eb2a90a70ad";
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring either text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base directory either hspec text unordered-containers
+       ];
+       homepage = "https://github.com/MichelBoucey/glabrous";
+       description = "A template library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "glade" = callPackage
     ({ mkDerivation, base, glib, gtk, gtk2hs-buildtools, libglade }:
      mkDerivation {
@@ -69119,22 +70196,24 @@ self: {
   "glirc" = callPackage
     ({ mkDerivation, async, attoparsec, base, bytestring, Cabal
      , config-value, connection, containers, data-default-class, deepseq
-     , directory, filepath, hashable, lens, memory, network, profunctors
-     , split, stm, text, text-icu, time, tls, transformers
-     , unordered-containers, vector, vty, x509, x509-store, x509-system
+     , directory, filepath, gitrev, hashable, irc-core, lens, network
+     , regex-tdfa, regex-tdfa-text, split, stm, text, time, tls
+     , transformers, unix, unordered-containers, vector, vty, x509
+     , x509-store, x509-system
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.2";
-       sha256 = "b543a8c1193d8f436984bf4d68cd88f9df4305f144778605b15623b470c1cd07";
+       version = "2.9";
+       sha256 = "7328b69803806ebdc80c938efc70fc687d64ecc6343b99562afe95c9d60ae2ab";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
        executableHaskellDepends = [
          async attoparsec base bytestring config-value connection containers
-         data-default-class deepseq directory filepath hashable lens memory
-         network profunctors split stm text text-icu time tls transformers
-         unordered-containers vector vty x509 x509-store x509-system
+         data-default-class deepseq directory filepath gitrev hashable
+         irc-core lens network regex-tdfa regex-tdfa-text split stm text
+         time tls transformers unix unordered-containers vector vty x509
+         x509-store x509-system
        ];
        homepage = "https://github.com/glguy/irc-core";
        description = "Console IRC client";
@@ -75197,7 +76276,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haddocset" = callPackage
+  "haddocset_0_4_1" = callPackage
     ({ mkDerivation, base, Cabal, conduit, conduit-extra, directory
      , exceptions, filepath, ghc, haddock-api, http-types, mtl
      , optparse-applicative, process, resourcet, sqlite-simple, tagsoup
@@ -75220,6 +76299,29 @@ self: {
        homepage = "https://github.com/philopon/haddocset";
        description = "Generate docset of Dash by Haddock haskell documentation tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haddocset" = callPackage
+    ({ mkDerivation, base, Cabal, conduit, conduit-extra, directory
+     , exceptions, filepath, ghc, haddock-api, http-types, mtl
+     , optparse-applicative, process, resourcet, sqlite-simple, tagsoup
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "haddocset";
+       version = "0.4.2";
+       sha256 = "a8f687bb96989a85dc56a208e04bde55f4a6c4473d6ff42ff2ae0d6a62511290";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal conduit conduit-extra directory exceptions filepath ghc
+         haddock-api http-types mtl optparse-applicative process resourcet
+         sqlite-simple tagsoup text transformers
+       ];
+       homepage = "https://github.com/philopon/haddocset";
+       description = "Generate docset of Dash by Haddock haskell documentation tool";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
@@ -77409,6 +78511,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hascas" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , data-binary-ieee754, hspec, mtl, network, stm, template-haskell
+     , uuid
+     }:
+     mkDerivation {
+       pname = "hascas";
+       version = "0.1.0.0";
+       sha256 = "25dc79e9e8798d35932b1f8729330a1863fe93278778e4a3265c9a0dba504ccd";
+       libraryHaskellDepends = [
+         base binary bytestring containers data-binary-ieee754 mtl network
+         stm template-haskell uuid
+       ];
+       testHaskellDepends = [
+         base binary bytestring containers data-binary-ieee754 hspec mtl
+         network stm template-haskell uuid
+       ];
+       homepage = "https://github.com/eklavya/hascas#readme";
+       description = "Cassandra driver for haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "hascat" = callPackage
     ({ mkDerivation, base, bytestring, hascat-lib, hascat-setup
      , hascat-system, HaXml, haxr, html, HTTP, network, unix
@@ -78122,28 +79246,41 @@ self: {
   "haskell-docs" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring, Cabal
      , containers, cryptohash, directory, filepath, ghc, ghc-paths
-     , haddock-api, monad-loops, process, text, unordered-containers
+     , haddock-api, haddock-library, monad-loops, process, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-docs";
-       version = "4.2.6";
-       sha256 = "729293f120ddaacab6814f8c6735e3f9ca9fd88c2453e2b887f5a806cd4dbeba";
+       version = "4.2.7";
+       sha256 = "e82a15f6e8b6572754036427af862981d5fc22904b0c3af4d6fddc63fb1463d5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring Cabal containers cryptohash
-         directory filepath ghc ghc-paths haddock-api monad-loops process
-         text unordered-containers
+         directory filepath ghc ghc-paths haddock-api haddock-library
+         monad-loops process text unordered-containers
        ];
        executableHaskellDepends = [ base ghc text ];
        testHaskellDepends = [ base ];
-       jailbreak = true;
-       homepage = "http://github.com/chrisdone/haskell-docs";
+       homepage = "http://github.com/ivan-m/haskell-docs";
        description = "A program to find and display the docs and type of a name";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "haskell-eigen-util" = callPackage
+    ({ mkDerivation, base, eigen, vector }:
+     mkDerivation {
+       pname = "haskell-eigen-util";
+       version = "0.1.0.4";
+       sha256 = "0ba52c28e224551368a6129421e4e5a81c47db0c5d50399adb3dadbe9d6f5d9b";
+       libraryHaskellDepends = [ base eigen vector ];
+       testHaskellDepends = [ base eigen vector ];
+       homepage = "https://github.com/dilawar/haskell-eigen-util#README.md";
+       description = "Some utility functions for haskell-eigen library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-exp-parser" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -78349,6 +79486,29 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "haskell-igraph" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-lexing, c2hs
+     , colour, data-default-class, hashable, hxt, igraph, primitive
+     , random, split, tasty, tasty-golden, tasty-hunit
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "haskell-igraph";
+       version = "0.1.0";
+       sha256 = "fc335506a48d1479ed59eeaf5c073e682c380c61360293188d84d5c0a232e21f";
+       libraryHaskellDepends = [
+         base binary bytestring bytestring-lexing colour data-default-class
+         hashable hxt primitive split unordered-containers
+       ];
+       librarySystemDepends = [ igraph ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [
+         base random tasty tasty-golden tasty-hunit
+       ];
+       description = "Imcomplete igraph bindings";
+       license = stdenv.lib.licenses.mit;
+     }) {igraph = null;};
+
   "haskell-import-graph" = callPackage
     ({ mkDerivation, base, classy-prelude, ghc, graphviz, process, text
      , transformers
@@ -78762,27 +79922,6 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-src-exts_1_15_0_1" = callPackage
-    ({ mkDerivation, array, base, containers, cpphs, directory
-     , filemanip, filepath, ghc-prim, happy, mtl, pretty, smallcheck
-     , syb, tasty, tasty-golden, tasty-smallcheck
-     }:
-     mkDerivation {
-       pname = "haskell-src-exts";
-       version = "1.15.0.1";
-       sha256 = "85f475693a87fd26a3a8b32dea2660bfdca35c2b5d11506ab11b1dc20c88e576";
-       libraryHaskellDepends = [ array base cpphs ghc-prim pretty ];
-       libraryToolDepends = [ happy ];
-       testHaskellDepends = [
-         base containers directory filemanip filepath mtl smallcheck syb
-         tasty tasty-golden tasty-smallcheck
-       ];
-       homepage = "https://github.com/haskell-suite/haskell-src-exts";
-       description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "haskell-src-exts" = callPackage
     ({ mkDerivation, array, base, containers, cpphs, directory
      , filepath, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck
@@ -78827,6 +79966,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "haskell-src-exts-prisms" = callPackage
+    ({ mkDerivation, base, haskell-src-exts, lens, template-haskell }:
+     mkDerivation {
+       pname = "haskell-src-exts-prisms";
+       version = "1.18.2.0";
+       sha256 = "5b731238acbd9aa50337d3f4ca18199e6a76825596ba48628ef623ccdeacf399";
+       libraryHaskellDepends = [
+         base haskell-src-exts lens template-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/DanielWaterworth/haskell-src-exts-prisms";
+       description = "Prisms with newtype wrappers for haskell-src-exts";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskell-src-exts-qq" = callPackage
     ({ mkDerivation, base, haskell-src-exts, haskell-src-meta, hspec
      , syb, template-haskell
@@ -78847,8 +80001,8 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskell-src-exts-simple";
-       version = "1.18.0.1";
-       sha256 = "5d2193a64b6979e541a2897fffbd4c57c420b41d386b4fb24c817921f97a0715";
+       version = "1.18.0.1.1";
+       sha256 = "f331ae82547ebc4ee1dfce9265e101117ff6951682d0eea79c03a2994b9c061b";
        libraryHaskellDepends = [ base haskell-src-exts ];
        jailbreak = true;
        homepage = "https://github.com/int-e/haskell-src-exts-simple";
@@ -79737,6 +80891,8 @@ self: {
        pname = "haskintex";
        version = "0.6.0.1";
        sha256 = "9b45463a0d77e8665cc82b656b6d9f8020c873d73f2dd9fe92fcb85a45e90f44";
+       revision = "1";
+       editedCabalFile = "8a16e2748e754c6fe0d7bd20186166b46819b12c6853c1275fda55e56d8ef8c7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80253,7 +81409,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) aspell;};
 
-  "hasql" = callPackage
+  "hasql_0_19_14" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-prelude, bytestring
      , bytestring-tree-builder, contravariant, contravariant-extras
      , data-default-class, dlist, either, hashable, hashtables, loch-th
@@ -80281,6 +81437,37 @@ self: {
        homepage = "https://github.com/nikita-volkov/hasql";
        description = "A very efficient PostgreSQL driver and a flexible mapping API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hasql" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-prelude, bytestring
+     , bytestring-tree-builder, contravariant, contravariant-extras
+     , data-default-class, dlist, either, hashable, hashtables, loch-th
+     , mtl, placeholders, postgresql-binary, postgresql-libpq
+     , profunctors, QuickCheck, quickcheck-instances, rebase, scientific
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck, text, time, transformers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "hasql";
+       version = "0.19.15";
+       sha256 = "cbcec81cdd852325dddf3b9cbf830b94f63d4037adf5b9b84ac683384614b4e3";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-prelude bytestring
+         bytestring-tree-builder contravariant contravariant-extras
+         data-default-class dlist either hashable hashtables loch-th mtl
+         placeholders postgresql-binary postgresql-libpq profunctors
+         scientific semigroups text time transformers uuid vector
+       ];
+       testHaskellDepends = [
+         data-default-class QuickCheck quickcheck-instances rebase tasty
+         tasty-hunit tasty-quickcheck tasty-smallcheck
+       ];
+       doCheck = false;
+       homepage = "https://github.com/nikita-volkov/hasql";
+       description = "A very efficient PostgreSQL driver and a flexible mapping API";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "hasql-backend" = callPackage
@@ -80309,8 +81496,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-cursor-query";
-       version = "0.4";
-       sha256 = "f1456233ced567b884edfebe2a8a4e2e8367bd258d850ae9811072ab86f3a55d";
+       version = "0.4.1";
+       sha256 = "9f0b1bf2ea1634f2f2da0727bfab331722c71573a3574f65423cada54da7c902";
        libraryHaskellDepends = [
          base base-prelude bytestring contravariant foldl hasql
          hasql-cursor-transaction hasql-transaction profunctors
@@ -80331,8 +81518,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-cursor-transaction";
-       version = "0.5.0.1";
-       sha256 = "6e4a064b2d108ba5d94250045faa347f07b9337849438c09b2f8cb5466ac5465";
+       version = "0.6";
+       sha256 = "07b991914a5664378ab358536ba36ea9c54f7771c41c7eed6688053fa289c2f6";
        libraryHaskellDepends = [
          base base-prelude bytestring bytestring-tree-builder contravariant
          hasql hasql-transaction transformers
@@ -80689,6 +81876,34 @@ self: {
        license = stdenv.lib.licenses.agpl3;
      }) {};
 
+  "hats" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , conduit, conduit-extra, connection, deepseq, HUnit, network
+     , network-uri, process, QuickCheck, random, stm, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hats";
+       version = "0.1.0.0";
+       sha256 = "58f6f63fd02049fedd7e2c474ffcb01f1d0ba8129477550afffb7167ca7841c8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async attoparsec base bytestring conduit conduit-extra
+         connection deepseq network network-uri random stm text transformers
+         unordered-containers
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson attoparsec base bytestring HUnit process QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       homepage = "https://github.com/kosmoskatten/hats";
+       description = "Haskell client for the NATS messaging system";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hatt" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, cmdargs, containers
      , haskeline, parsec, QuickCheck, test-framework
@@ -80862,7 +82077,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "haxr" = callPackage
+  "haxr_3000_11_1_6" = callPackage
     ({ mkDerivation, array, base, base-compat, base64-bytestring
      , blaze-builder, bytestring, HaXml, HsOpenSSL, http-streams
      , http-types, io-streams, mtl, mtl-compat, network, network-uri
@@ -80881,6 +82096,28 @@ self: {
        homepage = "http://www.haskell.org/haskellwiki/HaXR";
        description = "XML-RPC client and server library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haxr" = callPackage
+    ({ mkDerivation, array, base, base-compat, base64-bytestring
+     , blaze-builder, bytestring, HaXml, HsOpenSSL, http-streams
+     , http-types, io-streams, mtl, mtl-compat, network, network-uri
+     , old-locale, old-time, template-haskell, text, time, utf8-string
+     }:
+     mkDerivation {
+       pname = "haxr";
+       version = "3000.11.2";
+       sha256 = "ebcda06d7ee79d5e635a7ec34f86400dd54ddd2434eda082aac6d3c8fd6e8b47";
+       libraryHaskellDepends = [
+         array base base-compat base64-bytestring blaze-builder bytestring
+         HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
+         network network-uri old-locale old-time template-haskell text time
+         utf8-string
+       ];
+       homepage = "http://www.haskell.org/haskellwiki/HaXR";
+       description = "XML-RPC client and server library";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "haxr-th" = callPackage
@@ -81575,7 +82812,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "hdevtools" = callPackage
+  "hdevtools_0_1_3_2" = callPackage
     ({ mkDerivation, base, Cabal, cmdargs, directory, filepath, ghc
      , ghc-boot, ghc-paths, network, process, syb, time, transformers
      , unix
@@ -81593,6 +82830,27 @@ self: {
        homepage = "https://github.com/hdevtools/hdevtools/";
        description = "Persistent GHC powered background server for FAST haskell development tools";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hdevtools" = callPackage
+    ({ mkDerivation, base, Cabal, cmdargs, directory, filepath, ghc
+     , ghc-boot, ghc-paths, network, process, syb, time, transformers
+     , unix
+     }:
+     mkDerivation {
+       pname = "hdevtools";
+       version = "0.1.4.0";
+       sha256 = "2d0b267b80a90a9b0e2b027d0d8af2e819414f68c187e6bba1c288fbe13bc595";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal cmdargs directory filepath ghc ghc-boot ghc-paths
+         network process syb time transformers unix
+       ];
+       homepage = "https://github.com/hdevtools/hdevtools/";
+       description = "Persistent GHC powered background server for FAST haskell development tools";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "hdf" = callPackage
@@ -81903,8 +83161,8 @@ self: {
      }:
      mkDerivation {
        pname = "heckle";
-       version = "2.0.0.3";
-       sha256 = "f0d4214ae4de15ba61264c8cd2ecbad5ea8c6955aba73349f230a10311978918";
+       version = "2.0.0.4";
+       sha256 = "cd6664f6b969d0f884a2826b7faeed0bd40bdfd99a74521aad080c706d827320";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -81942,21 +83200,22 @@ self: {
      }) {};
 
   "hedis" = callPackage
-    ({ mkDerivation, base, bytestring, bytestring-lexing, deepseq
-     , HUnit, mtl, network, resource-pool, scanner, slave-thread
-     , test-framework, test-framework-hunit, text, time, vector
+    ({ mkDerivation, async, base, bytestring, bytestring-lexing
+     , deepseq, HUnit, mtl, network, resource-pool, scanner
+     , slave-thread, stm, test-framework, test-framework-hunit, text
+     , time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.9.1";
-       sha256 = "bb2422ab8cb05c6854e1d339e9117108ad9591d18a76be9dcb4cbd2e6021b08d";
+       version = "0.9.3";
+       sha256 = "2d3748fe7c88b3b7341e6fdd3632c4594b01e7c5fe7c395ea5fc74235e1f92d0";
        libraryHaskellDepends = [
-         base bytestring bytestring-lexing deepseq mtl network resource-pool
-         scanner text time vector
+         async base bytestring bytestring-lexing deepseq mtl network
+         resource-pool scanner stm text time unordered-containers vector
        ];
        testHaskellDepends = [
-         base bytestring HUnit mtl slave-thread test-framework
-         test-framework-hunit time
+         async base bytestring HUnit mtl slave-thread stm test-framework
+         test-framework-hunit text time
        ];
        doCheck = false;
        homepage = "https://github.com/informatikr/hedis";
@@ -82112,7 +83371,7 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
-  "heist" = callPackage
+  "heist_0_14_1_4" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
      , bytestring, containers, directory, directory-tree, dlist, either
      , filepath, hashable, map-syntax, MonadCatchIO-transformers, mtl
@@ -82133,6 +83392,50 @@ self: {
        homepage = "http://snapframework.com/";
        description = "An Haskell template system supporting both HTML5 and XML";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "heist" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, blaze-builder
+     , blaze-html, bytestring, containers, criterion, directory
+     , directory-tree, dlist, errors, filepath, hashable, HUnit, lens
+     , lifted-base, map-syntax, monad-control, mtl, process, QuickCheck
+     , random, statistics, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers
+     , transformers-base, unordered-containers, vector, xmlhtml
+     }:
+     mkDerivation {
+       pname = "heist";
+       version = "1.0.0.0";
+       sha256 = "6c637ee835488dc716bf6fd929ea4de12578119ccf07766cb601910d160fec4f";
+       revision = "2";
+       editedCabalFile = "6da6ec8736d1cb25caa9ca7b82e0eab1ebd2c99804fa7ac23b933589f550a637";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         containers directory directory-tree dlist filepath hashable
+         lifted-base map-syntax monad-control mtl process random text time
+         transformers transformers-base unordered-containers vector xmlhtml
+       ];
+       executableHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         containers criterion directory directory-tree dlist errors filepath
+         hashable HUnit lifted-base map-syntax monad-control mtl process
+         random statistics test-framework test-framework-hunit text time
+         transformers transformers-base unordered-containers vector xmlhtml
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bifunctors blaze-builder blaze-html
+         bytestring containers directory directory-tree dlist errors
+         filepath hashable HUnit lens lifted-base map-syntax monad-control
+         mtl process QuickCheck random test-framework test-framework-hunit
+         test-framework-quickcheck2 text time transformers transformers-base
+         unordered-containers vector xmlhtml
+       ];
+       homepage = "http://snapframework.com/";
+       description = "An Haskell template system supporting both HTML5 and XML";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "heist-aeson" = callPackage
@@ -83467,14 +84770,14 @@ self: {
      }) {};
 
   "hgeos" = callPackage
-    ({ mkDerivation, base, geos_c, MissingH, mtl, transformers }:
+    ({ mkDerivation, base, geos_c, MissingH }:
      mkDerivation {
        pname = "hgeos";
-       version = "0.1.5.1";
-       sha256 = "7a9160fd2f575e84c6b18de2e2721497a392b161412516fc61622885d5fdce5d";
-       libraryHaskellDepends = [ base transformers ];
+       version = "0.1.8.0";
+       sha256 = "e7937a4f26ad057720f215ff51969972b4dd44ca1d817242377e3adb97c2d891";
+       libraryHaskellDepends = [ base ];
        librarySystemDepends = [ geos_c ];
-       testHaskellDepends = [ base MissingH mtl transformers ];
+       testHaskellDepends = [ base MissingH ];
        homepage = "https://github.com/rcook/hgeos#readme";
        description = "Simple Haskell bindings to GEOS C API";
        license = stdenv.lib.licenses.mit;
@@ -83544,8 +84847,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, integer-gmp, QuickCheck }:
      mkDerivation {
        pname = "hgmp";
-       version = "0.1.0.0";
-       sha256 = "dc72eae07df9c94c1cc404cb823a0cde3a19dc7e640eef35b1b05f1218831fbc";
+       version = "0.1.0.1";
+       sha256 = "51f63355e712854dd3b5785accef36fdca2538f443fd6690d8276a32e8b86c3a";
        libraryHaskellDepends = [ base ghc-prim integer-gmp ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "https://code.mathr.co.uk/hgmp";
@@ -84089,6 +85392,8 @@ self: {
        pname = "hindent";
        version = "4.6.4";
        sha256 = "26fc1498705b8a64b03eb5b699ba6229955273d91a49a01c3c2b58436c8e4dcf";
+       revision = "1";
+       editedCabalFile = "f0a60118bc1676b194de34b26a83a11f62ff91b557c8ef0e1da737a7923e0642";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -84106,6 +85411,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hindent_5_0_0" = callPackage
+    ({ mkDerivation, base, containers, descriptive, directory, ghc-prim
+     , haskell-src-exts, hspec, monad-loops, mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "hindent";
+       version = "5.0.0";
+       sha256 = "ad2f652d086e7bd8dd933b3aed682fd811bcb081b367279097f9d384dd738d77";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers haskell-src-exts monad-loops mtl text transformers
+       ];
+       executableHaskellDepends = [
+         base descriptive directory ghc-prim haskell-src-exts text
+       ];
+       testHaskellDepends = [
+         base directory haskell-src-exts hspec monad-loops mtl text
+       ];
+       jailbreak = true;
+       homepage = "http://www.github.com/chrisdone/hindent";
+       description = "Extensible Haskell pretty printer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hindley-milner" = callPackage
     ({ mkDerivation, base, containers, data-fix, hspec, mtl
      , transformers
@@ -84310,7 +85641,6 @@ self: {
        homepage = "https://github.com/mvdan/hint";
        description = "Runtime Haskell interpreter (GHC API wrapper)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hint-server" = callPackage
@@ -84828,8 +86158,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjsonpointer";
-       version = "0.3.0.2";
-       sha256 = "caf6f9df4af27b0dae0bc0c39be4eb623743f70602df251fd5e9fb1732795747";
+       version = "1.0.0.0";
+       sha256 = "0ba6ab283e9d465de61c1d171e7c78c78c5e06b061c125a63e2eee0201a01739";
        libraryHaskellDepends = [
          aeson base QuickCheck text unordered-containers vector
        ];
@@ -84851,8 +86181,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjsonschema";
-       version = "1.1.0.0";
-       sha256 = "63c5ca58ae62475bf2dbaa9ab87fda7f758676dca7a2b13790ee832cd027b5b8";
+       version = "1.1.0.1";
+       sha256 = "52e85f98ace68a20ad1435b56c0d201a5cbb8c475dd3086aee860aa72da3824d";
        libraryHaskellDepends = [
          aeson base bytestring containers file-embed filepath hjsonpointer
          http-client http-types pcre-heavy profunctors QuickCheck scientific
@@ -85384,15 +86714,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hlint_1_9_36" = callPackage
+  "hlint_1_9_37" = callPackage
     ({ mkDerivation, ansi-terminal, base, cmdargs, containers, cpphs
      , directory, extra, filepath, haskell-src-exts, hscolour, process
      , refact, transformers, uniplate
      }:
      mkDerivation {
        pname = "hlint";
-       version = "1.9.36";
-       sha256 = "dfcd31ce03590f20c1dcea4e78756329e97cccbddbf76db976b3392bd276addc";
+       version = "1.9.37";
+       sha256 = "a208466a837b58159d6a4bbd4c360ae918da306fb38630eae52ba5ef0c88c415";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -87051,8 +88381,8 @@ self: {
      }:
      mkDerivation {
        pname = "hopenpgp-tools";
-       version = "0.19.1";
-       sha256 = "c0cec5475247b9150d8ec9e58b337754767c306ea4f6fc7572ff82f8e5ff4b2e";
+       version = "0.19.2";
+       sha256 = "6bcc067bfc2b54c0c47ea7169f3741ec8f64abee9bd8c398191a0b35520fa39c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -87580,6 +88910,8 @@ self: {
        pname = "hpack";
        version = "0.14.1";
        sha256 = "a930e8719c52f42826efab92f33252e3dfbf664296ce8075334b48e38bc51280";
+       revision = "1";
+       editedCabalFile = "59a63c997869623189c5e2bb3df8b1da09dda3a2258cbef43a87cbb4a40addc5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -87600,6 +88932,71 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hpack-convert" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
+     , Cabal, containers, deepseq, directory, filepath, Glob, hspec
+     , interpolate, mockery, pretty, QuickCheck, temporary, text
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hpack-convert";
+       version = "0.14.4";
+       sha256 = "dff7716b20bbe03e9b96d4051becb0ece42315c926e8b5999782a2566ed879d1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base-compat bytestring Cabal containers deepseq
+         directory filepath Glob pretty text unordered-containers vector
+         yaml
+       ];
+       executableHaskellDepends = [
+         aeson base base-compat bytestring Cabal containers deepseq
+         directory filepath Glob pretty text unordered-containers vector
+         yaml
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base base-compat bytestring Cabal containers deepseq
+         directory filepath Glob hspec interpolate mockery pretty QuickCheck
+         temporary text unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/yamadapc/hpack-convert#readme";
+       description = "Convert Cabal manifests into hpack's package.yamls";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "hpack-convert_0_14_5" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
+     , Cabal, containers, deepseq, directory, filepath, Glob, hspec
+     , interpolate, mockery, pretty, QuickCheck, temporary, text
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hpack-convert";
+       version = "0.14.5";
+       sha256 = "fddb0bbb0a0aeb7362ee4333fb15f5d90191a6163698d596aead89577b4656ae";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base-compat bytestring Cabal containers deepseq
+         directory filepath Glob pretty text unordered-containers vector
+         yaml
+       ];
+       executableHaskellDepends = [
+         aeson base base-compat bytestring Cabal containers deepseq
+         directory filepath Glob pretty text unordered-containers vector
+         yaml
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base base-compat bytestring Cabal containers deepseq
+         directory filepath Glob hspec interpolate mockery pretty QuickCheck
+         temporary text unordered-containers vector yaml
+       ];
+       homepage = "https://github.com/yamadapc/hpack-convert#readme";
+       description = "Convert Cabal manifests into hpack's package.yamls";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hpaco" = callPackage
     ({ mkDerivation, aeson, base, cmdargs, filepath, hpaco-lib, strict
      , utf8-string, yaml
@@ -88795,6 +90192,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hs-watchman" = callPackage
+    ({ mkDerivation, async, base, binary, bytestring, containers
+     , filepath, network, process, tasty, tasty-hunit, temporary
+     }:
+     mkDerivation {
+       pname = "hs-watchman";
+       version = "0.0.0.3";
+       sha256 = "d1cd8bda7c98111f8e20850a49587e1970b8593b9e2572070011cde61fa110b3";
+       libraryHaskellDepends = [
+         async base binary bytestring containers filepath network process
+         temporary
+       ];
+       testHaskellDepends = [
+         base bytestring containers filepath tasty tasty-hunit temporary
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/bitc/hs-watchman";
+       description = "Client library for Facebook's Watchman tool";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hs2048" = callPackage
     ({ mkDerivation, base, doctest, Glob, hlint, hspec, HUnit, process
      , QuickCheck, random, regex-compat
@@ -89574,6 +90992,8 @@ self: {
        pname = "hsdev";
        version = "0.2.0.0";
        sha256 = "da36361df0f56f5e217da972cd4a9e2a0f3321be684c365f9d599fb635f7b02e";
+       revision = "1";
+       editedCabalFile = "80d4e37bb93542afb3b7bf1496862fde3f1aef17e2d569f9c290fb7c861040ae";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89668,6 +91088,8 @@ self: {
        pname = "hse-cpp";
        version = "0.1";
        sha256 = "a075790dd132107b8005478179fcaf7e37a78c3011ca536ff0d95e0b437c2b38";
+       revision = "1";
+       editedCabalFile = "9ed587127e9760a075bf6ea478997e1a1fb9e500102bd883206aa843e7d92a4b";
        libraryHaskellDepends = [ base cpphs haskell-src-exts ];
        description = "Preprocess+parse haskell code";
        license = stdenv.lib.licenses.mit;
@@ -89944,8 +91366,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsimport";
-       version = "0.7.1";
-       sha256 = "f4029909e893376e4c3d715d45537d52dbf0b90eeca2dcf9c33f3440919aba6b";
+       version = "0.8.2";
+       sha256 = "0c66301edd1225d92271d9235b847a0c8bf526bc49865852adef1f355bfd5937";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89956,6 +91378,7 @@ self: {
        testHaskellDepends = [
          base filepath haskell-src-exts tasty tasty-golden
        ];
+       jailbreak = true;
        description = "A command line program for extending the import list of a Haskell source file";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -90400,8 +91823,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsparql";
-       version = "0.2.7";
-       sha256 = "0f00e2d8a1294da1e60077b5da641a2f089326eaeb8766eb6e2eb1622328b6a7";
+       version = "0.2.8";
+       sha256 = "fa843d3ed104a61c2750d333e851048e6677e0f0713c74117c2fb8def8eaa3fe";
        libraryHaskellDepends = [
          base bytestring HTTP MissingH mtl network network-uri rdf4h text
          xml
@@ -90630,6 +92053,45 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "hspec-golden-aeson" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
+     , filepath, hspec, hspec-core, QuickCheck, quickcheck-arbitrary-adt
+     , random, silently, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-golden-aeson";
+       version = "0.1.0.0";
+       sha256 = "c6faaabdce29fdc8b25e2f35e90698eeee0601a690b22b16aca6a1f431bbca65";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring directory filepath hspec
+         QuickCheck quickcheck-arbitrary-adt random transformers
+       ];
+       testHaskellDepends = [
+         aeson base directory hspec hspec-core QuickCheck
+         quickcheck-arbitrary-adt silently transformers
+       ];
+       homepage = "https://github.com/plow-technologies/hspec-golden-aeson#readme";
+       description = "Use tests to monitor changes in Aeson serialization";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "hspec-hashable" = callPackage
+    ({ mkDerivation, base, hashable, hspec, hspec-core, QuickCheck
+     , silently
+     }:
+     mkDerivation {
+       pname = "hspec-hashable";
+       version = "0.1.0.0";
+       sha256 = "11cc546fc714d7e084d251577a3e6e5238309144f536914411f58c69a6e014bf";
+       libraryHaskellDepends = [ base hashable hspec QuickCheck ];
+       testHaskellDepends = [
+         base hashable hspec hspec-core QuickCheck silently
+       ];
+       homepage = "https://github.com/plow-technologies/hspec-hashable#readme";
+       description = "Initial project template from stack";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hspec-jenkins" = callPackage
     ({ mkDerivation, base, blaze-markup, hspec }:
      mkDerivation {
@@ -90801,7 +92263,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hspec-snap" = callPackage
+  "hspec-snap_0_4_0_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , digestive-functors, directory, HandsomeSoup, hspec, hspec-core
      , hxt, lens, mtl, snap, snap-core, text, transformers
@@ -90826,6 +92288,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hspec-snap" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers
+     , digestive-functors, directory, HandsomeSoup, hspec, hspec-core
+     , hxt, lens, mtl, snap, snap-core, text, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-snap";
+       version = "1.0.0.0";
+       sha256 = "e3afa22d1c68a9db41463b115f432ac01d80fee706ae58bf2cf00d6d4f7b0e65";
+       libraryHaskellDepends = [
+         aeson base bytestring containers digestive-functors HandsomeSoup
+         hspec hspec-core hxt lens mtl snap snap-core text transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers digestive-functors directory
+         HandsomeSoup hspec hspec-core hxt lens mtl snap snap-core text
+         transformers
+       ];
+       homepage = "https://github.com/dbp/hspec-snap";
+       description = "A library for testing with Hspec and the Snap Web Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-stack-rerun" = callPackage
     ({ mkDerivation, base, directory, hspec, safe, strict }:
      mkDerivation {
@@ -91266,6 +92752,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hsrelp" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, network, utf8-string
+     }:
+     mkDerivation {
+       pname = "hsrelp";
+       version = "0.1.0.1";
+       sha256 = "8175a950537100b7c997d9abb4334f9313a707d7bb6d64f746b3314b069d91b1";
+       libraryHaskellDepends = [
+         attoparsec base bytestring network utf8-string
+       ];
+       homepage = "https://github.com/verrens/hsrelp";
+       description = "RELP (Reliable Event Logging Protocol) server implementation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hsseccomp" = callPackage
     ({ mkDerivation, base, seccomp, tasty, tasty-hunit, unix }:
      mkDerivation {
@@ -91765,6 +93266,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "htestu" = callPackage
+    ({ mkDerivation, base, gcc, random }:
+     mkDerivation {
+       pname = "htestu";
+       version = "0.1.1.2";
+       sha256 = "d67c265aff02e0a203df5dced00c2ef432154c206fa6b33cabc684afef40254f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base random ];
+       libraryToolDepends = [ gcc ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/nkartashov/htestu";
+       description = "A library for testing correctness of pseudo random number generators in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {inherit (pkgs) gcc;};
+
   "htiled" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, containers
      , filepath, hxt, split, zlib
@@ -92896,6 +94413,8 @@ self: {
          snap-core snap-server system-fileio system-filepath text
          transformers unordered-containers
        ];
+       jailbreak = true;
+       doCheck = false;
        homepage = "http://research.operationaldynamics.com/projects/http-streams/";
        description = "An HTTP client using io-streams";
        license = stdenv.lib.licenses.bsd3;
@@ -92976,7 +94495,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "http2" = callPackage
+  "http2_1_6_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
      , bytestring-builder, case-insensitive, containers, directory
      , doctest, filepath, Glob, hex, hspec, psqueues, stm, text
@@ -92997,6 +94516,30 @@ self: {
        ];
        description = "HTTP/2.0 library including frames and HPACK";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
+     , bytestring-builder, case-insensitive, containers, directory
+     , doctest, filepath, Glob, hex, hspec, psqueues, stm, text
+     , unordered-containers, vector, word8
+     }:
+     mkDerivation {
+       pname = "http2";
+       version = "1.6.2";
+       sha256 = "99e75ac0fa19276d276ec63bb94eefb2e952b0a374aea8f3d2c2408a634b6fe7";
+       libraryHaskellDepends = [
+         array base bytestring bytestring-builder case-insensitive
+         containers psqueues stm
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty array base bytestring bytestring-builder
+         case-insensitive containers directory doctest filepath Glob hex
+         hspec psqueues stm text unordered-containers vector word8
+       ];
+       description = "HTTP/2.0 library including frames and HPACK";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "httpd-shed" = callPackage
@@ -93613,8 +95156,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-bits";
-       version = "0.0.0.10";
-       sha256 = "c02e7398bbac3e1e92060b6bfb4245a5c6252a213ed3a2b918836b99515468ea";
+       version = "0.0.0.12";
+       sha256 = "db8888878caa8a7e69595528147737794b1621f9b05fc0be7b308aa1a2b531d8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring hw-prim parsec vector ];
@@ -93651,7 +95194,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
-  "hw-diagnostics" = callPackage
+  "hw-diagnostics_0_0_0_2" = callPackage
     ({ mkDerivation, base, hspec, QuickCheck }:
      mkDerivation {
        pname = "hw-diagnostics";
@@ -93665,6 +95208,23 @@ self: {
        homepage = "http://github.com/haskell-works/hw-diagnostics#readme";
        description = "Conduits for tokenizing streams";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hw-diagnostics" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "hw-diagnostics";
+       version = "0.0.0.3";
+       sha256 = "e69688c5cc40280cb0eaabb23ee36416fc794d88473e53fb8973359cc21fef43";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "http://github.com/haskell-works/hw-diagnostics#readme";
+       description = "Conduits for tokenizing streams";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hw-json_0_0_0_2" = callPackage
@@ -93800,8 +95360,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.0.3.5";
-       sha256 = "dd6f4b25ad1180c2706323451e2f2663f977353678945319ccc59b61f008db10";
+       version = "0.0.3.8";
+       sha256 = "38684ac8dc3ecc4effe4e8f27fda4f5d515fd54b0d695f9eb30c24a5eac4038f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring random vector ];
@@ -93839,8 +95399,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-rankselect";
-       version = "0.1.0.1";
-       sha256 = "57a11f88cfe37be4d18ce5f9497a139bd2e7eb2b9e25b8413c602da2f0f41d5c";
+       version = "0.2.0.1";
+       sha256 = "6ded1738898c3549336faf296d78c74ec9089b5610c2e07c09cc2963e02787af";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base hw-bits hw-prim vector ];
@@ -94996,6 +96556,8 @@ self: {
        pname = "i18n";
        version = "0.3";
        sha256 = "37e012104ab07255ae4f45490af8795d743e24857e83c38dd1dddaf0984a3f50";
+       revision = "1";
+       editedCabalFile = "d439935bdde42851690657019ef6fe3a9869299d918ed04db2e6752614608d36";
        libraryHaskellDepends = [
          array base containers directory filepath mtl old-locale old-time
          parsec utf8-string
@@ -95376,6 +96938,26 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "idringen" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath
+     , http-conduit, MissingH, process, transformers
+     }:
+     mkDerivation {
+       pname = "idringen";
+       version = "0.1.0.1";
+       sha256 = "28b154c9f991f86cdbfb7cd563e51de5c5a6b7fb65e80de4b2e50dae75881014";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory filepath http-conduit MissingH process
+         transformers
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/zjhmale/idringen";
+       description = "A project manage tool for Idris";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "idris_0_11_2" = callPackage
     ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal
      , ansi-wl-pprint, async, base, base64-bytestring, binary
@@ -95426,15 +97008,16 @@ self: {
      , blaze-html, blaze-markup, bytestring, cheapskate, containers
      , deepseq, directory, filepath, fingertree, fsnotify, gmp
      , haskeline, ieee754, libffi, mtl, network, optparse-applicative
-     , parsers, pretty, process, regex-tdfa, safe, split, terminal-size
-     , text, time, transformers, transformers-compat, trifecta, uniplate
-     , unix, unordered-containers, utf8-string, vector
+     , parsers, pretty, process, regex-tdfa, safe, split, tagged, tasty
+     , tasty-golden, tasty-rerun, terminal-size, text, time
+     , transformers, transformers-compat, trifecta, uniplate, unix
+     , unordered-containers, utf8-string, vector
      , vector-binary-instances, zip-archive
      }:
      mkDerivation {
        pname = "idris";
-       version = "0.12.1";
-       sha256 = "2d3e4d1768975db5f786796d0d9a98037c011a3bf7765e41b17aa585680a49bb";
+       version = "0.12.2";
+       sha256 = "7df31d4eae5aabdd11b6940aeed89693f9c49f01826e7355bf80133da8947562";
        configureFlags = [ "-fcurses" "-fffi" "-fgmp" ];
        isLibrary = true;
        isExecutable = true;
@@ -95453,8 +97036,9 @@ self: {
          base directory filepath haskeline transformers
        ];
        testHaskellDepends = [
-         base containers directory filepath haskeline process time
-         transformers
+         base bytestring containers directory filepath haskeline
+         optparse-applicative process tagged tasty tasty-golden tasty-rerun
+         time transformers
        ];
        doCheck = false;
        homepage = "http://www.idris-lang.org/";
@@ -96471,6 +98055,18 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "inchworm" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "inchworm";
+       version = "1.0.0.1";
+       sha256 = "40449b0515ab4ae191879cb951947ab5f44aed5d9c067beee5fb825f07318645";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/DDCSF/inchworm";
+       description = "Inchworm Lexer Framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "include-file" = callPackage
     ({ mkDerivation, base, bytestring, random, template-haskell }:
      mkDerivation {
@@ -97221,6 +98817,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "insert-ordered-containers_0_2_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, hashable, lens
+     , QuickCheck, semigroupoids, semigroups, tasty, tasty-quickcheck
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "insert-ordered-containers";
+       version = "0.2.0.0";
+       sha256 = "0353fcf5c58e9ed3fe33ddc3f57bfb2faccaa4d61fbf832f7fc2bfbe2c30d02e";
+       libraryHaskellDepends = [
+         aeson base base-compat hashable lens semigroupoids semigroups text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat hashable lens QuickCheck semigroupoids
+         semigroups tasty tasty-quickcheck text transformers
+         unordered-containers
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/phadej/insert-ordered-containers#readme";
+       description = "Associative containers retating insertion order for traversals";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inserts" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, dlist }:
      mkDerivation {
@@ -97591,6 +99212,8 @@ self: {
        pname = "intero";
        version = "0.1.16";
        sha256 = "28dc0a16cec34ec8423f7b97c5243f0a894d22881e400c8c74cb06608040dfa1";
+       revision = "1";
+       editedCabalFile = "ac2cf03606a57c99b8b685b5411a6e19aa59047203ecfb469c28397b52a69da1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -97838,8 +99461,8 @@ self: {
      }:
      mkDerivation {
        pname = "invertible";
-       version = "0.1.1";
-       sha256 = "c15730feb9dee7a930cf25d2f44e3e13e1c48e831202f7fa844a33e14e4f4acd";
+       version = "0.1.2";
+       sha256 = "3ee47b2ba98ff687c4988a1b065be8791523f169a57c006c719c58bd368bd344";
        libraryHaskellDepends = [
          arrows base haskell-src-meta HList invariant lens
          partial-isomorphisms Piso semigroupoids template-haskell
@@ -98008,6 +99631,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "io-streams-haproxy" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, HUnit, io-streams
+     , network, test-framework, test-framework-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "io-streams-haproxy";
+       version = "1.0.0.1";
+       sha256 = "c4c0c512443e4da45f1a0023acc4ccee820e25c1088c06346abfb31b9e6e927f";
+       libraryHaskellDepends = [
+         attoparsec base bytestring io-streams network transformers
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring HUnit io-streams network test-framework
+         test-framework-hunit transformers
+       ];
+       homepage = "http://snapframework.com/";
+       description = "HAProxy protocol 1.5 support for io-streams";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "io-streams-http" = callPackage
     ({ mkDerivation, base, bytestring, http-client, http-client-tls
      , io-streams, mtl, transformers
@@ -98423,33 +100066,20 @@ self: {
      }) {};
 
   "irc-core" = callPackage
-    ({ mkDerivation, array, attoparsec, base, base64-bytestring
-     , bytestring, config-value, connection, containers
-     , data-default-class, deepseq, directory, filepath, free
-     , haskell-lexer, lens, network, regex-tdfa, split, stm, text, time
-     , tls, transformers, vty, x509, x509-store, x509-system
-     , x509-validation
+    ({ mkDerivation, attoparsec, base, bytestring, hashable, lens
+     , memory, primitive, text, time, vector
      }:
      mkDerivation {
        pname = "irc-core";
-       version = "1.1.5";
-       sha256 = "59ce88cb12164583fbd7c889f13c3524a9cdc74a59ef5cbb7a704d67b0508bd2";
-       isLibrary = true;
-       isExecutable = true;
+       version = "2.1.0.0";
+       sha256 = "e1dcd6a967bd866d56df30b29fcdeb97b11d9608419e1886288e45a29a2e799d";
        libraryHaskellDepends = [
-         array attoparsec base base64-bytestring bytestring containers free
-         lens regex-tdfa text time transformers
-       ];
-       executableHaskellDepends = [
-         array base bytestring config-value connection containers
-         data-default-class deepseq directory filepath haskell-lexer lens
-         network regex-tdfa split stm text time tls transformers vty x509
-         x509-store x509-system x509-validation
+         attoparsec base bytestring hashable lens memory primitive text time
+         vector
        ];
-       jailbreak = true;
        homepage = "https://github.com/glguy/irc-core";
-       description = "An IRC client library and text client";
-       license = stdenv.lib.licenses.bsd3;
+       description = "IRC core library for glirc";
+       license = stdenv.lib.licenses.isc;
      }) {};
 
   "irc-ctcp" = callPackage
@@ -100239,15 +101869,15 @@ self: {
      }:
      mkDerivation {
        pname = "json-api";
-       version = "0.1.0.4";
-       sha256 = "b846d72168ec304c2b8fdc726c4b46a3439609a045d17c6ac9b64b58ca59107b";
+       version = "0.1.1.1";
+       sha256 = "d5af631049fe2096c29f79b956f3c3b419b11f097278f131beee31a5369e2516";
        libraryHaskellDepends = [
          aeson base containers data-default lens-aeson text
          unordered-containers url
        ];
        testHaskellDepends = [
          aeson aeson-pretty base bytestring containers data-default hspec
-         lens lens-aeson text url
+         lens lens-aeson text unordered-containers url
        ];
        jailbreak = true;
        homepage = "https://github.com/toddmohney/json-api";
@@ -100679,8 +102309,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-rpc-server";
-       version = "0.2.4.0";
-       sha256 = "2a3a993a2d99f503fed13fad0193d005b2c75d768abdb64a254a687bb65e3ed1";
+       version = "0.2.5.0";
+       sha256 = "049c5248847b0b4da9b1cf34c36dbbf9f69fb4190228820cebf642f58204f850";
        libraryHaskellDepends = [
          aeson base bytestring deepseq mtl text unordered-containers vector
        ];
@@ -100703,8 +102333,8 @@ self: {
        pname = "json-schema";
        version = "0.7.4.1";
        sha256 = "560d6a17d6eab734f43d329e51967e3ed62f8df2a6fea4a92d06359fe77d7c96";
-       revision = "3";
-       editedCabalFile = "a919f70860dd9f379002ed0db301bbee85803dbf2661ae4c0d1f3045987f5233";
+       revision = "4";
+       editedCabalFile = "686610295b3967be97f3b6e433b76b331c203f9058cc05b6bcd907ddecdb8d00";
        libraryHaskellDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
          text time unordered-containers vector
@@ -101090,6 +102720,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "jupyter" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, cereal, containers
+     , directory, exceptions, extra, filepath, monad-control, mtl
+     , process, SHA, silently, tasty, tasty-hunit, temporary, text
+     , transformers, unordered-containers, uuid, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "jupyter";
+       version = "0.9.0";
+       sha256 = "93a049ba794d61c5cdef5523610bbdddcdc4527576bbaf997051da020074064c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson async base bytestring cereal containers directory exceptions
+         filepath monad-control mtl process SHA temporary text transformers
+         unordered-containers uuid zeromq4-haskell
+       ];
+       executableHaskellDepends = [ base process text transformers ];
+       testHaskellDepends = [
+         aeson async base bytestring containers directory exceptions extra
+         process silently tasty tasty-hunit text transformers
+         unordered-containers zeromq4-haskell
+       ];
+       homepage = "http://github.com/gibiansky/haskell-jupyter";
+       description = "A library for creating and using Jupyter kernels";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "jvm-parser" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-binary-ieee754, fgl, fingertree, pretty, zlib
@@ -101176,6 +102834,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "kaleidoscope" = callPackage
+    ({ mkDerivation, base, containers, haskeline, llvm-general
+     , llvm-general-pure, mtl, parsec, transformers
+     }:
+     mkDerivation {
+       pname = "kaleidoscope";
+       version = "0.1.0.0";
+       sha256 = "01deac5b0a468c9be7dc9b13c01a152dbc185fe64b51c4f0947fad619fd751f5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base haskeline llvm-general llvm-general-pure mtl transformers
+       ];
+       executableHaskellDepends = [
+         base containers haskeline llvm-general llvm-general-pure mtl parsec
+         transformers
+       ];
+       doHaddock = false;
+       jailbreak = true;
+       homepage = "https://github.com/sdiehl/kaleidoscope";
+       description = "Haskell Kaleidoscope tutorial";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "kan-extensions_4_2_3" = callPackage
     ({ mkDerivation, adjunctions, array, base, comonad, containers
      , contravariant, distributive, free, mtl, semigroupoids, tagged
@@ -101251,8 +102933,8 @@ self: {
        pname = "kansas-comet";
        version = "0.4";
        sha256 = "1f1a4565f2e955b8947bafcb9611789b0ccdf9efdfed8aaa2a2aa162a07339e1";
-       revision = "7";
-       editedCabalFile = "beaef45f7b61a2883a64471f052ae8b9c51f8453c253e4328eddaf5ffe994d74";
+       revision = "8";
+       editedCabalFile = "d35522fe047447685a0028216de02d88ddd4706fe025bb1266ffda61df31a988";
        libraryHaskellDepends = [
          aeson base containers data-default-class scotty stm text time
          transformers unordered-containers
@@ -101987,7 +103669,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "keter" = callPackage
+  "keter_1_4_3_1" = callPackage
     ({ mkDerivation, aeson, array, async, attoparsec, base
      , blaze-builder, bytestring, case-insensitive, conduit
      , conduit-extra, containers, data-default, directory, filepath
@@ -102001,8 +103683,8 @@ self: {
        pname = "keter";
        version = "1.4.3.1";
        sha256 = "1111d0f97dc36e84c041f34176d652911a1e7b9c48943533835ac73ccf37582f";
-       revision = "1";
-       editedCabalFile = "197ee783d18b293bb5fbe286623ca588695ec2115a012c3547535702fafc571f";
+       revision = "2";
+       editedCabalFile = "aebe235523c4b1c4a4c3bf091ba46349881fcc3ca5d69d3304dc395542b82adb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -102018,6 +103700,42 @@ self: {
        testHaskellDepends = [
          base bytestring conduit hspec HUnit transformers unix
        ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/";
+       description = "Web application deployment manager, focusing on Haskell web frameworks";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "keter" = callPackage
+    ({ mkDerivation, aeson, array, async, attoparsec, base
+     , blaze-builder, bytestring, case-insensitive, conduit
+     , conduit-extra, containers, data-default, directory, filepath
+     , fsnotify, hspec, http-client, http-conduit, http-reverse-proxy
+     , http-types, HUnit, lifted-base, mtl, network, process, random
+     , regex-tdfa, stm, tar, template-haskell, text, time, tls
+     , transformers, unix, unix-compat, unordered-containers, vector
+     , wai, wai-app-static, wai-extra, warp, warp-tls, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "keter";
+       version = "1.4.3.2";
+       sha256 = "332c962cb73a5cf8213fb137b67e1ac8902a91489a5769ed990abf79a5374a8f";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson array async attoparsec base blaze-builder bytestring
+         case-insensitive conduit conduit-extra containers data-default
+         directory filepath fsnotify http-client http-conduit
+         http-reverse-proxy http-types lifted-base mtl network process
+         random regex-tdfa stm tar template-haskell text time tls
+         transformers unix unix-compat unordered-containers vector wai
+         wai-app-static wai-extra warp warp-tls yaml zlib
+       ];
+       executableHaskellDepends = [ base data-default filepath ];
+       testHaskellDepends = [
+         base bytestring conduit hspec HUnit transformers unix
+       ];
        homepage = "http://www.yesodweb.com/";
        description = "Web application deployment manager, focusing on Haskell web frameworks";
        license = stdenv.lib.licenses.mit;
@@ -102044,7 +103762,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "keycode" = callPackage
+  "keycode_0_2" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "keycode";
@@ -102056,6 +103774,21 @@ self: {
        homepage = "https://github.com/RyanGlScott/keycode";
        description = "Maps web browser keycodes to their corresponding keyboard keys";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "keycode" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
+     mkDerivation {
+       pname = "keycode";
+       version = "0.2.2";
+       sha256 = "56f9407cf182b01e5f0fda80f569ff629f37d894f75ef28b6b8af3024343d310";
+       libraryHaskellDepends = [
+         base containers ghc-prim template-haskell
+       ];
+       homepage = "https://github.com/RyanGlScott/keycode";
+       description = "Maps web browser keycodes to their corresponding keyboard keys";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "keyed" = callPackage
@@ -102475,6 +104208,8 @@ self: {
        pname = "koofr-client";
        version = "1.0.0.3";
        sha256 = "2ab6f0af8be4f1912ad06ad860db993f9c33c8f0206f87ff0b566b7dda54e7af";
+       revision = "1";
+       editedCabalFile = "1bee9d4fc76133cecb131ba5ddc21278a871761d5e2225d4077f249b1ebb5161";
        libraryHaskellDepends = [
          aeson base bytestring filepath http-client http-client-tls
          http-types mtl
@@ -102657,6 +104392,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "labels" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, template-haskell
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "labels";
+       version = "0.1.0";
+       sha256 = "cdd74a8e902b00fa74ee20bf895f39616b3325ba72197dd87e80299947bec8ca";
+       libraryHaskellDepends = [
+         base bytestring cassava template-haskell unordered-containers
+       ];
+       homepage = "https://github.com/chrisdone/labels#readme";
+       description = "Declare and access tuple fields with labels";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "laborantin-hs" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, cmdlib, containers
      , directory, hslogger, mtl, old-locale, parsec, random, split, text
@@ -102988,7 +104739,7 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Lambdabot is a development tool and advanced IRC bot";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ abbradar ];
      }) {};
 
   "lambdabot-core" = callPackage
@@ -103015,7 +104766,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Lambdabot core functionality";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-haskell-plugins" = callPackage
@@ -103042,7 +104792,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Lambdabot Haskell plugins";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-irc-plugins" = callPackage
@@ -103061,7 +104810,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "IRC plugins for lambdabot";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-misc-plugins" = callPackage
@@ -103085,7 +104833,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Lambdabot miscellaneous plugins";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-novelty-plugins" = callPackage
@@ -103104,7 +104851,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Novelty plugins for Lambdabot";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-reference-plugins" = callPackage
@@ -103123,7 +104869,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Lambdabot reference plugins";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-social-plugins" = callPackage
@@ -103140,7 +104885,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Social plugins for Lambdabot";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambdabot-trusted" = callPackage
@@ -103175,7 +104919,6 @@ self: {
        homepage = "http://haskell.org/haskellwiki/Lambdabot";
        description = "Utility libraries for the advanced IRC bot, Lambdabot";
        license = "GPL";
-       hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
   "lambdacat" = callPackage
@@ -103674,6 +105417,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-conf" = callPackage
+    ({ mkDerivation, aeson, base, deepseq, directory, filepath, hspec
+     , hspec-megaparsec, megaparsec, pretty, QuickCheck, scientific
+     , semigroups, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "language-conf";
+       version = "0.2.1.0";
+       sha256 = "a61265983569cefca12d5c27fbaed131a0592ca4065fd375dcb224c36acfe024";
+       libraryHaskellDepends = [
+         aeson base deepseq directory filepath megaparsec pretty scientific
+         semigroups text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base directory filepath hspec hspec-megaparsec megaparsec
+         pretty QuickCheck semigroups text transformers
+       ];
+       homepage = "https://github.com/beijaflor-io/haskell-language-conf#readme";
+       description = "Conf parsers and pretty-printers for the Haskell programming language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "language-css" = callPackage
     ({ mkDerivation, base, pretty }:
      mkDerivation {
@@ -103698,6 +105463,58 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-dockerfile" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, free, Glob
+     , hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
+     , ShellCheck, split, template-haskell, test-framework
+     , test-framework-hunit, th-lift, th-lift-instances, transformers
+     }:
+     mkDerivation {
+       pname = "language-dockerfile";
+       version = "0.3.3.0";
+       sha256 = "70850bdf6d00a40160a3203de2d94fd45e4b51edd2b8284952286a26adf49afc";
+       libraryHaskellDepends = [
+         base bytestring free mtl parsec pretty ShellCheck split
+         template-haskell th-lift th-lift-instances transformers
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath free Glob hspec HUnit mtl parsec
+         pretty process QuickCheck ShellCheck split template-haskell
+         test-framework test-framework-hunit th-lift th-lift-instances
+         transformers
+       ];
+       doCheck = false;
+       homepage = "https://github.com/beijaflor-io/language-dockerfile#readme";
+       description = "Dockerfile linter, parser, pretty-printer and embedded DSL";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "language-dockerfile_0_3_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, free, Glob
+     , hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
+     , ShellCheck, split, template-haskell, test-framework
+     , test-framework-hunit, th-lift, th-lift-instances, transformers
+     }:
+     mkDerivation {
+       pname = "language-dockerfile";
+       version = "0.3.4.0";
+       sha256 = "94e6996d5e56b6fb73f967e09d47d1aa2dc5a8e31ce991f27b49f28a3d8953d0";
+       libraryHaskellDepends = [
+         base bytestring free mtl parsec pretty ShellCheck split
+         template-haskell th-lift th-lift-instances transformers
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath free Glob hspec HUnit mtl parsec
+         pretty process QuickCheck ShellCheck split template-haskell
+         test-framework test-framework-hunit th-lift th-lift-instances
+         transformers
+       ];
+       homepage = "https://github.com/beijaflor-io/language-dockerfile#readme";
+       description = "Dockerfile linter, parser, pretty-printer and embedded DSL";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-dot" = callPackage
     ({ mkDerivation, base, mtl, parsec, pretty }:
      mkDerivation {
@@ -103856,6 +105673,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-hcl" = callPackage
+    ({ mkDerivation, base, deepseq, directory, filepath, hspec
+     , hspec-megaparsec, megaparsec, pretty, QuickCheck, scientific
+     , semigroups, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "language-hcl";
+       version = "0.1.2.0";
+       sha256 = "e2219cfb72ed5b3f0d449513d4315c4f13e2a739fa6f9f15b810d8f1a91f4120";
+       libraryHaskellDepends = [
+         base deepseq directory filepath megaparsec pretty scientific
+         semigroups text unordered-containers
+       ];
+       testHaskellDepends = [
+         base directory filepath hspec hspec-megaparsec megaparsec pretty
+         QuickCheck semigroups text transformers
+       ];
+       homepage = "https://github.com/beijaflor-io/haskell-language-hcl#readme";
+       description = "HCL parsers and pretty-printers for the Haskell programming language";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "language-java" = callPackage
     ({ mkDerivation, alex, array, base, cpphs, directory, filepath
      , HUnit, mtl, parsec, pretty, QuickCheck, test-framework
@@ -104404,6 +106243,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "large-hashable" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytes, bytestring
+     , containers, hashable, HTF, QuickCheck, scientific, strict
+     , template-haskell, text, time, transformers, unordered-containers
+     , utf8-light, vector, void
+     }:
+     mkDerivation {
+       pname = "large-hashable";
+       version = "0.1.0.1";
+       sha256 = "c9ef2847d8f91fd72b45922c3f8ca58bd07fc2aa3b8248f02e34f44c801a7072";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytes bytestring containers scientific
+         strict template-haskell text time transformers unordered-containers
+         utf8-light vector void
+       ];
+       testHaskellDepends = [
+         aeson base bytes bytestring containers hashable HTF QuickCheck
+         scientific strict text time unordered-containers vector
+       ];
+       homepage = "https://github.com/factisresearch/large-hashable";
+       description = "Efficiently hash (large) Haskell values";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "largeword" = callPackage
     ({ mkDerivation, base, binary, bytestring, HUnit, QuickCheck
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -104624,15 +106487,14 @@ self: {
      }:
      mkDerivation {
        pname = "layers-game";
-       version = "0.5";
-       sha256 = "688e13233f97989e999571a73163c5a15631da753db7715328b5a226077e4106";
+       version = "0.5.2";
+       sha256 = "fd6f64e4a61c9340c9d7d721b834879375e1c518161097b08f4a7b2e891169cc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base cmdargs composition data-lens Gamgine GLFW-b ListZipper mtl
          OpenGLRaw pretty-show
        ];
-       jailbreak = true;
        description = "A prototypical 2d platform game";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -105251,8 +107113,8 @@ self: {
        pname = "lens-aeson";
        version = "1.0.0.5";
        sha256 = "65faad5b75852209b4c6df43ae1f7460c2b94bf3bbc10b5cd529f43c743a5d9f";
-       revision = "2";
-       editedCabalFile = "fb2b4c4dc5b44f95da81837394ea09416dd0211dd98e23c30c2473e2b39e844c";
+       revision = "3";
+       editedCabalFile = "d511d27175ba60166923027642b159100332d57db118fb7055cf512fbd0bd7d1";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring lens scientific text
          unordered-containers vector
@@ -106082,8 +107944,8 @@ self: {
      }:
      mkDerivation {
        pname = "libmpd";
-       version = "0.9.0.4";
-       sha256 = "bdaa57a410396b2f02ddb9896823ce0a176751fa84261f445e9a5b7671333a7a";
+       version = "0.9.0.6";
+       sha256 = "bdebb946bba078ed85de12d71ef2e7efa7f28c1ed806d9a390a20d5e4590c937";
        libraryHaskellDepends = [
          attoparsec base bytestring containers data-default-class filepath
          mtl network old-locale text time utf8-string
@@ -106092,14 +107954,13 @@ self: {
          attoparsec base bytestring containers data-default-class filepath
          hspec mtl network old-locale QuickCheck text time unix utf8-string
        ];
-       jailbreak = true;
        homepage = "http://github.com/vimus/libmpd-haskell#readme";
        description = "An MPD client library";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "libnotify" = callPackage
+  "libnotify_0_1_1_0" = callPackage
     ({ mkDerivation, base, bytestring, glib, gtk, libnotify }:
      mkDerivation {
        pname = "libnotify";
@@ -106109,6 +107970,19 @@ self: {
        librarySystemDepends = [ libnotify ];
        description = "Bindings to libnotify library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) libnotify;};
+
+  "libnotify" = callPackage
+    ({ mkDerivation, base, bytestring, glib, gtk, libnotify }:
+     mkDerivation {
+       pname = "libnotify";
+       version = "0.2";
+       sha256 = "665603c8343e5c7773b4fba87edd146d2f4565e75087609d1874fc4523955f59";
+       libraryHaskellDepends = [ base bytestring glib gtk ];
+       librarySystemDepends = [ libnotify ];
+       description = "Bindings to libnotify library";
+       license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) libnotify;};
 
   "libnvvm" = callPackage
@@ -106446,6 +108320,39 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {xslt = null;};
 
+  "libzfs" = callPackage
+    ({ mkDerivation, base, mtl, nvpair, transformers, zfs }:
+     mkDerivation {
+       pname = "libzfs";
+       version = "0.1.0.2";
+       sha256 = "887ea6f0fbcba72885090666e3384b35cd543c7bc56f28fd1b9c6b5f6640f2e7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl transformers ];
+       librarySystemDepends = [ nvpair zfs ];
+       executableHaskellDepends = [ base mtl transformers ];
+       executableSystemDepends = [ nvpair zfs ];
+       description = "Bindings to libzfs, for dealing with the Z File System and Zpools";
+       license = stdenv.lib.licenses.mit;
+     }) {nvpair = null; inherit (pkgs) zfs;};
+
+  "licensor" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, HTTP, process
+     }:
+     mkDerivation {
+       pname = "licensor";
+       version = "0.1.0";
+       sha256 = "3fd79e5758020abbb0b9c583c5ec9f3e324ad4edd471f320478469600e4ef099";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal containers directory HTTP process
+       ];
+       homepage = "https://github.com/jpvillaisaza/licensor";
+       description = "A license compatibility helper";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "life" = callPackage
     ({ mkDerivation, array, base, GLUT, OpenGL, random }:
      mkDerivation {
@@ -107355,6 +109262,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "liquid" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, lens, lens-aeson, mtl
+     , QuickCheck, scientific, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-th, text, unordered-containers
+     , validation, vector
+     }:
+     mkDerivation {
+       pname = "liquid";
+       version = "0.1.0.1";
+       sha256 = "f2c7cbfb26acbc9abd1856286997c7175ea20c4584225c287d4c75938898f18d";
+       libraryHaskellDepends = [
+         aeson attoparsec base lens lens-aeson mtl scientific semigroups
+         text unordered-containers validation vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base lens lens-aeson mtl QuickCheck scientific
+         semigroups tasty tasty-hunit tasty-quickcheck tasty-th text
+         unordered-containers validation vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/projectorhq/haskell-liquid";
+       description = "Liquid template language library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "liquid-fixpoint" = callPackage
     ({ mkDerivation, ansi-terminal, array, ascii-progress, async
      , attoparsec, base, bifunctors, binary, boxes, bytestring, cereal
@@ -107565,7 +109497,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "list-t" = callPackage
+  "list-t_0_4_7" = callPackage
     ({ mkDerivation, base, base-prelude, HTF, mmorph, monad-control
      , mtl, mtl-prelude, transformers, transformers-base
      }:
@@ -107582,6 +109514,25 @@ self: {
        homepage = "https://github.com/nikita-volkov/list-t";
        description = "ListT done right";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "list-t" = callPackage
+    ({ mkDerivation, base, base-prelude, HTF, mmorph, monad-control
+     , mtl, mtl-prelude, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "list-t";
+       version = "1";
+       sha256 = "519a68ce096452934a0d334e0081064139f08aaa0e1e2f81a627b16c28e88c15";
+       libraryHaskellDepends = [
+         base base-prelude mmorph monad-control mtl transformers
+         transformers-base
+       ];
+       testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
+       homepage = "https://github.com/nikita-volkov/list-t";
+       description = "ListT done right";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "list-t-attoparsec" = callPackage
@@ -108011,12 +109962,12 @@ self: {
      }) {};
 
   "llvm-ffi" = callPackage
-    ({ mkDerivation, base, llvm }:
+    ({ mkDerivation, base, enumset, llvm }:
      mkDerivation {
        pname = "llvm-ffi";
-       version = "3.5.0";
-       sha256 = "ff292c630a7a9460ffad569afeb932d1471f15cbc54ceadf6b4ed5294c4aacef";
-       libraryHaskellDepends = [ base ];
+       version = "3.5.1";
+       sha256 = "17f5ede28961ab5dddff7643a3c4bc82b5f68fc47f4671f758a85840c606d7a4";
+       libraryHaskellDepends = [ base enumset ];
        libraryPkgconfigDepends = [ llvm ];
        homepage = "http://haskell.org/haskellwiki/LLVM";
        description = "FFI bindings to the LLVM compiler toolkit";
@@ -108180,8 +110131,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.0.3.1.9";
-       sha256 = "e35b74bdb1770647520e1dab28e692d0b3bfd83588010dc2fb426e3a5a897e44";
+       version = "3.0.3.2";
+       sha256 = "d2ddc2b15e48a241f43ff220d453839750c9c462f523b941c22fcff35ba3a02f";
        libraryHaskellDepends = [
          base containers fixed-length llvm-ffi non-empty process
          storable-record tfp transformers utility-ht
@@ -108862,21 +110813,22 @@ self: {
      , containers, crypto-api, data-default, deepseq, DRBG
      , monadcryptorandom, MonadRandom, mtl, numeric-prelude
      , protocol-buffers, protocol-buffers-descriptor, QuickCheck, random
-     , reflection, repa, singletons, storable-record, tagged-transformer
+     , reflection, repa, singletons, tagged-transformer
      , template-haskell, test-framework, test-framework-quickcheck2
      , th-desugar, transformers, vector, vector-th-unbox
      }:
      mkDerivation {
        pname = "lol";
-       version = "0.4.0.0";
-       sha256 = "1b8d9a3feb0140e5c36a3a09eb76430624df060741786047c5292dd0a604dce1";
+       version = "0.5.0.2";
+       sha256 = "7a3a494d8262865e7262bf34e39030f1bf48c81a602b8f81e1d50770372030ca";
+       revision = "1";
+       editedCabalFile = "3e58e5596d39e3a7265acecf79ece269b44cf58fd14699bdbc9a28fde0bd622d";
        libraryHaskellDepends = [
          arithmoi base binary bytestring constraints containers crypto-api
          data-default deepseq monadcryptorandom MonadRandom mtl
          numeric-prelude protocol-buffers protocol-buffers-descriptor
-         QuickCheck random reflection repa singletons storable-record
-         tagged-transformer template-haskell th-desugar transformers vector
-         vector-th-unbox
+         QuickCheck random reflection repa singletons tagged-transformer
+         template-haskell th-desugar transformers vector vector-th-unbox
        ];
        testHaskellDepends = [
          arithmoi base constraints deepseq DRBG MonadRandom mtl QuickCheck
@@ -108899,6 +110851,8 @@ self: {
        pname = "lol-apps";
        version = "0.1.1.0";
        sha256 = "75b0d6d53161d25e77286ab0cbf43487112f6b6d944ff77d11ace6e7ef83af7e";
+       revision = "2";
+       editedCabalFile = "5d9f33a4442eff096507ba9917c86de5cd01ee1fe55f4837c69301ccaa7f4c69";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -109204,6 +111158,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lrucaching" = callPackage
+    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
+     , hspec, psqueues, QuickCheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "lrucaching";
+       version = "0.3.0";
+       sha256 = "7e699143604a50f597ba4b7877fecd04e6c23bcb303fac4831056966bd521a7f";
+       libraryHaskellDepends = [
+         base base-compat deepseq hashable psqueues vector
+       ];
+       testHaskellDepends = [
+         base containers deepseq hashable hspec QuickCheck transformers
+       ];
+       homepage = "https://github.com/cocreature/lrucaching#readme";
+       description = "LRU cache";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ls-usb" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, base-unicode-symbols
      , cmdtheline, text, usb, usb-id-database, vector
@@ -110466,8 +112439,8 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, doctest, Glob }:
      mkDerivation {
        pname = "makefile";
-       version = "0.1.0.3";
-       sha256 = "2ad77fc1cc390225ecb7155f6df87b3be5bdba5803629ba687f98711a8114e4a";
+       version = "0.1.0.5";
+       sha256 = "e47e5f07b23071ea1a9881c034ce66f915d3c2a3cf646b4f7db2718725d80316";
        libraryHaskellDepends = [ attoparsec base bytestring ];
        testHaskellDepends = [ attoparsec base bytestring doctest Glob ];
        doCheck = false;
@@ -110873,7 +112846,7 @@ self: {
        license = stdenv.lib.licenses.lgpl3;
      }) {};
 
-  "mandrill" = callPackage
+  "mandrill_0_5_2_2" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, blaze-html
      , bytestring, containers, email-validate, http-client
      , http-client-tls, http-types, lens, mtl, old-locale, QuickCheck
@@ -110895,6 +112868,31 @@ self: {
        ];
        description = "Library for interfacing with the Mandrill JSON API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mandrill" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-html
+     , bytestring, containers, email-validate, http-client
+     , http-client-tls, http-types, lens, mtl, old-locale, QuickCheck
+     , raw-strings-qq, tasty, tasty-hunit, tasty-quickcheck, text, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "mandrill";
+       version = "0.5.2.3";
+       sha256 = "fe53d80b0c082119e58ff78a8b89084b182e7a82f685d6dfc57d6154b1420a27";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring blaze-html bytestring containers
+         email-validate http-client http-client-tls http-types lens mtl
+         old-locale QuickCheck text time unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring QuickCheck raw-strings-qq tasty tasty-hunit
+         tasty-quickcheck text
+       ];
+       description = "Library for interfacing with the Mandrill JSON API";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "mandulia" = callPackage
@@ -111005,7 +113003,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "map-syntax" = callPackage
+  "map-syntax_0_2" = callPackage
     ({ mkDerivation, base, containers, deepseq, HUnit, mtl, QuickCheck
      , test-framework, test-framework-hunit, test-framework-quickcheck2
      , transformers
@@ -111022,6 +113020,23 @@ self: {
        jailbreak = true;
        description = "Syntax sugar for defining maps";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "map-syntax" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hspec, HUnit, mtl
+     , QuickCheck, transformers
+     }:
+     mkDerivation {
+       pname = "map-syntax";
+       version = "0.2.0.1";
+       sha256 = "f45f0e09da98dc749eae15f403e30674e874c57f81c4bdd8db818028a25b5c55";
+       libraryHaskellDepends = [ base containers mtl ];
+       testHaskellDepends = [
+         base containers deepseq hspec HUnit mtl QuickCheck transformers
+       ];
+       description = "Syntax sugar for defining maps";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "mappy" = callPackage
@@ -111326,6 +113341,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mars" = callPackage
+    ({ mkDerivation, array, base, bytestring, colour, gloss
+     , MonadRandom, mtl, random
+     }:
+     mkDerivation {
+       pname = "mars";
+       version = "0.1.0.0";
+       sha256 = "3154d125ab96dcb6fc23685ca35483d622e8e6ff02e5564df570eb3cfed80ae9";
+       libraryHaskellDepends = [
+         array base bytestring colour gloss MonadRandom mtl random
+       ];
+       jailbreak = true;
+       homepage = "https://qlfiles.net";
+       description = "Generates mountainous terrain using a random walk algorithm";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "marxup" = callPackage
     ({ mkDerivation, base, configurator, containers, cubicbezier
      , directory, dlist, filepath, glpk-hs, graphviz, labeled-tree, lens
@@ -111457,6 +113489,8 @@ self: {
        pname = "math-functions";
        version = "0.2.0.1";
        sha256 = "ac165116d981d879b4ea4f387d40140515d75823d8d60295514c41dbf4cac641";
+       revision = "1";
+       editedCabalFile = "3722814c83e907f40959812ff4209a704e27d53be667c98b83815b222e073f27";
        libraryHaskellDepends = [
          base deepseq primitive vector vector-th-unbox
        ];
@@ -111980,6 +114014,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) mecab;};
 
+  "mech" = callPackage
+    ({ mkDerivation, base, machines }:
+     mkDerivation {
+       pname = "mech";
+       version = "0.0.0.0";
+       sha256 = "dad2e243e0122a9c0cde529c0a309775b9332b20301942d1b02ded6c32013665";
+       libraryHaskellDepends = [ base machines ];
+       jailbreak = true;
+       homepage = "http://github.com/cartazio/mecha";
+       description = "mecha are the most complex composite machines known to humanity, lets build them well!";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "mecha" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -111994,6 +114041,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mechs" = callPackage
+    ({ mkDerivation, base, machines }:
+     mkDerivation {
+       pname = "mechs";
+       version = "0.0.0.0";
+       sha256 = "dd73407f98ef5c1a795df33cb4537df60a62f36d34c7cf9a0dd0685aa5c6e413";
+       libraryHaskellDepends = [ base machines ];
+       jailbreak = true;
+       homepage = "http://github.com/cartazio/mecha";
+       description = "mecha are the most complex composite machines known to humanity, lets build them well!";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "mediawiki" = callPackage
     ({ mkDerivation, base, HTTP, mime, network, pretty, utf8-string
      , xml
@@ -112830,16 +114890,15 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "microlens";
-       version = "0.4.6.0";
-       sha256 = "6b3dcc4921568c89bacb0b2c827b91065db3711eb78b7ec91fc8c9a02d78812b";
+       version = "0.4.7.0";
+       sha256 = "c149874a5cf038c1dde51b79b22733116817619e5ed11c7787aadb9d8ea31e26";
        libraryHaskellDepends = [ base ];
-       doHaddock = false;
        homepage = "http://github.com/aelve/microlens";
        description = "A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this.";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "microlens-aeson" = callPackage
+  "microlens-aeson_2_1_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, directory
      , doctest, filepath, generic-deriving, microlens, scientific
      , semigroups, simple-reflect, text, unordered-containers, vector
@@ -112859,6 +114918,29 @@ self: {
        homepage = "http://github.com/fosskers/microlens-aeson/";
        description = "Law-abiding lenses for Aeson, using microlens";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "microlens-aeson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, microlens
+     , scientific, tasty, tasty-hunit, text, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "microlens-aeson";
+       version = "2.1.1.1";
+       sha256 = "301011a83092af23039a953730551af799af30e81fec9c0c31885fc40cd0ca98";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring microlens scientific text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring microlens tasty tasty-hunit text
+         unordered-containers vector
+       ];
+       homepage = "http://github.com/fosskers/microlens-aeson/";
+       description = "Law-abiding lenses for Aeson, using microlens";
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
@@ -112911,8 +114993,8 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-ghc";
-       version = "0.4.6.0";
-       sha256 = "e1fbcd4b6506658dccb2df5ea548d46fa76434f80af368701ae93df84e01fec1";
+       version = "0.4.7.0";
+       sha256 = "ef1f68645d0f62e9f108852dd0637109625703175eb571c7f183aa3244bf0cdf";
        libraryHaskellDepends = [
          array base bytestring containers microlens transformers
        ];
@@ -112979,8 +115061,8 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-platform";
-       version = "0.3.5.0";
-       sha256 = "7c51fe542759951daf7eb79c5e5644c214da89a0057797845da3971423cdc9aa";
+       version = "0.3.7.0";
+       sha256 = "8050a15818c3ee2e58b42f948aef7d658cb7d06f5007a3e58560faef39a6bf09";
        libraryHaskellDepends = [
          base hashable microlens microlens-ghc microlens-mtl microlens-th
          text unordered-containers vector
@@ -112990,7 +115072,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "microlens-th" = callPackage
+  "microlens-th_0_4_0_0" = callPackage
     ({ mkDerivation, base, containers, microlens, template-haskell }:
      mkDerivation {
        pname = "microlens-th";
@@ -113002,6 +115084,21 @@ self: {
        homepage = "http://github.com/aelve/microlens";
        description = "Automatic generation of record lenses for microlens";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "microlens-th" = callPackage
+    ({ mkDerivation, base, containers, microlens, template-haskell }:
+     mkDerivation {
+       pname = "microlens-th";
+       version = "0.4.1.0";
+       sha256 = "c62afe3fbac955771f4b000181e0c237ab61105a26a76e45c4958b37b7155baa";
+       libraryHaskellDepends = [
+         base containers microlens template-haskell
+       ];
+       homepage = "http://github.com/aelve/microlens";
+       description = "Automatic generation of record lenses for microlens";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "micrologger" = callPackage
@@ -113010,8 +115107,8 @@ self: {
      }:
      mkDerivation {
        pname = "micrologger";
-       version = "0.3.0.0";
-       sha256 = "9c23cb35299beab63e47255f04de67d436ce12ea0f793386a4d588a9d0b5a0e1";
+       version = "0.3.1.0";
+       sha256 = "d0371c5056b7f68bb2b1f1157c162b2d084fa8d6e316b005b1e75200edbd9d96";
        libraryHaskellDepends = [
          aeson base containers text text-format time transformers
        ];
@@ -113154,6 +115251,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "midi-utils" = callPackage
+    ({ mkDerivation, base, bytestring, directory, event-list, midi
+     , parsec, process
+     }:
+     mkDerivation {
+       pname = "midi-utils";
+       version = "0.1.0.0";
+       sha256 = "3fa2fb1f7d462ad26b8fe02bca69f7054fb41555d601798adc41872e3d8c9db6";
+       libraryHaskellDepends = [
+         base bytestring directory event-list midi parsec process
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/GuiltyDolphin/midi-utils";
+       description = "Utilities for working with MIDI data";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "midimory" = callPackage
     ({ mkDerivation, alsa-core, alsa-seq, base, containers, random
      , transformers, wx, wxcore
@@ -115513,8 +117627,8 @@ self: {
      }:
      mkDerivation {
        pname = "mongoDB";
-       version = "2.1.0.2";
-       sha256 = "476489da2b14e55c7c3a17bce0e3eb6283eb72a0f4dfa823ba7708a13924ce2c";
+       version = "2.1.1";
+       sha256 = "b8f737847418fa1c9f4f9746762c47f3eaa7ce45acdcb5efc2e4c2bcd22e922e";
        libraryHaskellDepends = [
          array base base16-bytestring base64-bytestring binary bson
          bytestring containers cryptohash data-default-class hashtables
@@ -115591,8 +117705,8 @@ self: {
      }:
      mkDerivation {
        pname = "monky";
-       version = "2.0.0.0";
-       sha256 = "922edbc9f8926fdcba6f1a141c010a4aff00fc7cb9df7094a9150412fc53d850";
+       version = "2.0.1.0";
+       sha256 = "8cd4fd086f4c3719af8c57d668ac0c7eb89a946a306b87485c267225546ec288";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116587,6 +118701,17 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "mtl-extras" = callPackage
+    ({ mkDerivation, base, mtl, transformers }:
+     mkDerivation {
+       pname = "mtl-extras";
+       version = "0.1";
+       sha256 = "ff9264943dfded23102c964cb327fea080a19191bc536d9a9a898dab9fa9fcec";
+       libraryHaskellDepends = [ base mtl transformers ];
+       description = "Higher order versions of MTL classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mtl-prelude_1_0_3" = callPackage
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
@@ -116751,10 +118876,8 @@ self: {
      }:
      mkDerivation {
        pname = "mueval";
-       version = "0.9.1.1.2";
-       sha256 = "e04c3b754695cc8f71c072c6398b8a567c112c69d48355b5bca9bfbb1c050ac1";
-       revision = "2";
-       editedCabalFile = "fbea4bfb334f9f8ff79942e916e22c1ee9c1a78126f59d7a64e64bc6aa592151";
+       version = "0.9.3";
+       sha256 = "f72a8bbaffecaeb55b67d78011e182073be8ba9f4a90824903e4c78cfe6e1ef7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116762,7 +118885,6 @@ self: {
          mtl process QuickCheck show simple-reflect unix
        ];
        executableHaskellDepends = [ base ];
-       jailbreak = true;
        homepage = "https://github.com/gwern/mueval";
        description = "Safely evaluate pure Haskell expressions";
        license = stdenv.lib.licenses.bsd3;
@@ -117515,7 +119637,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "mustache" = callPackage
+  "mustache_1_0_2" = callPackage
     ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
      , cmdargs, containers, directory, either, filepath, hspec, mtl
      , parsec, process, scientific, temporary, text
@@ -117546,6 +119668,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mustache" = callPackage
+    ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
+     , cmdargs, containers, directory, either, filepath, hspec, lens
+     , mtl, parsec, process, scientific, tar, template-haskell
+     , temporary, text, th-lift, unordered-containers, vector, wreq
+     , yaml, zlib
+     }:
+     mkDerivation {
+       pname = "mustache";
+       version = "2.0.1";
+       sha256 = "18404b812c7205eafe70f2cfbdf02828947405e4ff0dad86d790be68b956c834";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers directory either filepath mtl
+         parsec scientific template-haskell text th-lift
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring cmdargs filepath text yaml
+       ];
+       testHaskellDepends = [
+         aeson base base-unicode-symbols bytestring directory filepath hspec
+         lens process tar temporary text unordered-containers wreq yaml zlib
+       ];
+       homepage = "https://github.com/JustusAdam/mustache";
+       description = "A mustache template parser library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mustache-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , optparse-applicative, parsec, pretty-show, scientific, text
@@ -117876,6 +120029,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mysql-haskell" = callPackage
+    ({ mkDerivation, base, binary, blaze-textual, bytestring
+     , bytestring-lexing, cryptonite, io-streams, memory, monad-loops
+     , network, scientific, tasty, tasty-hunit, tcp-streams, text, time
+     , tls, transformers, wire-streams, word24
+     }:
+     mkDerivation {
+       pname = "mysql-haskell";
+       version = "0.1.0.0";
+       sha256 = "3367dd2735ee81268d6c02da7a9588374258f8ec9eb860f71d74ead2ccd2b735";
+       libraryHaskellDepends = [
+         base binary blaze-textual bytestring bytestring-lexing cryptonite
+         io-streams memory monad-loops network scientific tcp-streams text
+         time tls transformers wire-streams word24
+       ];
+       testHaskellDepends = [
+         base bytestring io-streams tasty tasty-hunit text time
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/winterland1989/mysql-haskell";
+       description = "pure haskell MySQL driver";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mysql-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
      , blaze-textual, bytestring, mysql, old-locale, pcre-light, text
@@ -118307,8 +120484,8 @@ self: {
      }:
      mkDerivation {
        pname = "nanovg";
-       version = "0.4.0.0";
-       sha256 = "910addcdcf0691facf8a599fb800f0bdaf93cd06ba3bf76bdf3e6d0080833e91";
+       version = "0.5.0.0";
+       sha256 = "26fae2bd7cc430b5fa46200ae0100779f481cde5c236d33f87a78feca3678f6e";
        libraryHaskellDepends = [ base bytestring containers text vector ];
        librarySystemDepends = [ freeglut GLEW mesa ];
        testHaskellDepends = [ base containers hspec inline-c QuickCheck ];
@@ -119657,16 +121834,16 @@ self: {
      }) {};
 
   "network-ip" = callPackage
-    ({ mkDerivation, base, binary, cereal, data-default-class
-     , data-dword, data-endian, data-textual, hashable, parsers, tasty
+    ({ mkDerivation, base, data-default-class, data-dword, data-endian
+     , data-serializer, data-textual, hashable, parsers, tasty
      , tasty-quickcheck, text-printer, type-hint
      }:
      mkDerivation {
        pname = "network-ip";
-       version = "0.2.1.1";
-       sha256 = "3e8294bc1ecb2a4cbe78de237f6adf60332303a6f693091bd5b9a511ef016c29";
+       version = "0.3";
+       sha256 = "e2201085a7df57356ba6fe30f8a200dce71226b96166af08ed29dbce728f8f53";
        libraryHaskellDepends = [
-         base binary cereal data-default-class data-dword data-endian
+         base data-default-class data-dword data-endian data-serializer
          data-textual hashable parsers text-printer type-hint
        ];
        testHaskellDepends = [
@@ -120182,6 +122359,7 @@ self: {
          array attoparsec base JuicyPixels MonadRandom pipes pipes-zlib text
        ];
        testHaskellDepends = [ base doctest Glob hspec MonadRandom ];
+       jailbreak = true;
        homepage = "https://github.com/brunjlar/neural";
        description = "Neural Networks in native Haskell";
        license = stdenv.lib.licenses.mit;
@@ -120918,6 +123096,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "normalization-insensitive" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hashable, HUnit
+     , test-framework, test-framework-hunit, text, unicode-transforms
+     }:
+     mkDerivation {
+       pname = "normalization-insensitive";
+       version = "2.0";
+       sha256 = "8f8ab5ae70a07a2d65fd0a46dbd8ed5cc3f3af5e95aa074e5a12b312a4dd4e29";
+       libraryHaskellDepends = [
+         base bytestring deepseq hashable text unicode-transforms
+       ];
+       testHaskellDepends = [
+         base bytestring hashable HUnit test-framework test-framework-hunit
+         text
+       ];
+       homepage = "https://github.com/ppelleti/normalization-insensitive";
+       description = "Normalization insensitive string comparison";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "not-gloss" = callPackage
     ({ mkDerivation, base, binary, bmp, bytestring, GLUT, OpenGL
      , OpenGLRaw, spatial-math, time, vector, vector-binary-instances
@@ -121811,8 +124009,8 @@ self: {
      }:
      mkDerivation {
        pname = "octane";
-       version = "0.13.3";
-       sha256 = "c3755604afc8b1757bdc94383d04d757ae6cd525f41b55ba9a210e1d74f6a9fb";
+       version = "0.13.4";
+       sha256 = "ac1e3afab893ae0cf5c134640b6b825a833a6fc6226e8f607be1ff53203a2005";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123477,6 +125675,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-applicative_0_13_0_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, process, QuickCheck
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "optparse-applicative";
+       version = "0.13.0.0";
+       sha256 = "cec6b1d94d347898a25446fb8a6643399d8429cf326f221e38a02d849b2b0cac";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base process transformers transformers-compat
+       ];
+       testHaskellDepends = [ base QuickCheck ];
+       homepage = "https://github.com/pcapriotti/optparse-applicative";
+       description = "Utilities and combinators for parsing command line options";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "optparse-declarative" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -123987,10 +126203,10 @@ self: {
      }:
      mkDerivation {
        pname = "overloaded-records";
-       version = "0.4.1.0";
-       sha256 = "f97b08e420bfc9d435a77ec391fec1da305000faaaf0c01ad84217de003b5a76";
+       version = "0.4.2.0";
+       sha256 = "86b1b43fac513cada6d1e48ca61fe7ae451884f2baa5915b569cf6b72ae83296";
        revision = "1";
-       editedCabalFile = "0aa55c702c1bbd15c4ddeb7efd21c2024e628ea266ae601673c2cf9bb5e25f24";
+       editedCabalFile = "d9facb383b2a9eaff023753b26737b7c5fb0b35af0f0dd3aa1ccb9e9b02c7605";
        libraryHaskellDepends = [
          base data-default-class template-haskell
        ];
@@ -123998,7 +126214,6 @@ self: {
          base data-default-class HUnit template-haskell test-framework
          test-framework-hunit
        ];
-       jailbreak = true;
        homepage = "https://github.com/trskop/overloaded-records";
        description = "Overloaded Records based on current GHC proposal";
        license = stdenv.lib.licenses.bsd3;
@@ -124330,7 +126545,7 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "palette" = callPackage
+  "palette_0_1_0_3" = callPackage
     ({ mkDerivation, array, base, colour, containers }:
      mkDerivation {
        pname = "palette";
@@ -124340,6 +126555,19 @@ self: {
        homepage = "http://projects.haskell.org/diagrams";
        description = "Utilities for choosing and creating color schemes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "palette" = callPackage
+    ({ mkDerivation, array, base, colour, containers }:
+     mkDerivation {
+       pname = "palette";
+       version = "0.1.0.4";
+       sha256 = "e6b3b4a0077d651ac7cb90c113ce7d6bd228aab57c9fe26e475abe6fcaada7cc";
+       libraryHaskellDepends = [ array base colour containers ];
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Utilities for choosing and creating color schemes";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "palindromes" = callPackage
@@ -126819,29 +129047,67 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent_2_6" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-html, blaze-markup, bytestring, conduit, containers
+     , exceptions, fast-logger, hspec, http-api-data, lifted-base
+     , monad-control, monad-logger, mtl, old-locale, path-pieces
+     , resource-pool, resourcet, scientific, silently, tagged
+     , template-haskell, text, time, transformers, transformers-base
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "persistent";
+       version = "2.6";
+       sha256 = "42423362de94599581d18be644ba77181e87417087b3953daec2e8512d408e3e";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html blaze-markup
+         bytestring conduit containers exceptions fast-logger http-api-data
+         lifted-base monad-control monad-logger mtl old-locale path-pieces
+         resource-pool resourcet scientific silently tagged template-haskell
+         text time transformers transformers-base unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         conduit containers fast-logger hspec http-api-data lifted-base
+         monad-control monad-logger mtl old-locale path-pieces resource-pool
+         resourcet scientific tagged template-haskell text time transformers
+         unordered-containers vector
+       ];
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Type-safe, multi-backend data serialization";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-audit" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, getopt-generics
-     , hspec, mongoDB, persistent, persistent-mongoDB, persistent-sqlite
-     , persistent-template, text, time, transformers
+    ({ mkDerivation, aeson, attoparsec, base, bytestring
+     , getopt-generics, hashable, hspec, mongoDB, persistent
+     , persistent-mongoDB, persistent-sqlite, persistent-template, text
+     , time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "persistent-audit";
-       version = "0.1.0.1";
-       sha256 = "d610b0614e3005958e5dcaf59fd9e847d36606cbf5dd1af0b43708e39729f956";
+       version = "0.1.0.3";
+       sha256 = "6ce619eaa1e4693aa447cec1c5c9ecc328eca2b0e9631ffcbea3144398d054ce";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base bytestring mongoDB persistent persistent-mongoDB
-         persistent-template text time transformers
+         aeson attoparsec base bytestring hashable mongoDB persistent
+         persistent-mongoDB persistent-template text time transformers
+         unordered-containers
        ];
        executableHaskellDepends = [
-         attoparsec base bytestring getopt-generics mongoDB persistent
-         persistent-mongoDB persistent-template text time
+         aeson attoparsec base bytestring getopt-generics hashable mongoDB
+         persistent persistent-mongoDB persistent-template text time
+         unordered-containers
        ];
        testHaskellDepends = [
-         attoparsec base bytestring hspec mongoDB persistent
+         aeson attoparsec base bytestring hashable hspec mongoDB persistent
          persistent-mongoDB persistent-sqlite persistent-template text time
-         transformers
+         transformers unordered-containers
        ];
        description = "Parses a Persist Model file and produces Audit Models";
        license = stdenv.lib.licenses.bsd3;
@@ -126987,8 +129253,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mongoDB";
-       version = "2.5";
-       sha256 = "e181caeafa76905faa57ba5173ce5171469753b20d276bd008a515eb7e696e84";
+       version = "2.5.0.1";
+       sha256 = "0fa7b288a063d0e3dd187a41992d14ac9af9eb57a494923074d3a4db3b04b91e";
        libraryHaskellDepends = [
          aeson attoparsec base bson bytestring cereal conduit containers
          http-api-data monad-control mongoDB network path-pieces persistent
@@ -127028,13 +129294,14 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.5";
-       sha256 = "fad1617beb44caa9e39c7aab574296004c45f5554bf76b404697e48c61e7395d";
+       version = "2.6";
+       sha256 = "a34c9f34feab49af156870a4c09df98d9cda54a3dd08944e3e0d326e86993be7";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers
          monad-control monad-logger mysql mysql-simple persistent
          resource-pool resourcet text transformers
        ];
+       jailbreak = true;
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using MySQL database server";
        license = stdenv.lib.licenses.mit;
@@ -127105,6 +129372,29 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-postgresql_2_6" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-control, monad-logger, persistent
+     , postgresql-libpq, postgresql-simple, resource-pool, resourcet
+     , text, time, transformers
+     }:
+     mkDerivation {
+       pname = "persistent-postgresql";
+       version = "2.6";
+       sha256 = "d640eecc5c8528c5ab42f08a01b74d409ca2b8e67259f477f3cd3686bc3aaae2";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring conduit containers
+         monad-control monad-logger persistent postgresql-libpq
+         postgresql-simple resource-pool resourcet text time transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using postgresql";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-protobuf" = callPackage
     ({ mkDerivation, base, bytestring, persistent, protocol-buffers
      , protocol-buffers-descriptor, template-haskell, text
@@ -127226,6 +129516,33 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-sqlite_2_6" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , hspec, monad-control, monad-logger, old-locale, persistent
+     , persistent-template, resource-pool, resourcet, temporary, text
+     , time, transformers
+     }:
+     mkDerivation {
+       pname = "persistent-sqlite";
+       version = "2.6";
+       sha256 = "628670f06cc533adb057649a253e9332aa2b3f69278af8fd32905e9bb00e0ffa";
+       libraryHaskellDepends = [
+         aeson base bytestring conduit containers monad-control monad-logger
+         old-locale persistent resource-pool resourcet text time
+         transformers
+       ];
+       testHaskellDepends = [
+         base hspec persistent persistent-template temporary text time
+         transformers
+       ];
+       jailbreak = true;
+       homepage = "http://www.yesodweb.com/book/persistent";
+       description = "Backend for the persistent library using sqlite3";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-template_2_1_8_1" = callPackage
     ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
      , ghc-prim, hspec, http-api-data, monad-control, monad-logger
@@ -127259,8 +129576,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-template";
-       version = "2.5.1.4";
-       sha256 = "bd2fb5aadbee3770c562a472e87dd812f30fea05334e6e19b223f322ebced072";
+       version = "2.5.1.6";
+       sha256 = "f88a8735173ba197f8d698a9c1fd5c649234fd60efe493f401432926a55e7b44";
        libraryHaskellDepends = [
          aeson aeson-compat base bytestring containers ghc-prim
          http-api-data monad-control monad-logger path-pieces persistent
@@ -127715,13 +130032,13 @@ self: {
   "phoityne-vscode" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, cmdargs, conduit
      , conduit-extra, ConfigFile, containers, directory, filepath
-     , fsnotify, hslogger, hspec, HStringTemplate, MissingH, mtl, parsec
+     , fsnotify, hslogger, HStringTemplate, MissingH, mtl, parsec
      , process, resourcet, safe, split, text, transformers
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.7.0";
-       sha256 = "6b209e6f85bf062d2443531661f4da5253450635f77a6f4f177768d11272651d";
+       version = "0.0.8.0";
+       sha256 = "da086d093e31f1277d7a3f5876d57122f9f5517747399a3f001986e3f05854e8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -127730,7 +130047,6 @@ self: {
          HStringTemplate MissingH mtl parsec process resourcet safe split
          text transformers
        ];
-       testHaskellDepends = [ aeson base hspec ];
        homepage = "https://sites.google.com/site/phoityne/vscode";
        description = "ghci debug viewer on Visual Studio Code";
        license = stdenv.lib.licenses.bsd3;
@@ -128062,24 +130378,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "pinboard_0_9_7" = callPackage
+  "pinboard_0_9_9" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, either, hspec
      , http-client, http-client-tls, http-types, mtl, network
-     , profunctors, QuickCheck, random, semigroups, text, time
-     , transformers, unordered-containers, vector
+     , profunctors, QuickCheck, random, safe-exceptions, semigroups
+     , text, time, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.7";
-       sha256 = "429f35da8a6c860ac2c20cfd87fe3dd01f53dbf7cfc44a24ba2f059e6d4fe681";
+       version = "0.9.9";
+       sha256 = "0000e935c683365d31d20b307b8e5495b311219f5aef66da6dcce65675fffa25";
        libraryHaskellDepends = [
          aeson base bytestring containers either http-client http-client-tls
-         http-types mtl network profunctors random text time transformers
-         unordered-containers vector
+         http-types mtl network profunctors random safe-exceptions text time
+         transformers unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring containers hspec mtl QuickCheck semigroups
-         text time transformers unordered-containers
+         aeson base bytestring containers hspec mtl QuickCheck
+         safe-exceptions semigroups text time transformers
+         unordered-containers
        ];
        jailbreak = true;
        homepage = "https://github.com/jonschoning/pinboard";
@@ -128134,7 +130451,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
-  "pinchot" = callPackage
+  "pinchot_0_18_2_0" = callPackage
     ({ mkDerivation, base, containers, Earley, lens, ListLike
      , semigroups, template-haskell, transformers
      }:
@@ -128149,6 +130466,25 @@ self: {
        homepage = "http://www.github.com/massysett/pinchot";
        description = "Write grammars, not parsers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pinchot" = callPackage
+    ({ mkDerivation, base, containers, Earley, lens, ListLike
+     , non-empty-sequence, pretty-show, semigroups, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pinchot";
+       version = "0.20.0.0";
+       sha256 = "704dcc99baf5cb62836696cdf66d785b7e9d103511a616734329844c1b0e669e";
+       libraryHaskellDepends = [
+         base containers Earley lens ListLike non-empty-sequence pretty-show
+         semigroups template-haskell transformers
+       ];
+       homepage = "http://www.github.com/massysett/pinchot";
+       description = "Write grammars, not parsers";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "pipe-enumerator" = callPackage
@@ -128390,8 +130726,8 @@ self: {
     ({ mkDerivation, base, bytestring, cacophony, hlint, pipes }:
      mkDerivation {
        pname = "pipes-cacophony";
-       version = "0.3.0";
-       sha256 = "1d489dccb63694e120cf53b4b313363f03f09863bd14243521328f7c5bec0e6a";
+       version = "0.4.0";
+       sha256 = "224ff8983cc61a92bc733cbdd2a9632b30858ef7a644203a346c0c9d18821ec0";
        libraryHaskellDepends = [ base bytestring cacophony pipes ];
        testHaskellDepends = [ base hlint ];
        homepage = "https://github.com/centromere/pipes-cacophony";
@@ -129236,19 +131572,19 @@ self: {
      }) {};
 
   "pixelated-avatar-generator" = callPackage
-    ({ mkDerivation, base, bytestring, hspec, JuicyPixels, pureMD5
-     , QuickCheck, split
+    ({ mkDerivation, async, base, bytestring, cli, hspec, JuicyPixels
+     , pureMD5, QuickCheck, random, split
      }:
      mkDerivation {
        pname = "pixelated-avatar-generator";
-       version = "0.1.2";
-       sha256 = "d9676ec3b4af31ca6628305c3bd1620de248a240a581281f359655629c00aa75";
+       version = "0.1.3";
+       sha256 = "4d7d87404121f5481faa7d6af087575a9541aaad96b196ec230d1883a563a078";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring JuicyPixels pureMD5 split
        ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [ async base cli random ];
        testHaskellDepends = [
          base bytestring hspec JuicyPixels QuickCheck
        ];
@@ -129884,6 +132220,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pointful_1_0_9" = callPackage
+    ({ mkDerivation, base, containers, haskell-src-exts-simple, mtl
+     , syb, transformers
+     }:
+     mkDerivation {
+       pname = "pointful";
+       version = "1.0.9";
+       sha256 = "6a1881236419751beb5b2e4e495bd9093ea2dec3f3cbd44e2a62aaabe53cacd6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers haskell-src-exts-simple mtl syb transformers
+       ];
+       executableHaskellDepends = [ base ];
+       jailbreak = true;
+       homepage = "http://github.com/23Skidoo/pointful";
+       description = "Pointful refactoring tool";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pointless-fun" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -130006,9 +132363,9 @@ self: {
     ({ mkDerivation, base, containers, HUnit, MissingH, mtl, parsec }:
      mkDerivation {
        pname = "polar-configfile";
-       version = "0.4.1.0";
-       sha256 = "ae0d19890ee5e24a0d36eacacf22fad1eff68c471bcdd8b84fa727aedf7135d2";
-       libraryHaskellDepends = [ base containers MissingH mtl parsec ];
+       version = "0.5.0.0";
+       sha256 = "385a2c0e2aa39865f161cfd8cf0b77a6b5d7b126c08ceaf33dc08ce817ffa9fb";
+       libraryHaskellDepends = [ base containers mtl parsec ];
        testHaskellDepends = [ base containers HUnit MissingH mtl parsec ];
        description = "Fork of ConfigFile for Polar Game Engine";
        license = stdenv.lib.licenses.bsd3;
@@ -130745,7 +133102,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "postgresql-binary" = callPackage
+  "postgresql-binary_0_9_0_1" = callPackage
     ({ mkDerivation, aeson, base, base-prelude, binary-parser
      , bytestring, conversion, conversion-bytestring, conversion-text
      , either, foldl, json-ast, loch-th, placeholders, postgresql-libpq
@@ -130773,6 +133130,37 @@ self: {
        homepage = "https://github.com/nikita-volkov/postgresql-binary";
        description = "Encoders and decoders for the PostgreSQL's binary format";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "postgresql-binary" = callPackage
+    ({ mkDerivation, aeson, base, base-prelude, binary-parser
+     , bytestring, conversion, conversion-bytestring, conversion-text
+     , either, foldl, json-ast, loch-th, placeholders, postgresql-libpq
+     , QuickCheck, quickcheck-instances, rebase, scientific, tasty
+     , tasty-hunit, tasty-quickcheck, tasty-smallcheck, text, time
+     , transformers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-binary";
+       version = "0.9.1";
+       sha256 = "3b3bc4ecdc145e18e88775fbc0989f5bc5c94e58b6603cccfc024c10a423a109";
+       libraryHaskellDepends = [
+         aeson base base-prelude binary-parser bytestring foldl loch-th
+         placeholders scientific text time transformers uuid vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring conversion conversion-bytestring
+         conversion-text either json-ast loch-th placeholders
+         postgresql-libpq QuickCheck quickcheck-instances rebase scientific
+         tasty tasty-hunit tasty-quickcheck tasty-smallcheck text time
+         transformers uuid vector
+       ];
+       jailbreak = true;
+       doCheck = false;
+       homepage = "https://github.com/nikita-volkov/postgresql-binary";
+       description = "Encoders and decoders for the PostgreSQL's binary format";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "postgresql-config" = callPackage
@@ -131552,6 +133940,27 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "preliminaries" = callPackage
+    ({ mkDerivation, abstract-par, bifunctors, classy-prelude-conduit
+     , data-default, microlens-contra, microlens-platform, monad-par
+     , monad-parallel, mono-traversable-instances, mtl, parallel
+     , stm-conduit, string-conversions
+     }:
+     mkDerivation {
+       pname = "preliminaries";
+       version = "0.1.4.0";
+       sha256 = "50f7dc0e791e8c88674995729a46bf6d4b2d86bc88a0ce22d53968b18fb86e63";
+       libraryHaskellDepends = [
+         abstract-par bifunctors classy-prelude-conduit data-default
+         microlens-contra microlens-platform monad-par monad-parallel
+         mono-traversable-instances mtl parallel stm-conduit
+         string-conversions
+       ];
+       homepage = "http://github.com/kerscher/preliminaries";
+       description = "A larger alternative to the Prelude";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "prelude-compat" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -131867,6 +134276,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-types" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "pretty-types";
+       version = "0.1.1.0";
+       sha256 = "10f351d6c028ddaf745a4d17a3c3191c7e8d917ad1503b2339e7bd432d7f03f8";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/sheyll/pretty-types#readme";
+       description = "A small pretty printing DSL for complex types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "prettyFunctionComposing" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -132194,6 +134616,19 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "proc-net" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, network, unix }:
+     mkDerivation {
+       pname = "proc-net";
+       version = "1.0.0.2";
+       sha256 = "ff2fef989700770d1405abbd7d89d106b6cdae1c731e8b54107022a98521fd13";
+       libraryHaskellDepends = [
+         attoparsec base bytestring network unix
+       ];
+       description = "Parse /proc/net/ tcp,tcp6,udp,udp6";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "process_1_4_2_0" = callPackage
     ({ mkDerivation, base, deepseq, directory, filepath, unix }:
      mkDerivation {
@@ -133300,7 +135735,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "protolude" = callPackage
+  "protolude_0_1_6" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, deepseq
      , ghc-prim, mtl, safe, stm, text, transformers
      }:
@@ -133315,6 +135750,24 @@ self: {
        homepage = "https://github.com/sdiehl/protolude";
        description = "A sensible set of defaults for writing custom Preludes";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "protolude" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, deepseq
+     , ghc-prim, mtl, safe, stm, text, transformers
+     }:
+     mkDerivation {
+       pname = "protolude";
+       version = "0.1.7";
+       sha256 = "7b8386d3e6d15f477bbbe4e8901ae840509bb6d0d63c6e98f8ca7c13f2473b79";
+       libraryHaskellDepends = [
+         async base bytestring containers deepseq ghc-prim mtl safe stm text
+         transformers
+       ];
+       homepage = "https://github.com/sdiehl/protolude";
+       description = "A sensible set of defaults for writing custom Preludes";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "proton-haskell" = callPackage
@@ -133437,6 +135890,8 @@ self: {
        pname = "pseudo-boolean";
        version = "0.1.5.0";
        sha256 = "11db4cd25d452d126cc4761daeff4068a42070919939aec490f7a23fb8136876";
+       revision = "1";
+       editedCabalFile = "06425fb261d25e35ad80b858435efbc7fed38eb17c54793e6d57c77bf15ae250";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder containers deepseq
          dlist hashable megaparsec parsec
@@ -133445,7 +135900,6 @@ self: {
          base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
          tasty-th temporary
        ];
-       jailbreak = true;
        homepage = "https://github.com/msakai/pseudo-boolean";
        description = "Reading/Writing OPB/WBO files used in pseudo boolean competition";
        license = stdenv.lib.licenses.bsd3;
@@ -134698,8 +137152,8 @@ self: {
     ({ mkDerivation, base, qtah-generator, qtbase }:
      mkDerivation {
        pname = "qtah-cpp-qt5";
-       version = "0.1.1";
-       sha256 = "474d1add4e58ab817679d1d6d51508737c3f45d272836efbbf883bf600149cce";
+       version = "0.1.2";
+       sha256 = "1a99a2c0c5eb8cb60d162298600ee2bba993ce3224ac412cf9eeec386503e258";
        libraryHaskellDepends = [ base qtah-generator ];
        librarySystemDepends = [ qtbase ];
        homepage = "http://khumba.net/projects/qtah";
@@ -134734,8 +137188,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-generator";
-       version = "0.1.1";
-       sha256 = "10cf7128d9cd923fa677433222720770762b1c72fcd74b26d3174e9d7a7c028f";
+       version = "0.1.2";
+       sha256 = "77ef82acf21be83855ad04c40dfe6aa66439eb6f42f58774687c9d4f5f94c56f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
@@ -134756,8 +137210,8 @@ self: {
      }:
      mkDerivation {
        pname = "qtah-qt5";
-       version = "0.1.0";
-       sha256 = "9dd81185388e8f769e38e02eda9ea5a8b9d8f1c26e3dd15825b08d72385962e7";
+       version = "0.1.1";
+       sha256 = "1b6cf51a5e9bb730e3465b6ed6a2bf044c1e7122f948c59234ec20651dbc7033";
        libraryHaskellDepends = [
          base binary bytestring hoppy-runtime qtah-cpp-qt5 qtah-generator
        ];
@@ -135043,6 +137497,23 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "quickcheck-arbitrary-adt" = callPackage
+    ({ mkDerivation, base, hspec, lens, QuickCheck, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "quickcheck-arbitrary-adt";
+       version = "0.1.0.0";
+       sha256 = "d28cafb8aadeb8931076e3ba2565e9bcc1bbb51f57d54f301e3b524f83931e80";
+       libraryHaskellDepends = [ base QuickCheck ];
+       testHaskellDepends = [
+         base hspec lens QuickCheck template-haskell transformers
+       ];
+       homepage = "https://github.com/plow-technologies/quickcheck-arbitrary-adt#readme";
+       description = "Generic typeclasses for generating arbitrary ADTs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "quickcheck-assertions" = callPackage
     ({ mkDerivation, base, hspec, ieee754, QuickCheck }:
      mkDerivation {
@@ -136365,6 +138836,8 @@ self: {
        pname = "rasterific-svg";
        version = "0.3.1.2";
        sha256 = "83c90ea97d73f05003de2a4622ed26754fa52cb94a3341feada477713332a789";
+       revision = "1";
+       editedCabalFile = "1a66db5d85478533f4d6702dd36b158f464f3a725a365bcb68fefed59edfa586";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136419,8 +138892,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "0.3.0";
-       sha256 = "08e96d4ad35c562fd4bb651303ee527d0d2e83d45ea026060fec45e3aed6a3e7";
+       version = "0.3.1";
+       sha256 = "20178614b08e446c50717ba4988440ad342adc70dfa3ab51a1357057223f31fe";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
@@ -137052,7 +139525,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "read-env-var" = callPackage
+  "read-env-var_0_1_0_0" = callPackage
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "read-env-var";
@@ -137063,6 +139536,20 @@ self: {
        homepage = "https://github.com/cdepillabout/read-env-var#readme";
        description = "Functions for safely reading environment variables";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "read-env-var" = callPackage
+    ({ mkDerivation, base, doctest, Glob }:
+     mkDerivation {
+       pname = "read-env-var";
+       version = "0.1.0.1";
+       sha256 = "21962cca51ae11bacf7d92f1436cc76e76ff2d957fb81a0f7a8bcbcf1d0f2fe5";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base doctest Glob ];
+       homepage = "https://github.com/cdepillabout/read-env-var#readme";
+       description = "Functions for safely reading environment variables";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "readable" = callPackage
@@ -138875,7 +141362,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "relational-query" = callPackage
+  "relational-query_0_8_3_0" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, dlist
      , names-th, persistable-record, quickcheck-simple, sql-words
      , template-haskell, text, th-reify-compat, time, time-locale-compat
@@ -138896,6 +141383,30 @@ self: {
        homepage = "http://khibino.github.io/haskell-relational-record/";
        description = "Typeful, Modular, Relational, algebraic query engine";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "relational-query" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, dlist
+     , names-th, persistable-record, quickcheck-simple, sql-words
+     , template-haskell, text, th-reify-compat, time, time-locale-compat
+     , transformers
+     }:
+     mkDerivation {
+       pname = "relational-query";
+       version = "0.8.3.1";
+       sha256 = "58451604364d41e9ec1db6ab80064485a24b20917bc979e0de6fab71ec0c8375";
+       libraryHaskellDepends = [
+         array base bytestring containers dlist names-th persistable-record
+         sql-words template-haskell text th-reify-compat time
+         time-locale-compat transformers
+       ];
+       testHaskellDepends = [
+         base containers quickcheck-simple transformers
+       ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Typeful, Modular, Relational, algebraic query engine";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
@@ -139013,6 +141524,8 @@ self: {
        pname = "reload";
        version = "0.0.0.1";
        sha256 = "4515ad09d61062a04aa34f610bbc4d6176c5468081ca30ea971a3fec36160f50";
+       revision = "1";
+       editedCabalFile = "45a0c196afbd549ce9e298bdae1c74475ff6f94848e91add5690d3db6ebaa281";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139029,7 +141542,7 @@ self: {
          wai-handler-launch wai-middleware-static wai-websockets warp
          websockets
        ];
-       homepage = "https://github.com/jpmoresmau/dbIDE/reload#readme";
+       homepage = "https://github.com/jpmoresmau/reload#readme";
        description = "A web based Haskell IDE";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -139961,7 +142474,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "resourcet" = callPackage
+  "resourcet_1_1_7_4" = callPackage
     ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
      , mmorph, monad-control, mtl, transformers, transformers-base
      , transformers-compat
@@ -139978,6 +142491,26 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Deterministic allocation and freeing of scarce resources";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "resourcet" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
+     , mmorph, monad-control, mtl, transformers, transformers-base
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "resourcet";
+       version = "1.1.7.5";
+       sha256 = "05d30e225eb96a300718ec0534ffb03cb3bb8c7f87d463dbddb115d01c7f405a";
+       libraryHaskellDepends = [
+         base containers exceptions lifted-base mmorph monad-control mtl
+         transformers transformers-base transformers-compat
+       ];
+       testHaskellDepends = [ base hspec lifted-base transformers ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Deterministic allocation and freeing of scarce resources";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "respond" = callPackage
@@ -140044,6 +142577,8 @@ self: {
        pname = "rest-core";
        version = "0.39";
        sha256 = "d760d0547fc1a99cd949dde08b7945fb93af24f4e55d45ecf410c352d5005404";
+       revision = "1";
+       editedCabalFile = "49f387b0ae7279cc04bbb7975b729df487a3670e1dab896239359f5073f5f158";
        libraryHaskellDepends = [
          aeson aeson-utils base base-compat bytestring case-insensitive
          errors fclabels hxt hxt-pickle-utils json-schema mtl mtl-compat
@@ -140096,6 +142631,8 @@ self: {
        pname = "rest-gen";
        version = "0.19.0.3";
        sha256 = "9ed4224ed8de81c56000b6814724bfed46f4e7b8890fe5892d308b6edcab2e76";
+       revision = "1";
+       editedCabalFile = "d613ead87b1c5a0a7fee13c46dc42edf4c9e486277a14f1a3ce5314799963abd";
        libraryHaskellDepends = [
          aeson base base-compat blaze-html Cabal code-builder directory
          fclabels filepath hashable haskell-src-exts HStringTemplate hxt
@@ -140139,6 +142676,7 @@ self: {
          base base-compat bytestring case-insensitive rest-core safe
          snap-core unordered-containers uri-encode utf8-string
        ];
+       jailbreak = true;
        description = "Rest driver for Snap";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -140151,8 +142689,8 @@ self: {
        pname = "rest-stringmap";
        version = "0.2.0.6";
        sha256 = "66e5a32f04cfcf9826296b3c053c22caa745fd890ccc6ea9199c34529507524a";
-       revision = "3";
-       editedCabalFile = "33fa62a06fc1c77f4e77c603b0a19678eab9695402e20e56556c6fd090e332dd";
+       revision = "4";
+       editedCabalFile = "5ba1b7bef91969bc4d1319ab72e78b4063e1bbc9620787e7306b95b1390f9897";
        libraryHaskellDepends = [
          aeson base containers hashable hxt json-schema tostring
          unordered-containers
@@ -140170,6 +142708,8 @@ self: {
        pname = "rest-types";
        version = "1.14.1.1";
        sha256 = "b7e08e65bbae20bd891f0905c9c785184182172094673ab13e66499e4fe3969a";
+       revision = "1";
+       editedCabalFile = "8e9eca95758568488ae115f3a807ef05d309e193ecac3e740569eb43de37fc22";
        libraryHaskellDepends = [
          aeson base base-compat case-insensitive generic-aeson
          generic-xmlpickler hxt json-schema rest-stringmap text uuid
@@ -141008,6 +143548,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rlwe-challenges" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, containers
+     , directory, DRBG, filepath, http-client, http-conduit, lol
+     , MonadRandom, mtl, nist-beacon, options, parsec, protocol-buffers
+     , protocol-buffers-descriptor, reflection, tagged, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "rlwe-challenges";
+       version = "0.0.0.1";
+       sha256 = "6a4c81357d92850790834fd570cd32c50bf07f0d80cf5f1c402c044588dc76f5";
+       revision = "7";
+       editedCabalFile = "71843308056de4beca80a87b7585129e14f2da528abc559f328af1b1c039d0f1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base lol MonadRandom protocol-buffers protocol-buffers-descriptor
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base bytestring containers directory DRBG filepath
+         http-client http-conduit lol MonadRandom mtl nist-beacon options
+         parsec protocol-buffers reflection tagged time transformers
+       ];
+       homepage = "https://github.com/cpeikert/Lol";
+       description = "Ring-LWE/LWR challenges using Lol";
+       license = stdenv.lib.licenses.gpl2;
+     }) {};
+
   "rmonad" = callPackage
     ({ mkDerivation, base, containers, HUnit, suitable, test-framework
      , test-framework-hunit, transformers
@@ -141468,12 +144036,17 @@ self: {
      }) {};
 
   "roundRobin" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, QuickCheck, semigroups, tasty
+     , tasty-quickcheck
+     }:
      mkDerivation {
        pname = "roundRobin";
-       version = "0.1.1.0";
-       sha256 = "a0cea3a792d4a4286a574e40694bc913ba0c77b5ba21d47142b117917e5b94b2";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.2.0";
+       sha256 = "c7a1f44b113fb03e66415962ab240fdfb9d60c805a237084a13b29b65809ecdf";
+       libraryHaskellDepends = [ base semigroups ];
+       testHaskellDepends = [
+         base QuickCheck semigroups tasty tasty-quickcheck
+       ];
        description = "A simple round-robin data type";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -142011,6 +144584,27 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "ruin" = callPackage
+    ({ mkDerivation, base, binary, cereal, deepseq, ghc-prim, hspec
+     , lens, mtl, optparse-applicative, parsec, should-not-typecheck
+     , smallcheck, template-haskell, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ruin";
+       version = "0.1.0.1";
+       sha256 = "d3b7ac795311de47acc72cad716b27fbe82b083dfd8528c508a0c455f155541d";
+       libraryHaskellDepends = [
+         base binary cereal deepseq ghc-prim parsec template-haskell
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base hspec lens mtl optparse-applicative should-not-typecheck
+         smallcheck template-haskell
+       ];
+       description = "Pliable records";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ruler" = callPackage
     ({ mkDerivation, base, containers, mtl, shuffle, uhc-util, uuagc
      , uuagc-cabal, uulib
@@ -142373,6 +144967,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "safepath" = callPackage
+    ({ mkDerivation, base, doctest, text, validity }:
+     mkDerivation {
+       pname = "safepath";
+       version = "0.1.0.0";
+       sha256 = "72652946831f67add13a8d16a0597d49292495628b9929e756345d2f8206e8f2";
+       libraryHaskellDepends = [ base text validity ];
+       testHaskellDepends = [ base doctest ];
+       homepage = "https://github.com/githubuser/safepath#readme";
+       description = "Safe Paths in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "safer-file-handles" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, explicit-iomodes
      , pathtype, regional-pointers, regions, transformers
@@ -143752,8 +146359,8 @@ self: {
        pname = "scotty";
        version = "0.11.0";
        sha256 = "892203c937ccf1279f5005ddb78ebea84629b80687a1e38fc118b38011a386ed";
-       revision = "2";
-       editedCabalFile = "d26457a20e549b7577daf798b5bd7cdfca4e6b21e39b345175b7841e7660d22e";
+       revision = "3";
+       editedCabalFile = "03a2f153eb5cf597435251169e49c42066b4ee058fd20d31e2cecec52e6578bc";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
          data-default-class fail http-types monad-control mtl nats network
@@ -145498,8 +148105,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.3.0.0";
-       sha256 = "8f93e254ea5c09319b0636694a323d2a817d7b606631e3cccdf1bc8c5770659a";
+       version = "0.3.0.3";
+       sha256 = "50b7a4e28ccd95169f1eb0159c302ea517c68cf35f57507ea59a2dea8ddc4474";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -145528,14 +148135,13 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-token";
-       version = "0.1.0.0";
-       sha256 = "8e024143fc82d5564b4408c5e4fae964261002e52aa7b0a7a67e1154d114dccc";
+       version = "0.2.0.1";
+       sha256 = "25fe8eaeb71fb33a9406b15c93bac7c342eef6b7d7d939c42865b1f4fae5d6f0";
        libraryHaskellDepends = [
          aeson-injector base bytestring containers mtl persistent
          persistent-postgresql persistent-template pwstore-fast
          servant-auth-token-api servant-server text time transformers uuid
        ];
-       jailbreak = true;
        homepage = "https://github.com/ncrashed/servant-auth-token#readme";
        description = "Servant based API and server for token based authorisation";
        license = stdenv.lib.licenses.bsd3;
@@ -145547,8 +148153,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-token-api";
-       version = "0.1.2.0";
-       sha256 = "3f63d151599a7f52a8d097ec9bc1bed5303246a8ab46562add9fc32a74836335";
+       version = "0.2.1.0";
+       sha256 = "c0e5a437cce5e636dbb9a6b4e4d3fafa66ade9d59e0264fe520227796977d33a";
        libraryHaskellDepends = [
          aeson aeson-injector base lens servant servant-docs servant-swagger
          swagger2 text
@@ -145564,8 +148170,8 @@ self: {
        pname = "servant-blaze";
        version = "0.7.1";
        sha256 = "90ed1c7a22b83bee344ef3896203f3699b7633bf986ffa064752c3596c072646";
-       revision = "1";
-       editedCabalFile = "90e239eb13bad18f9a41521580ff97f95550db33b0404f0a3ba04593fa6dee88";
+       revision = "2";
+       editedCabalFile = "a71af15b94933ca8330922f24c10bd5da0de630b8ff364d830c43c3cfa35b7e3";
        libraryHaskellDepends = [ base blaze-html http-media servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Blaze-html support for servant";
@@ -146261,19 +148867,41 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-smsc-ru" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client
+     , http-client-tls, HUnit, mtl, QuickCheck, quickcheck-text
+     , scientific, servant, servant-client, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "servant-smsc-ru";
+       version = "0.1.0.0";
+       sha256 = "f6a7bc5824cc76a3aa1650f0d729d0dd5d4657f6d68898c4d6ea260a31f8e5ed";
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-client-tls mtl scientific
+         servant servant-client text transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring HUnit QuickCheck quickcheck-text tasty
+         tasty-hunit tasty-quickcheck text
+       ];
+       homepage = "https://github.com/NCrashed/servant-smsc-ru#readme";
+       description = "Servant client for smsc.ru service for sending SMS to cell phones";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "servant-subscriber" = callPackage
-    ({ mkDerivation, aeson, aeson-compat, async, attoparsec, base
-     , base-compat, blaze-builder, blaze-html, blaze-markup, bytestring
-     , case-insensitive, containers, directory, filepath, hspec
-     , http-media, http-types, lens, lifted-base, lucid, monad-control
-     , monad-logger, mtl, network-uri, purescript-bridge, servant
-     , servant-foreign, servant-server, stm, string-conversions, text
-     , time, transformers, wai, wai-websockets, warp, websockets
+    ({ mkDerivation, aeson, async, attoparsec, base, blaze-builder
+     , bytestring, case-insensitive, containers, directory, filepath
+     , http-types, lens, lifted-base, monad-control, monad-logger
+     , network-uri, purescript-bridge, servant, servant-foreign
+     , servant-server, stm, text, time, transformers, wai
+     , wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "servant-subscriber";
-       version = "0.2.0.1";
-       sha256 = "2e4f7084e8fd8caaee9cb7d8e37d9466c78a49e83e846e147a4727a60d4330df";
+       version = "0.3.0.0";
+       sha256 = "63096205ce9465ba113d4b1f8823036b0a68f7190682e5e80464114e2595ac37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146284,11 +148912,6 @@ self: {
          wai-websockets warp websockets
        ];
        executableHaskellDepends = [ base purescript-bridge ];
-       testHaskellDepends = [
-         aeson aeson-compat attoparsec base base-compat blaze-html
-         blaze-markup bytestring directory hspec http-media lucid mtl
-         servant-foreign servant-server string-conversions time wai warp
-       ];
        homepage = "http://github.com/eskimor/servant-subscriber#readme";
        description = "When REST is not enough ...";
        license = stdenv.lib.licenses.bsd3;
@@ -146521,6 +149144,7 @@ self: {
          base bytestring nonce path-pieces serversession snap snap-core text
          time transformers unordered-containers
        ];
+       jailbreak = true;
        homepage = "https://github.com/yesodweb/serversession";
        description = "Snap bindings for serversession";
        license = stdenv.lib.licenses.mit;
@@ -147689,14 +150313,15 @@ self: {
 
   "shellmate" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, process
-     , temporary, transformers
+     , temporary, transformers, unix
      }:
      mkDerivation {
        pname = "shellmate";
-       version = "0.3.2.2";
-       sha256 = "e764d74052e75c7a35eec576ee3452bedfa1939b5947d42056e48acca724e36d";
+       version = "0.3.3";
+       sha256 = "4b104089f1c46f05c1c86592ecfeee507092106d862c31c6ca4d95e52180c689";
        libraryHaskellDepends = [
          base bytestring directory filepath process temporary transformers
+         unix
        ];
        homepage = "https://github.com/valderman/shellmate";
        description = "Simple interface for shell scripting in Haskell";
@@ -147709,8 +150334,8 @@ self: {
      }:
      mkDerivation {
        pname = "shellmate-extras";
-       version = "0.3.2";
-       sha256 = "60dc69eb1ba7eab6481e7701941ca4f3a595f5ed1871ed6b5329f74ff1dd5dd5";
+       version = "0.3.3";
+       sha256 = "fa3ade318f08c7b4d21bff10a82703480fb9ee3e572083be5cb99c0974e7a6a3";
        libraryHaskellDepends = [
          base bytestring feed HTTP mime-types network-uri shellmate tagsoup
          text xml
@@ -148815,6 +151440,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "simple-zipper" = callPackage
+    ({ mkDerivation, base, hspec, lens }:
+     mkDerivation {
+       pname = "simple-zipper";
+       version = "0.1.0.0";
+       sha256 = "5effbfc34606e59f411e4f49e1574d841722d89f5e0023e37ec49f602e4e25aa";
+       libraryHaskellDepends = [ base lens ];
+       testHaskellDepends = [ base hspec lens ];
+       homepage = "https://github.com/DanielWaterworth/simple-zipper";
+       description = "Zippers made slightly easier";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "simpleargs" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -149201,18 +151839,19 @@ self: {
      }) {};
 
   "sized" = callPackage
-    ({ mkDerivation, base, constraints, containers, ListLike
-     , monomorphic, type-natural, vector
+    ({ mkDerivation, base, constraints, containers, deepseq
+     , equational-reasoning, hashable, lens, ListLike, mono-traversable
+     , monomorphic, singletons, type-natural, vector
      }:
      mkDerivation {
        pname = "sized";
-       version = "0.1.0.0";
-       sha256 = "14beecab5676c30cec8b3a94e60feb9752ebeb8ca9a520896f868d39cf72c902";
+       version = "0.2.0.0";
+       sha256 = "31f9233885bbe758a4c2f890e65695e11c64abdc12b6d4931427570cd7d4587c";
        libraryHaskellDepends = [
-         base constraints containers ListLike monomorphic type-natural
+         base constraints containers deepseq equational-reasoning hashable
+         lens ListLike mono-traversable monomorphic singletons type-natural
          vector
        ];
-       jailbreak = true;
        description = "Sized sequence data-types";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
@@ -149505,7 +152144,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "slave-thread" = callPackage
+  "slave-thread_1_0_1_1" = callPackage
     ({ mkDerivation, base, base-prelude, HTF, list-t, mmorph
      , partial-handler, QuickCheck, quickcheck-instances, SafeSemaphore
      , stm-containers, transformers
@@ -149521,10 +152160,33 @@ self: {
        testHaskellDepends = [
          base base-prelude HTF QuickCheck quickcheck-instances SafeSemaphore
        ];
+       jailbreak = true;
        doCheck = false;
        homepage = "https://github.com/nikita-volkov/slave-thread";
        description = "A principal solution to ghost threads and silent exceptions";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "slave-thread" = callPackage
+    ({ mkDerivation, base, base-prelude, HTF, list-t, mmorph
+     , partial-handler, QuickCheck, quickcheck-instances, SafeSemaphore
+     , stm-containers, transformers
+     }:
+     mkDerivation {
+       pname = "slave-thread";
+       version = "1.0.2";
+       sha256 = "e47120598dd65ebee33253911a31518021323a5ccfa52588e13c44fd5f5b4b13";
+       libraryHaskellDepends = [
+         base base-prelude list-t mmorph partial-handler stm-containers
+         transformers
+       ];
+       testHaskellDepends = [
+         base base-prelude HTF QuickCheck quickcheck-instances SafeSemaphore
+       ];
+       homepage = "https://github.com/nikita-volkov/slave-thread";
+       description = "A principal solution to ghost threads and silent exceptions";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "sleep" = callPackage
@@ -149574,6 +152236,7 @@ self: {
          aeson base bytestring MonadCatchIO-transformers mtl pandoc
          snap-core snap-server utf8-string
        ];
+       jailbreak = true;
        description = "ws convert markdown to reveal-js";
        license = "GPL";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -149630,7 +152293,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "slug" = callPackage
+  "slug_0_1_4" = callPackage
     ({ mkDerivation, aeson, base, exceptions, path-pieces, persistent
      , QuickCheck, test-framework, test-framework-quickcheck2, text
      }:
@@ -149648,6 +152311,27 @@ self: {
        homepage = "https://github.com/mrkkrp/slug";
        description = "Type-safe slugs for Yesod ecosystem";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "slug" = callPackage
+    ({ mkDerivation, aeson, base, exceptions, path-pieces, persistent
+     , QuickCheck, test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "slug";
+       version = "0.1.5";
+       sha256 = "6bc271612759fd9a415ee382b620b0f5b1154c762eb3469a409dafd5f35282fc";
+       libraryHaskellDepends = [
+         aeson base exceptions path-pieces persistent text
+       ];
+       testHaskellDepends = [
+         base exceptions path-pieces QuickCheck test-framework
+         test-framework-quickcheck2 text
+       ];
+       homepage = "https://github.com/mrkkrp/slug";
+       description = "Type-safe slugs for Yesod ecosystem";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "smallarray" = callPackage
@@ -149898,7 +152582,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "smoothie" = callPackage
+  "smoothie_0_4_2_2" = callPackage
     ({ mkDerivation, aeson, base, linear, text, vector }:
      mkDerivation {
        pname = "smoothie";
@@ -149908,6 +152592,19 @@ self: {
        homepage = "https://github.com/phaazon/smoothie";
        description = "Smooth curves via several interpolation modes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "smoothie" = callPackage
+    ({ mkDerivation, aeson, base, linear, text, vector }:
+     mkDerivation {
+       pname = "smoothie";
+       version = "0.4.2.3";
+       sha256 = "ae9f1fd411fc6c57ce4f3d51f23f96ef6cc8362a3df3f932e0fcfa988029e84d";
+       libraryHaskellDepends = [ aeson base linear text vector ];
+       homepage = "https://github.com/phaazon/smoothie";
+       description = "Smooth curves via several interpolation modes";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "smsaero" = callPackage
@@ -150073,7 +152770,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "snap" = callPackage
+  "snap_0_14_0_7" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
      , clientsession, comonad, configurator, containers, directory
      , directory-tree, dlist, either, filepath, hashable, heist, lens
@@ -150107,6 +152804,43 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "snap" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring, cereal
+     , clientsession, configurator, containers, deepseq, directory
+     , directory-tree, dlist, filepath, Glob, hashable, heist
+     , http-streams, HUnit, lens, lifted-base, map-syntax, monad-control
+     , mtl, mwc-random, pwstore-fast, QuickCheck, smallcheck, snap-core
+     , snap-server, stm, syb, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, test-framework-smallcheck, text, time
+     , transformers, transformers-base, unordered-containers, xmlhtml
+     }:
+     mkDerivation {
+       pname = "snap";
+       version = "1.0.0.0";
+       sha256 = "95f568ce5a4a688076fd1b035fa32a7a243f85dda56260cd95b917f391d69101";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring cereal clientsession configurator
+         containers directory directory-tree dlist filepath hashable heist
+         lens lifted-base map-syntax monad-control mtl mwc-random
+         pwstore-fast snap-core snap-server stm text time transformers
+         transformers-base unordered-containers xmlhtml
+       ];
+       testHaskellDepends = [
+         aeson async attoparsec base bytestring cereal clientsession
+         configurator containers deepseq directory directory-tree dlist
+         filepath Glob hashable heist http-streams HUnit lens lifted-base
+         map-syntax monad-control mtl mwc-random pwstore-fast QuickCheck
+         smallcheck snap-core snap-server stm syb test-framework
+         test-framework-hunit test-framework-quickcheck2
+         test-framework-smallcheck text time transformers transformers-base
+         unordered-containers xmlhtml
+       ];
+       homepage = "http://snapframework.com/";
+       description = "Top-level package for the Snap Web Framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "snap-accept" = callPackage
     ({ mkDerivation, base, http-media, snap-core }:
      mkDerivation {
@@ -150158,8 +152892,8 @@ self: {
     ({ mkDerivation, base, blaze-html, snap-core }:
      mkDerivation {
        pname = "snap-blaze";
-       version = "0.2.1.3";
-       sha256 = "95d6ef50ff08d7b1883ab65acb4729a8dbec6b770f9f31799870b5fdf0f4f14a";
+       version = "0.2.1.4";
+       sha256 = "381a8cf8f211be77b9d52c2aa6b880e7059384fe0124c69d704040b0c016302b";
        libraryHaskellDepends = [ base blaze-html snap-core ];
        homepage = "http://github.com/jaspervdj/snap-blaze";
        description = "blaze-html integration for Snap";
@@ -150193,7 +152927,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "snap-core" = callPackage
+  "snap-core_0_9_8_0" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-enumerator, base
      , blaze-builder, blaze-builder-enumerator, bytestring
      , bytestring-mmap, case-insensitive, containers, deepseq, directory
@@ -150217,6 +152951,41 @@ self: {
        homepage = "http://snapframework.com/";
        description = "Snap: A Haskell Web Framework (core interfaces and types)";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-core" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, bytestring-builder
+     , case-insensitive, containers, deepseq, directory, filepath
+     , hashable, HUnit, io-streams, lifted-base, monad-control, mtl
+     , old-locale, parallel, QuickCheck, random, readable, regex-posix
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time, transformers, transformers-base, unix-compat
+     , unordered-containers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "snap-core";
+       version = "1.0.0.0";
+       sha256 = "9c35a657fc0debbe9df605d7528ce4645c0b4bc4b94b0134116f6746fe980adb";
+       libraryHaskellDepends = [
+         attoparsec base bytestring bytestring-builder case-insensitive
+         containers directory filepath HUnit io-streams lifted-base
+         monad-control mtl old-locale random readable regex-posix text time
+         transformers transformers-base unix-compat unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring bytestring-builder case-insensitive
+         containers deepseq directory filepath hashable HUnit io-streams
+         lifted-base monad-control mtl old-locale parallel QuickCheck random
+         readable regex-posix test-framework test-framework-hunit
+         test-framework-quickcheck2 text time transformers transformers-base
+         unix-compat unordered-containers vector zlib
+       ];
+       doCheck = false;
+       homepage = "http://snapframework.com/";
+       description = "Snap: A Haskell Web Framework (core interfaces and types)";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "snap-cors" = callPackage
@@ -150310,12 +153079,11 @@ self: {
      }:
      mkDerivation {
        pname = "snap-language";
-       version = "0.1.0.0";
-       sha256 = "a8b4de97769afd815ebde10ad778ad20d9ba81883680e1a2514a7989bce32a41";
+       version = "0.1.0.2";
+       sha256 = "9812f257776f36f2a160c211d64f7320473279acdab411c44bf45a411b4ca936";
        libraryHaskellDepends = [
          attoparsec base bytestring containers snap-core
        ];
-       jailbreak = true;
        homepage = "https://github.com/jonpetterbergman/snap-accept-language";
        description = "Language handling for Snap";
        license = stdenv.lib.licenses.bsd3;
@@ -150327,15 +153095,14 @@ self: {
      }:
      mkDerivation {
        pname = "snap-loader-dynamic";
-       version = "0.10.0.4";
-       sha256 = "f502f7cae63c5ee5c26be5a5e751fc211d922193dc88b3bae9ab447b70b659c0";
+       version = "1.0.0.0";
+       sha256 = "8f1770de14e3039eb78f5455e69bdf40c9b1aa5b5d831810abd4f1eb67abfb8b";
        libraryHaskellDepends = [
          base directory directory-tree hint mtl snap-core template-haskell
          time unix
        ];
-       jailbreak = true;
        homepage = "http://snapframework.com/";
-       description = "Snap: A Haskell Web Framework: dynamic loader";
+       description = "Snap dynamic loader";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -150344,14 +153111,11 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "snap-loader-static";
-       version = "0.9.0.2";
-       sha256 = "357cde7b671a623d0d0b6b6a658a900bba74d886bb43c0a714daf9ec8d3dda34";
-       revision = "1";
-       editedCabalFile = "c927448783c28f56bd57c7b09d147965b96e7b4c7320524b26c83bf10ab89c21";
+       version = "1.0.0.0";
+       sha256 = "5af51d870fc96823eb063aff1bd0db5b70fac140a2226d97473c804090752912";
        libraryHaskellDepends = [ base template-haskell ];
-       jailbreak = true;
        homepage = "http://snapframework.com/";
-       description = "Snap: A Haskell Web Framework: static loader";
+       description = "Snap static loader";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -150400,7 +153164,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "snap-server" = callPackage
+  "snap-server_0_9_5_1" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-enumerator, base
      , blaze-builder, blaze-builder-enumerator, bytestring
      , case-insensitive, containers, enumerator, HsOpenSSL
@@ -150424,6 +153188,63 @@ self: {
        homepage = "http://snapframework.com/";
        description = "A fast, iteratee-based, epoll-enabled web server for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "snap-server" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , bytestring, bytestring-builder, case-insensitive, clock
+     , containers, deepseq, directory, filepath, HsOpenSSL, http-common
+     , http-streams, HUnit, io-streams, io-streams-haproxy, lifted-base
+     , monad-control, mtl, network, old-locale, openssl-streams
+     , parallel, QuickCheck, random, snap-core, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, threads
+     , time, transformers, unix, unix-compat, vector
+     }:
+     mkDerivation {
+       pname = "snap-server";
+       version = "1.0.0.0";
+       sha256 = "dd92414cf5005f548d54ed246c1de92ce47f7f75e1a160ff31a590f9fa50aa61";
+       configureFlags = [ "-fopenssl" ];
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder bytestring bytestring-builder
+         case-insensitive clock containers filepath HsOpenSSL io-streams
+         io-streams-haproxy lifted-base mtl network old-locale
+         openssl-streams snap-core text time unix unix-compat vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base16-bytestring blaze-builder bytestring
+         bytestring-builder case-insensitive clock containers deepseq
+         directory filepath HsOpenSSL http-common http-streams HUnit
+         io-streams io-streams-haproxy lifted-base monad-control mtl network
+         old-locale openssl-streams parallel QuickCheck random snap-core
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         threads time transformers unix unix-compat vector
+       ];
+       doCheck = false;
+       homepage = "http://snapframework.com/";
+       description = "A web server for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "snap-templates" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , directory-tree, filepath, hashable, old-time, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "snap-templates";
+       version = "1.0.0.0";
+       sha256 = "f6289348179d07721f6edc1dbe19bcfe989de0dd2945962c455e2ce113d2561b";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring containers directory directory-tree filepath
+         hashable old-time template-haskell text
+       ];
+       homepage = "http://snapframework.com/";
+       description = "Scaffolding CLI for the Snap Framework";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "snap-testing" = callPackage
@@ -150936,20 +153757,18 @@ self: {
 
   "snaplet-postgresql-simple" = callPackage
     ({ mkDerivation, base, bytestring, clientsession, configurator
-     , lens, MonadCatchIO-transformers, mtl, postgresql-simple
-     , resource-pool-catchio, snap, text, transformers
+     , lens, lifted-base, monad-control, mtl, postgresql-simple
+     , resource-pool, snap, text, transformers, transformers-base
      , unordered-containers
      }:
      mkDerivation {
        pname = "snaplet-postgresql-simple";
-       version = "0.6.0.4";
-       sha256 = "44cca67347a81257533edc9570bf9303081a11d40e8000390a75f3f48e071687";
-       revision = "2";
-       editedCabalFile = "0461cfe249bc8f9b3fd32715e66ed38d0b67805f9ac8d3d2fb6782fd7fe34c94";
+       version = "1.0";
+       sha256 = "79ecdd55c04ef2f3f6a7ba4c21eb7f2c42c824fe016b6308623b81257d96c22d";
        libraryHaskellDepends = [
-         base bytestring clientsession configurator lens
-         MonadCatchIO-transformers mtl postgresql-simple
-         resource-pool-catchio snap text transformers unordered-containers
+         base bytestring clientsession configurator lens lifted-base
+         monad-control mtl postgresql-simple resource-pool snap text
+         transformers transformers-base unordered-containers
        ];
        jailbreak = true;
        homepage = "https://github.com/mightybyte/snaplet-postgresql-simple";
@@ -150988,6 +153807,7 @@ self: {
          base configurator mtl raw-strings-qq shelly snap snap-core
          string-conv text transformers
        ];
+       jailbreak = true;
        description = "Automatic (re)compilation of purescript projects";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -151006,6 +153826,7 @@ self: {
          aeson base blaze-builder bytestring configurator heist http-conduit
          lens MonadCatchIO-transformers mtl snap text transformers
        ];
+       jailbreak = true;
        homepage = "http://github.com/mikeplus64/snaplet-recaptcha";
        description = "A ReCAPTCHA verification snaplet with Heist integration and connection sharing";
        license = stdenv.lib.licenses.bsd3;
@@ -151111,6 +153932,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "snaplet-scoped-session" = callPackage
+    ({ mkDerivation, async, base, classy-prelude, configurator
+     , data-default, lens, mtl, snap, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "snaplet-scoped-session";
+       version = "0.1.1";
+       sha256 = "06c7b93f64d9c287e5412288398237a19e124265c2efc4f452cf7904159a7f2f";
+       libraryHaskellDepends = [
+         async base classy-prelude configurator data-default lens mtl snap
+         time unordered-containers
+       ];
+       homepage = "https://github.com/JustusAdam/snaplet-scoped-session#readme";
+       description = "Modularised session state for Snaplets, in a Snaplet";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "snaplet-sedna" = callPackage
     ({ mkDerivation, base, bytestring, containers, monad-control, mtl
      , resource-pool, sednaDBXML, snap
@@ -151606,7 +154444,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "socket" = callPackage
+  "socket_0_6_0_1" = callPackage
     ({ mkDerivation, async, base, bytestring }:
      mkDerivation {
        pname = "socket";
@@ -151617,6 +154455,39 @@ self: {
        homepage = "https://github.com/lpeterse/haskell-socket";
        description = "An extensible socket library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "socket" = callPackage
+    ({ mkDerivation, async, base, bytestring, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "socket";
+       version = "0.6.1.0";
+       sha256 = "c010f5b5c705483f52a8c1d45f07f57b49e8b61c07187bc3e50d658c72c409e6";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [ async base bytestring tasty tasty-hunit ];
+       homepage = "https://github.com/lpeterse/haskell-socket";
+       description = "An extensible socket library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "socket_0_6_2_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "socket";
+       version = "0.6.2.0";
+       sha256 = "c7aed50b213c56c03f22a537acfd794e99564f50f412ec2dcaee6dd9cd9bad1c";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         async base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/lpeterse/haskell-socket";
+       description = "An extensible socket library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "socket-activation" = callPackage
@@ -152425,15 +155296,12 @@ self: {
      }:
      mkDerivation {
        pname = "species";
-       version = "0.3.4.2";
-       sha256 = "9e1683448aa2152561c65b02fb832e366ce9f47542e5e963abd82d5e08eeb11f";
-       revision = "1";
-       editedCabalFile = "397aa0a55ea7021bec1f866b9dde980b9ae67319ae2838339f865babf856c431";
+       version = "0.4";
+       sha256 = "b632c9b03fa580e5206b3cd9ca9124a6b953acde83e7564e30c6a20260a6c912";
        libraryHaskellDepends = [
          base containers multiset-comb np-extras numeric-prelude
          template-haskell
        ];
-       jailbreak = true;
        description = "Computational combinatorial species";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
@@ -153101,12 +155969,14 @@ self: {
      }:
      mkDerivation {
        pname = "sqlite";
-       version = "0.5.3";
-       sha256 = "fe07fb757e8d579e6f9fbfe76659dbb4249ffec234e306848f54a1781df187c2";
+       version = "0.5.5";
+       sha256 = "d3bfd3754622ab17fe2b4315402d12fdfd3b5445de741716b75655aebd9b4bc4";
        libraryHaskellDepends = [
          base bytestring directory pretty time utf8-string
        ];
        librarySystemDepends = [ sqlite ];
+       testHaskellDepends = [ base ];
+       homepage = "http://github.com/GaloisInc/sqlite";
        description = "Haskell binding to sqlite3";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) sqlite;};
@@ -153504,8 +156374,8 @@ self: {
      }:
      mkDerivation {
        pname = "stache";
-       version = "0.1.4";
-       sha256 = "43638fcebb20101edbb4b0e7919eae44f2021754fcb7aa6b145df5f91db203dd";
+       version = "0.1.6";
+       sha256 = "078e223a2549f08ee48b2c9d40f7242992b5870e02eef2f9ef1ea8d542ff4e36";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory exceptions
          filepath megaparsec mtl template-haskell text unordered-containers
@@ -153544,8 +156414,8 @@ self: {
        pname = "stack";
        version = "1.1.2";
        sha256 = "fc836b24fdeac54244fc79b6775d5edee146b7e552ad8e69596c7cc2f2b10625";
-       revision = "6";
-       editedCabalFile = "9b8c21c5af64fe74772ea3f17e2a1fe8d295a083948e6631bbaa81f3305b2d95";
+       revision = "7";
+       editedCabalFile = "af269ebe5ac7a096cd4b44af570643c1e48444a4b9eb01dc8f97c8fb53eea55f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -154605,13 +157475,12 @@ self: {
     ({ mkDerivation, base, Cabal, cabal-test-quickcheck, QuickCheck }:
      mkDerivation {
        pname = "step-function";
-       version = "0.1.1.0";
-       sha256 = "cdfdc05d8724f5ccea56fe600730943b30827c44e032913f865855fa42bded0e";
+       version = "0.1.1.1";
+       sha256 = "9ef61ac680115f602520b23b53ec2d0232860c8baf1e2f7735259cc001287e05";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base Cabal cabal-test-quickcheck QuickCheck
        ];
-       jailbreak = true;
        homepage = "https://github.com/jonpetterbergman/step-function";
        description = "Step functions, staircase functions or piecewise constant functions";
        license = stdenv.lib.licenses.bsd3;
@@ -154787,7 +157656,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "stm-containers" = callPackage
+  "stm-containers_0_2_14" = callPackage
     ({ mkDerivation, base, base-prelude, focus, free, hashable, HTF
      , list-t, loch-th, mtl, mtl-prelude, placeholders, primitive
      , QuickCheck, transformers, unordered-containers
@@ -154804,10 +157673,34 @@ self: {
          mtl-prelude placeholders primitive QuickCheck transformers
          unordered-containers
        ];
+       jailbreak = true;
        doCheck = false;
        homepage = "https://github.com/nikita-volkov/stm-containers";
        description = "Containers for STM";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "stm-containers" = callPackage
+    ({ mkDerivation, base, base-prelude, focus, free, hashable, HTF
+     , list-t, loch-th, mtl, mtl-prelude, placeholders, primitive
+     , QuickCheck, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "stm-containers";
+       version = "0.2.15";
+       sha256 = "452483bcbe131475c216a463b67c3c43011a3e26493e0365379ce2ba6bd6b2e0";
+       libraryHaskellDepends = [
+         base base-prelude focus hashable list-t primitive transformers
+       ];
+       testHaskellDepends = [
+         base base-prelude focus free hashable HTF list-t loch-th mtl
+         mtl-prelude placeholders primitive QuickCheck transformers
+         unordered-containers
+       ];
+       homepage = "https://github.com/nikita-volkov/stm-containers";
+       description = "Containers for STM";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "stm-delay" = callPackage
@@ -155179,36 +158072,38 @@ self: {
      }) {};
 
   "store" = callPackage
-    ({ mkDerivation, array, base, base-orphans, bytestring, cereal
-     , cereal-vector, conduit, containers, criterion, cryptohash
-     , deepseq, fail, ghc-prim, hashable, hspec, hspec-smallcheck
-     , integer-gmp, lifted-base, monad-control, mono-traversable
-     , primitive, resourcet, safe, semigroups, smallcheck, store-core
-     , syb, template-haskell, text, th-lift, th-lift-instances
-     , th-orphans, th-reify-many, th-utilities, time, transformers
-     , unordered-containers, vector, vector-binary-instances, void
-     , weigh
+    ({ mkDerivation, array, base, base-orphans, base64-bytestring
+     , bytestring, cereal, cereal-vector, conduit, containers, criterion
+     , cryptohash, deepseq, directory, fail, filepath, ghc-prim
+     , hashable, hspec, hspec-smallcheck, integer-gmp, lifted-base
+     , monad-control, mono-traversable, primitive, resourcet, safe
+     , semigroups, smallcheck, store-core, syb, template-haskell, text
+     , th-lift, th-lift-instances, th-orphans, th-reify-many
+     , th-utilities, time, transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
      }:
      mkDerivation {
        pname = "store";
-       version = "0.2.0.0";
-       sha256 = "d00fc9a44436e24a14e26a0a838a7639ed3de8fa391d0aeab1374adae011653c";
+       version = "0.2.1.0";
+       sha256 = "8f6724dc7fcf97af160106bc546d33b07ac290c81349a6c72b5db18dea6a8d6d";
        libraryHaskellDepends = [
-         array base base-orphans bytestring conduit containers cryptohash
-         deepseq fail ghc-prim hashable hspec hspec-smallcheck integer-gmp
-         lifted-base monad-control mono-traversable primitive resourcet safe
-         semigroups smallcheck store-core syb template-haskell text th-lift
+         array base base-orphans base64-bytestring bytestring conduit
+         containers cryptohash deepseq directory fail filepath ghc-prim
+         hashable hspec hspec-smallcheck integer-gmp lifted-base
+         monad-control mono-traversable primitive resourcet safe semigroups
+         smallcheck store-core syb template-haskell text th-lift
          th-lift-instances th-orphans th-reify-many th-utilities time
          transformers unordered-containers vector void
        ];
        testHaskellDepends = [
-         array base base-orphans bytestring cereal cereal-vector conduit
-         containers criterion cryptohash deepseq fail ghc-prim hashable
-         hspec hspec-smallcheck integer-gmp lifted-base monad-control
-         mono-traversable primitive resourcet safe semigroups smallcheck
-         store-core syb template-haskell text th-lift th-lift-instances
-         th-orphans th-reify-many th-utilities time transformers
-         unordered-containers vector vector-binary-instances void weigh
+         array base base-orphans base64-bytestring bytestring cereal
+         cereal-vector conduit containers criterion cryptohash deepseq
+         directory fail filepath ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable primitive
+         resourcet safe semigroups smallcheck store-core syb
+         template-haskell text th-lift th-lift-instances th-orphans
+         th-reify-many th-utilities time transformers unordered-containers
+         vector vector-binary-instances void weigh
        ];
        doCheck = false;
        homepage = "https://github.com/fpco/store#readme";
@@ -155287,8 +158182,8 @@ self: {
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.1.3";
-       sha256 = "d81a3de21692d6d326306b8c427598a4cc7642ed5ecd158c413d183c86e0b694";
+       version = "0.1.4";
+       sha256 = "2ca934bbc3d43c9df9ffc950dcf49873a23f428081607880f4458d5c69285de3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -156186,8 +159081,8 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "3.0.0";
-       sha256 = "9fa6409127c240846e11d1c7e8746dfa6f5713af90db46cc60f6ff05507556b0";
+       version = "3.0.1";
+       sha256 = "3a03d0b5c1ac8121be624dedd995c17c99543428225789483693ca7a69654a69";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
@@ -156281,7 +159176,6 @@ self: {
        homepage = "https://github.com/chrisdone/structured-haskell-mode";
        description = "Structured editing Emacs mode for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
   "structured-mongoDB" = callPackage
@@ -157162,6 +160056,33 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
+  "swagger2_2_1_2_1" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
+     , containers, doctest, generics-sop, Glob, hashable, hspec
+     , http-media, HUnit, insert-ordered-containers, lens, mtl, network
+     , QuickCheck, scientific, template-haskell, text, time
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "swagger2";
+       version = "2.1.2.1";
+       sha256 = "112b053db3cbeeeea9c7b43cb0f07a6ea9f73715ac5883b2eee9c2855c444930";
+       libraryHaskellDepends = [
+         aeson base base-compat containers generics-sop hashable http-media
+         insert-ordered-containers lens mtl network scientific
+         template-haskell text time transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base base-compat bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         text time unordered-containers vector
+       ];
+       homepage = "https://github.com/GetShopTV/swagger2";
+       description = "Swagger 2.0 data model";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "swapper" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data
      , happstack-state, parallel, tokyocabinet
@@ -158592,7 +161513,7 @@ self: {
        license = "GPL";
      }) {};
 
-  "tagged" = callPackage
+  "tagged_0_8_4" = callPackage
     ({ mkDerivation, base, deepseq, template-haskell }:
      mkDerivation {
        pname = "tagged";
@@ -158602,9 +161523,10 @@ self: {
        homepage = "http://github.com/ekmett/tagged";
        description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "tagged_0_8_5" = callPackage
+  "tagged" = callPackage
     ({ mkDerivation, base, deepseq, template-haskell, transformers
      , transformers-compat
      }:
@@ -158618,7 +161540,6 @@ self: {
        homepage = "http://github.com/ekmett/tagged";
        description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tagged-binary" = callPackage
@@ -159167,6 +162088,8 @@ self: {
        pname = "tardis";
        version = "0.4.1.0";
        sha256 = "e672abadd75055c2372d722c98058f7f3403fcca18258565d1cdd8e0dc25a5d9";
+       revision = "1";
+       editedCabalFile = "7b45b8fba6db18e5fcfb22dab3de1809b88e8fda6a202a32da308507d2dde6f2";
        libraryHaskellDepends = [ base mmorph mtl ];
        homepage = "https://github.com/DanBurton/tardis";
        description = "Bidirectional state monad transformer";
@@ -159291,6 +162214,8 @@ self: {
        pname = "tasty";
        version = "0.11.0.3";
        sha256 = "ca51533c3b6fb36a63b7a6062d71024e3a823ae173779c1c81850959e29e7efa";
+       revision = "1";
+       editedCabalFile = "65ddea88e2f32a40483dc873704a8b6b684548b5c61400440c4dda1bdbcbd5f3";
        libraryHaskellDepends = [
          ansi-terminal async base clock containers deepseq mtl
          optparse-applicative regex-tdfa stm tagged unbounded-delays
@@ -159884,7 +162809,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "telegram-api" = callPackage
+  "telegram-api_0_4_3_1" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, either
      , filepath, hjpath, hspec, http-api-data, http-client
      , http-client-tls, http-media, http-types, mime-types
@@ -159908,6 +162833,33 @@ self: {
        homepage = "http://github.com/klappvisor/haskell-telegram-api#readme";
        description = "Telegram Bot API bindings";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "telegram-api" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, either
+     , filepath, hjpath, hspec, http-api-data, http-client
+     , http-client-tls, http-media, http-types, mime-types
+     , optparse-applicative, servant, servant-client, string-conversions
+     , text, transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "telegram-api";
+       version = "0.5.0.0";
+       sha256 = "f971c4acd9101f4fd811a5e60b31ce2c85a09789a248e3a5473efa81d227ad93";
+       libraryHaskellDepends = [
+         aeson base bytestring either http-api-data http-client http-media
+         http-types mime-types servant servant-client string-conversions
+         text transformers
+       ];
+       testHaskellDepends = [
+         aeson ansi-wl-pprint base filepath hjpath hspec http-client
+         http-client-tls http-types optparse-applicative servant
+         servant-client text transformers utf8-string
+       ];
+       homepage = "http://github.com/klappvisor/haskell-telegram-api#readme";
+       description = "Telegram Bot API bindings";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "teleport" = callPackage
@@ -160040,6 +162992,21 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "templateify" = callPackage
+    ({ mkDerivation, base, mtl, tagsoup, uniplate }:
+     mkDerivation {
+       pname = "templateify";
+       version = "0.1.0.0";
+       sha256 = "ccbb2c48f9d7a6f1f3df3d00e807416bb8b7fe62fb298fb6cb9d0bb5a043d269";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base mtl tagsoup uniplate ];
+       jailbreak = true;
+       homepage = "http://github.com/xpika/templateify";
+       description = "Make template from website";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "templatepg" = callPackage
     ({ mkDerivation, base, binary, bytestring, haskell-src-meta, mtl
      , network, parsec, regex-compat, regex-posix, template-haskell
@@ -161219,12 +164186,11 @@ self: {
      }:
      mkDerivation {
        pname = "text-icu-normalized";
-       version = "0.1.5.1";
-       sha256 = "a6b10fe10fbd83c23c6719879a19536ff0fdfb01b4ea42e25e014d59ed29f3a6";
+       version = "0.1.6";
+       sha256 = "b5487346dc50fc9a70160277ae9f32306a4f517f06815785bcc6d0fa47ce94e8";
        libraryHaskellDepends = [
          base base-unicode-symbols bytestring lens text text-icu
        ];
-       jailbreak = true;
        homepage = "https://gitlab.com/theunixman/text-icu-normalized";
        description = "Dealing with Strict Text in NFC normalization";
        license = stdenv.lib.licenses.gpl3;
@@ -162274,28 +165240,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-utilities";
-       version = "0.1.1.1";
-       sha256 = "05da9652c04535fadf7a5b937fbbd96df989b787c12dd5f829919487b64aa631";
-       libraryHaskellDepends = [
-         base bytestring containers directory filepath primitive syb
-         template-haskell text th-orphans
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory filepath hspec primitive syb
-         template-haskell text th-orphans vector
-       ];
-       homepage = "https://github.com/fpco/th-utilities#readme";
-       description = "Collection of useful functions for use with Template Haskell";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = [ "x86_64-darwin" ];
-     }) {};
-
-  "th-utilities_0_2_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , hspec, primitive, syb, template-haskell, text, th-orphans, vector
-     }:
-     mkDerivation {
-       pname = "th-utilities";
        version = "0.2.0.1";
        sha256 = "65c64cee69c0d9bf8d0d5d4590aaea7dcf4177f97818526cbb3fac20901671d6";
        libraryHaskellDepends = [
@@ -162309,7 +165253,7 @@ self: {
        homepage = "https://github.com/fpco/th-utilities#readme";
        description = "Collection of useful functions for use with Template Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
   "themoviedb" = callPackage
@@ -162453,8 +165397,8 @@ self: {
      }:
      mkDerivation {
        pname = "these";
-       version = "0.7.1";
-       sha256 = "97102610f8822ce6f543d2d6219555b8696c78b2e220c7fa73fb3e9489a04439";
+       version = "0.7.2";
+       sha256 = "a1d22644ca30b0bf549ed9881fcadc9f93fac0ec4815008496ca16e83a966dc8";
        libraryHaskellDepends = [
          aeson base bifunctors binary containers data-default-class deepseq
          hashable keys mtl profunctors QuickCheck semigroupoids transformers
@@ -164935,8 +167879,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, stm, time, transformers }:
      mkDerivation {
        pname = "transient";
-       version = "0.4.2";
-       sha256 = "f84b40d51daff310cfb1563fb6e813d1b047a14a1157d67375efdc05da694bda";
+       version = "0.4.2.2";
+       sha256 = "7c1445c12b6b38d4bad8f6461c65ad3fbbb7f81c873750f5dae14df14262fd3f";
        libraryHaskellDepends = [
          base containers mtl stm time transformers
        ];
@@ -165620,7 +168564,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tttool" = callPackage
+  "tttool_1_6_1_1" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
      , directory, executable-path, filepath, hashable, haskeline, HPDF
      , JuicyPixels, mtl, natural-sort, optparse-applicative, parsec
@@ -165642,6 +168586,31 @@ self: {
        homepage = "https://github.com/entropia/tip-toi-reveng";
        description = "Working with files for the Tiptoi® pen";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tttool" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , directory, executable-path, filepath, hashable, haskeline, HPDF
+     , JuicyPixels, mtl, natural-sort, optparse-applicative, parsec
+     , process, random, split, spool, template-haskell, time, vector
+     , yaml, zlib
+     }:
+     mkDerivation {
+       pname = "tttool";
+       version = "1.6.1.2";
+       sha256 = "8f5f05c91ea4f50e43924618090f7806e0649dc83edd8c1af0e05d9032098384";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base binary bytestring containers directory executable-path
+         filepath hashable haskeline HPDF JuicyPixels mtl natural-sort
+         optparse-applicative parsec process random split spool
+         template-haskell time vector yaml zlib
+       ];
+       homepage = "https://github.com/entropia/tip-toi-reveng";
+       description = "Working with files for the Tiptoi® pen";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "tubes" = callPackage
@@ -165650,8 +168619,8 @@ self: {
      }:
      mkDerivation {
        pname = "tubes";
-       version = "2.0.0.1";
-       sha256 = "4297964709dca035f9adb4cc05ae92bc8fc9501847c0e8c0703ad6d0e32df989";
+       version = "2.1.1.0";
+       sha256 = "967f728c0cd2b01c9544b7e523d727dbc2e12ba1b11eeffe2afc22e8f5913ba8";
        libraryHaskellDepends = [
          base comonad contravariant free mtl profunctors semigroups
          transformers
@@ -166280,8 +169249,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitch";
-       version = "0.1.7.0";
-       sha256 = "45579aee9ce53f729477a378320bc37755e9daf146df8297db0ed8cbf056fb36";
+       version = "0.1.7.1";
+       sha256 = "8158d76bcd1226fbda9a7ebaf95d01b74f542499c8dd0673c8d081ae00370cda";
        libraryHaskellDepends = [
          base data-default directory filepath fsnotify Glob
          optparse-applicative time transformers
@@ -166290,7 +169259,6 @@ self: {
          base data-default directory filepath fsnotify Glob hspec
          optparse-applicative time transformers
        ];
-       jailbreak = true;
        homepage = "https://github.com/jfischoff/twitch";
        description = "A high level file watcher DSL";
        license = stdenv.lib.licenses.mit;
@@ -166368,7 +169336,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "twitter-feed" = callPackage
+  "twitter-feed_0_2_0_7" = callPackage
     ({ mkDerivation, aeson, authenticate-oauth, base, bytestring
      , containers, http-conduit, HUnit, test-framework
      , test-framework-hunit
@@ -166386,6 +169354,27 @@ self: {
        homepage = "https://github.com/stackbuilders/twitter-feed";
        description = "Client for fetching Twitter timeline via Oauth";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "twitter-feed" = callPackage
+    ({ mkDerivation, aeson, authenticate-oauth, base, bytestring
+     , containers, http-conduit, HUnit, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "twitter-feed";
+       version = "0.2.0.8";
+       sha256 = "e75182594dbd68219902c9ed7bb2a36addf9a8cdb1f456ec4eafef70b57915c4";
+       libraryHaskellDepends = [
+         aeson authenticate-oauth base bytestring http-conduit
+       ];
+       testHaskellDepends = [
+         base containers HUnit test-framework test-framework-hunit
+       ];
+       homepage = "https://github.com/stackbuilders/twitter-feed";
+       description = "Client for fetching Twitter timeline via Oauth";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "twitter-types" = callPackage
@@ -166858,12 +169847,13 @@ self: {
      }:
      mkDerivation {
        pname = "type-natural";
-       version = "0.6.0.0";
-       sha256 = "6b09df942a2613f540534b3dfe014ccd649afb3e3923f3d140a0ba69dee0bc05";
+       version = "0.7.1.1";
+       sha256 = "16867acdf4bfe3637a9c0730eca4156d3c830abca60182d8a561c4fabe6f7231";
        libraryHaskellDepends = [
          base constraints equational-reasoning ghc-typelits-natnormalise
          ghc-typelits-presburger monomorphic singletons template-haskell
        ];
+       jailbreak = true;
        homepage = "https://github.com/konn/type-natural";
        description = "Type-level natural and proofs of their properties";
        license = stdenv.lib.licenses.bsd3;
@@ -167303,7 +170293,7 @@ self: {
        license = "GPL";
      }) {};
 
-  "tz" = callPackage
+  "tz_0_1_1_1" = callPackage
     ({ mkDerivation, base, binary, bindings-posix, bytestring
      , containers, data-default, deepseq, HUnit, QuickCheck
      , template-haskell, test-framework, test-framework-hunit
@@ -167328,6 +170318,31 @@ self: {
        homepage = "https://github.com/nilcons/haskell-tz";
        description = "Efficient time zone handling";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tz" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, data-default
+     , deepseq, HUnit, QuickCheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2
+     , test-framework-th, time, tzdata, vector
+     }:
+     mkDerivation {
+       pname = "tz";
+       version = "0.1.2.0";
+       sha256 = "b501251a446d4fe544617eaa41e2442f283f8843dd57d52820d88a9e2ce04d70";
+       libraryHaskellDepends = [
+         base binary bytestring containers data-default deepseq
+         template-haskell time tzdata vector
+       ];
+       testHaskellDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2 test-framework-th time tzdata
+       ];
+       preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo";
+       homepage = "https://github.com/nilcons/haskell-tz";
+       description = "Efficient time zone handling";
+       license = stdenv.lib.licenses.asl20;
      }) {};
 
   "tzdata" = callPackage
@@ -169092,7 +172107,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "uri-bytestring" = callPackage
+  "uri-bytestring_0_2_1_2" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
      , containers, derive, HUnit, lens-simple, QuickCheck
      , quickcheck-instances, semigroups, tasty, tasty-hunit
@@ -169113,6 +172128,30 @@ self: {
        homepage = "https://github.com/Soostone/uri-bytestring";
        description = "Haskell URI parsing as ByteStrings";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "uri-bytestring" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+     , containers, derive, HUnit, lens-simple, QuickCheck
+     , quickcheck-instances, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "uri-bytestring";
+       version = "0.2.2.0";
+       sha256 = "d7ab6d08e4c0b0ef2ed6ae47ec839cbc39734ea31af3178ce66a0b6896d14f0d";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder bytestring containers
+       ];
+       testHaskellDepends = [
+         attoparsec base blaze-builder bytestring containers derive HUnit
+         lens-simple QuickCheck quickcheck-instances semigroups tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       homepage = "https://github.com/Soostone/uri-bytestring";
+       description = "Haskell URI parsing as ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "uri-conduit" = callPackage
@@ -170237,8 +173276,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "validity";
-       version = "0.3.0.0";
-       sha256 = "38d5604e01679f6c1b6d5e7ef379d7a7ab65020a6dc788b45b1ae349e522620e";
+       version = "0.3.0.1";
+       sha256 = "a70eada6f9a91361cfc13a14c896b272978df57daabbc34b767c18e07d6dcbaa";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "Validity typeclass";
@@ -170896,8 +173935,8 @@ self: {
     ({ mkDerivation, base, deepseq, vector }:
      mkDerivation {
        pname = "vector-sized";
-       version = "0.3.2.0";
-       sha256 = "54b5978d92eae76278828476d059e8bb5170f30775380c606bd390eb53e06135";
+       version = "0.3.3.0";
+       sha256 = "902cc55e930ba703334425adc6090ce1ad4db38f01143fd9b92eba904c2bc58b";
        libraryHaskellDepends = [ base deepseq vector ];
        homepage = "http://github.com/expipiplus1/vector-sized#readme";
        description = "Size tagged vectors";
@@ -171738,8 +174777,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.7.1";
-       sha256 = "63b66efc5e85e045f05b2a1222c8ed77bd3f9c04f7dfcbaaf1816c7c30c7ebe5";
+       version = "5.8";
+       sha256 = "29bdd4098703b64387619c97e43e2c12f84013e29bc29edf2bfc6eca8a32f9b1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -171983,6 +175022,8 @@ self: {
        pname = "wai-app-static";
        version = "3.1.5";
        sha256 = "28667193acfcc534752b715b5f5e16fc58edb550d03c0eb2b68e123e41030d4c";
+       revision = "1";
+       editedCabalFile = "c3f6628138ef318fc0a5a77949627b7ce06d149f53c21a2832b671664ea473de";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -172016,8 +175057,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-app-static";
-       version = "3.1.6";
-       sha256 = "a7096d9ebb371e75953dc3e2895d90761f3b2ded6d01382530544810fdd94214";
+       version = "3.1.6.1";
+       sha256 = "b318acf31e2e809411f119744a016ba0a78f52554ac7321a3a1410a218886668";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -172652,7 +175693,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "wai-middleware-crowd" = callPackage
+  "wai-middleware-crowd_0_1_4_1" = callPackage
     ({ mkDerivation, authenticate, base, base64-bytestring, binary
      , blaze-builder, bytestring, case-insensitive, clientsession
      , containers, cookie, gitrev, http-client, http-client-tls
@@ -172679,6 +175720,36 @@ self: {
        ];
        description = "Middleware and utilities for using Atlassian Crowd authentication";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "wai-middleware-crowd" = callPackage
+    ({ mkDerivation, authenticate, base, base64-bytestring, binary
+     , blaze-builder, bytestring, case-insensitive, clientsession
+     , containers, cookie, gitrev, http-client, http-client-tls
+     , http-reverse-proxy, http-types, optparse-applicative, resourcet
+     , template-haskell, text, time, transformers, unix-compat, vault
+     , wai, wai-app-static, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "wai-middleware-crowd";
+       version = "0.1.4.2";
+       sha256 = "1136b61a6ce7729093664b63a4ab70de73e356d34b0c7a8114b639b18626b058";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         authenticate base base64-bytestring binary blaze-builder bytestring
+         case-insensitive clientsession containers cookie http-client
+         http-client-tls http-types resourcet text time unix-compat vault
+         wai
+       ];
+       executableHaskellDepends = [
+         base bytestring clientsession gitrev http-client http-client-tls
+         http-reverse-proxy http-types optparse-applicative template-haskell
+         text transformers wai wai-app-static wai-extra warp
+       ];
+       description = "Middleware and utilities for using Atlassian Crowd authentication";
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
@@ -174397,7 +177468,7 @@ self: {
        homepage = "http://projects.haskell.org/gtk2hs/";
        description = "Binding to the Webkit library";
        license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "webkit-javascriptcore" = callPackage
     ({ mkDerivation, base, Cabal, gtk2hs-buildtools, webkit }:
@@ -174411,7 +177482,7 @@ self: {
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "webkitgtk3_0_14_1_1" = callPackage
     ({ mkDerivation, base, bytestring, cairo, glib, gtk2hs-buildtools
@@ -174430,7 +177501,7 @@ self: {
        description = "Binding to the Webkit library";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "webkitgtk3" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cairo, glib
@@ -174449,7 +177520,7 @@ self: {
        description = "Binding to the Webkit library";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = [ "x86_64-darwin" ];
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "webkitgtk3-javascriptcore_0_13_1_2" = callPackage
     ({ mkDerivation, base, glib, gtk2hs-buildtools, gtk3, webkit
@@ -174465,7 +177536,7 @@ self: {
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "webkitgtk3-javascriptcore" = callPackage
     ({ mkDerivation, base, Cabal, gtk2hs-buildtools, webkit }:
@@ -174478,7 +177549,7 @@ self: {
        libraryPkgconfigDepends = [ webkit ];
        description = "JavaScriptCore FFI from webkitgtk";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) webkit;};
+     }) {webkit = null;};
 
   "webpage" = callPackage
     ({ mkDerivation, base, blaze-html, data-default, lucid, text }:
@@ -174592,7 +177663,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "websockets-snap" = callPackage
+  "websockets-snap_0_9_2_0" = callPackage
     ({ mkDerivation, base, bytestring, enumerator, mtl, snap-core
      , snap-server, websockets
      }:
@@ -174603,6 +177674,23 @@ self: {
        libraryHaskellDepends = [
          base bytestring enumerator mtl snap-core snap-server websockets
        ];
+       jailbreak = true;
+       description = "Snap integration for the websockets library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "websockets-snap" = callPackage
+    ({ mkDerivation, base, bytestring, io-streams, mtl, snap-core
+     , snap-server, websockets
+     }:
+     mkDerivation {
+       pname = "websockets-snap";
+       version = "0.10.0.0";
+       sha256 = "092328966679e2f2761acc06ab4236297e61eff8a2e8087470b6962238daf4fe";
+       libraryHaskellDepends = [
+         base bytestring io-streams mtl snap-core snap-server websockets
+       ];
        description = "Snap integration for the websockets library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -174766,8 +177854,8 @@ self: {
      }:
      mkDerivation {
        pname = "werewolf";
-       version = "1.4.0.1";
-       sha256 = "88e6d2d2fb6691dbec17b864d9431501238f64006556142e5f10d2ad94998e5f";
+       version = "1.5.1.1";
+       sha256 = "708166a9826dd212542beb06fe557adb47b1fcd1c222f313f3a6b3ba70434b68";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174783,7 +177871,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "werewolf-slack" = callPackage
+  "werewolf-slack_1_0_1_4" = callPackage
     ({ mkDerivation, aeson, base, bytestring, extra, http-client
      , http-client-tls, http-types, mtl, optparse-applicative, process
      , text, wai, warp, werewolf
@@ -174798,6 +177886,28 @@ self: {
          aeson base bytestring extra http-client http-client-tls http-types
          mtl optparse-applicative process text wai warp werewolf
        ];
+       jailbreak = true;
+       homepage = "https://github.com/hjwylde/werewolf-slack";
+       description = "A chat interface for playing werewolf in Slack";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "werewolf-slack" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, extra, http-client
+     , http-client-tls, http-types, mtl, optparse-applicative, process
+     , text, wai, warp, werewolf
+     }:
+     mkDerivation {
+       pname = "werewolf-slack";
+       version = "1.0.2.0";
+       sha256 = "94d0194666dfe540bb38cef0204547e62c80b54686a49b1d5f48d1b1d431a495";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring extra http-client http-client-tls http-types
+         mtl optparse-applicative process text wai warp werewolf
+       ];
        homepage = "https://github.com/hjwylde/werewolf-slack";
        description = "A chat interface for playing werewolf in Slack";
        license = stdenv.lib.licenses.bsd3;
@@ -175406,11 +178516,10 @@ self: {
     ({ mkDerivation, base, hspec, vector }:
      mkDerivation {
        pname = "woot";
-       version = "0.0.0.5";
-       sha256 = "62f135f4c9e3c6c4e9e7efbbd299bd12649cea6be46771d0c1e7ef612cce664d";
+       version = "0.0.0.6";
+       sha256 = "4e7b4c12fe18a9e6d649dcd0ab4ea1910a340e3a4ebb1f341484beb359ce82b7";
        libraryHaskellDepends = [ base vector ];
-       testHaskellDepends = [ base hspec ];
-       jailbreak = true;
+       testHaskellDepends = [ base hspec vector ];
        homepage = "https://github.com/TGOlson/woot-haskell";
        description = "Real time group editor without operational transform";
        license = stdenv.lib.licenses.mit;
@@ -176257,6 +179366,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "x86-64bit" = callPackage
+    ({ mkDerivation, base, monads-tf, QuickCheck, vector }:
+     mkDerivation {
+       pname = "x86-64bit";
+       version = "0.1.4";
+       sha256 = "bd6959ccc90bc6176eccf915e7c2af1ddc3febdfa84708413289357160e5821a";
+       libraryHaskellDepends = [ base monads-tf QuickCheck vector ];
+       testHaskellDepends = [ base monads-tf QuickCheck vector ];
+       homepage = "https://github.com/divipp/x86-64";
+       description = "Runtime code generation for x86 64 bit machine code";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "xattr" = callPackage
     ({ mkDerivation, attr, base, bytestring, containers, directory
      , filepath, HUnit, test-framework, test-framework-hunit, unix
@@ -176363,7 +179485,7 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "xdcc" = callPackage
+  "xdcc_1_0_4" = callPackage
     ({ mkDerivation, ascii-progress, base, bytestring, case-insensitive
      , concurrent-extra, concurrent-output, errors, iproute, irc-ctcp
      , irc-dcc, lifted-base, network, optparse-applicative, path, random
@@ -176384,6 +179506,30 @@ self: {
        homepage = "https://github.com/JanGe/xdcc";
        description = "A wget-like utility for retrieving files from XDCC bots on IRC";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xdcc" = callPackage
+    ({ mkDerivation, ascii-progress, base, bytestring, case-insensitive
+     , concurrent-extra, concurrent-output, errors, iproute, irc-ctcp
+     , irc-dcc, lifted-base, network, optparse-applicative, path, random
+     , simpleirc, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "xdcc";
+       version = "1.0.6";
+       sha256 = "2a28d2c3bd13647b605adb845bb2f377c9be502218d979a52f6ed653050fb1b8";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         ascii-progress base bytestring case-insensitive concurrent-extra
+         concurrent-output errors iproute irc-ctcp irc-dcc lifted-base
+         network optparse-applicative path random simpleirc transformers
+         unix-compat
+       ];
+       homepage = "https://github.com/JanGe/xdcc";
+       description = "A wget-like utility for retrieving files from XDCC bots on IRC";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "xdg-basedir" = callPackage
@@ -176708,7 +179854,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "xlsx" = callPackage
+  "xlsx_0_2_3" = callPackage
     ({ mkDerivation, base, base64-bytestring, binary-search, bytestring
      , conduit, containers, data-default, Diff, extra, filepath, groom
      , lens, mtl, network-uri, old-locale, raw-strings-qq, safe
@@ -176732,6 +179878,35 @@ self: {
        homepage = "https://github.com/qrilka/xlsx";
        description = "Simple and incomplete Excel file parser/writer";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xlsx" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary-search, bytestring
+     , conduit, containers, data-default, Diff, errors, extra, filepath
+     , groom, lens, mtl, mtl-compat, network-uri, old-locale
+     , raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, vector, xml-conduit
+     , zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.2.4";
+       sha256 = "e0b424417fb04d885b78eccde94d10bd28be59184b0bbbedf321fc15a2f23d40";
+       libraryHaskellDepends = [
+         base base64-bytestring binary-search bytestring conduit containers
+         data-default errors extra filepath lens mtl mtl-compat network-uri
+         old-locale safe text time transformers vector xml-conduit
+         zip-archive zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff groom lens mtl raw-strings-qq
+         smallcheck tasty tasty-hunit tasty-smallcheck time vector
+         xml-conduit
+       ];
+       homepage = "https://github.com/qrilka/xlsx";
+       description = "Simple and incomplete Excel file parser/writer";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "xlsx-tabular" = callPackage
@@ -177315,7 +180490,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "xmlhtml" = callPackage
+  "xmlhtml_0_2_3_4" = callPackage
     ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
      , bytestring, containers, parsec, text, unordered-containers
      }:
@@ -177331,6 +180506,32 @@ self: {
        ];
        description = "XML parser and renderer with HTML 5 quirks mode";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "xmlhtml" = callPackage
+    ({ mkDerivation, base, blaze-builder, blaze-html, blaze-markup
+     , bytestring, containers, directory, HUnit, parsec, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "xmlhtml";
+       version = "0.2.3.5";
+       sha256 = "e333a1c7afd5068b60b143457fea7325a34408cc65b3ac55f5b342eb0274b06d";
+       libraryHaskellDepends = [
+         base blaze-builder blaze-html blaze-markup bytestring containers
+         parsec text unordered-containers
+       ];
+       testHaskellDepends = [
+         base blaze-builder blaze-html blaze-markup bytestring containers
+         directory HUnit parsec QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 text
+         unordered-containers
+       ];
+       homepage = "https://github.com/snapframework/xmlhtml";
+       description = "XML parser and renderer with HTML 5 quirks mode";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "xmltv" = callPackage
@@ -177395,8 +180596,8 @@ self: {
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.24.1";
-       sha256 = "94b61be06a6c08d8f7dced28e4721acb231987710981ef9c438c60f3a133d985";
+       version = "0.24.2";
+       sha256 = "a8aa243ec8d86b88da2c072eeef4d09be00091254ad05eaf517756e20483cd64";
        configureFlags = [ "-fall_extensions" ];
        isLibrary = false;
        isExecutable = true;
@@ -178639,7 +181840,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "yesod-auth" = callPackage
+  "yesod-auth_1_4_13_3" = callPackage
     ({ mkDerivation, aeson, authenticate, base, base16-bytestring
      , base64-bytestring, binary, blaze-builder, blaze-html
      , blaze-markup, byteable, bytestring, conduit, conduit-extra
@@ -178666,6 +181867,36 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Authentication for Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-auth" = callPackage
+    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
+     , base64-bytestring, binary, blaze-builder, blaze-html
+     , blaze-markup, byteable, bytestring, conduit, conduit-extra
+     , containers, cryptohash, data-default, email-validate, file-embed
+     , http-client, http-conduit, http-types, lifted-base, mime-mail
+     , network-uri, nonce, persistent, persistent-template, random
+     , resourcet, safe, shakespeare, template-haskell, text, time
+     , transformers, unordered-containers, wai, yesod-core, yesod-form
+     , yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth";
+       version = "1.4.13.4";
+       sha256 = "7ccdf087e79e3117ea594891d46798e0f87d8c975c7f846fac53891d778a874b";
+       libraryHaskellDepends = [
+         aeson authenticate base base16-bytestring base64-bytestring binary
+         blaze-builder blaze-html blaze-markup byteable bytestring conduit
+         conduit-extra containers cryptohash data-default email-validate
+         file-embed http-client http-conduit http-types lifted-base
+         mime-mail network-uri nonce persistent persistent-template random
+         resourcet safe shakespeare template-haskell text time transformers
+         unordered-containers wai yesod-core yesod-form yesod-persistent
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Authentication for Yesod";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "yesod-auth-account" = callPackage
@@ -178795,7 +182026,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "yesod-auth-hashdb" = callPackage
+  "yesod-auth-hashdb_1_5_1_1" = callPackage
     ({ mkDerivation, base, basic-prelude, bytestring, containers
      , cryptohash, hspec, http-conduit, http-types, monad-logger
      , network-uri, persistent, persistent-sqlite, pwstore-fast
@@ -178818,6 +182049,32 @@ self: {
        homepage = "https://github.com/paul-rouse/yesod-auth-hashdb";
        description = "Authentication plugin for Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-auth-hashdb" = callPackage
+    ({ mkDerivation, base, basic-prelude, bytestring, containers
+     , cryptohash, hspec, http-conduit, http-types, monad-logger
+     , network-uri, persistent, persistent-sqlite, pwstore-fast
+     , resourcet, text, wai-extra, yesod, yesod-auth, yesod-core
+     , yesod-form, yesod-persistent, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-auth-hashdb";
+       version = "1.5.1.2";
+       sha256 = "95937003779f9024c65f960022dafcd125b28ae4de24b5b7be66b1dd9d4d5a66";
+       libraryHaskellDepends = [
+         base bytestring cryptohash persistent pwstore-fast text yesod-auth
+         yesod-core yesod-form yesod-persistent
+       ];
+       testHaskellDepends = [
+         base basic-prelude bytestring containers hspec http-conduit
+         http-types monad-logger network-uri persistent-sqlite resourcet
+         text wai-extra yesod yesod-auth yesod-core yesod-test
+       ];
+       homepage = "https://github.com/paul-rouse/yesod-auth-hashdb";
+       description = "Authentication plugin for Yesod";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "yesod-auth-kerberos" = callPackage
@@ -179124,7 +182381,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "yesod-core" = callPackage
+  "yesod-core_1_4_22" = callPackage
     ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
      , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
      , cereal, clientsession, conduit, conduit-extra, containers, cookie
@@ -179162,6 +182419,47 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Creation of type-safe, RESTful web applications";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-core" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
+     , cereal, clientsession, conduit, conduit-extra, containers, cookie
+     , data-default, deepseq, deepseq-generics, directory, exceptions
+     , fast-logger, hspec, hspec-expectations, http-types, HUnit
+     , lifted-base, monad-control, monad-logger, mtl, mwc-random
+     , network, old-locale, parsec, path-pieces, primitive, QuickCheck
+     , random, resourcet, safe, semigroups, shakespeare
+     , streaming-commons, template-haskell, text, time, transformers
+     , transformers-base, unix-compat, unordered-containers, vector, wai
+     , wai-extra, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.4.23";
+       sha256 = "05aea0cf09ae9f568358d8443c702bf070f2f64759820e3b5d3ecb4e4f557e3c";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-builder blaze-html blaze-markup
+         byteable bytestring case-insensitive cereal clientsession conduit
+         conduit-extra containers cookie data-default deepseq
+         deepseq-generics directory exceptions fast-logger http-types
+         lifted-base monad-control monad-logger mtl mwc-random old-locale
+         parsec path-pieces primitive random resourcet safe semigroups
+         shakespeare template-haskell text time transformers
+         transformers-base unix-compat unordered-containers vector wai
+         wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base blaze-builder bytestring clientsession conduit
+         conduit-extra containers cookie hspec hspec-expectations http-types
+         HUnit lifted-base mwc-random network path-pieces QuickCheck random
+         resourcet shakespeare streaming-commons template-haskell text
+         transformers wai wai-extra
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "yesod-crud" = callPackage
@@ -179676,7 +182974,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "yesod-persistent" = callPackage
+  "yesod-persistent_1_4_0_5" = callPackage
     ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
      , persistent-sqlite, persistent-template, resource-pool, resourcet
      , text, transformers, wai-extra, yesod-core
@@ -179696,6 +182994,29 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Some helpers for using Persistent from Yesod";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-persistent" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
+     , persistent-sqlite, persistent-template, resource-pool, resourcet
+     , text, transformers, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-persistent";
+       version = "1.4.0.6";
+       sha256 = "69c1261b49a6448795d569431691115fc6b86f7b296905573f5b2271465dee71";
+       libraryHaskellDepends = [
+         base blaze-builder conduit persistent persistent-template
+         resource-pool resourcet transformers yesod-core
+       ];
+       testHaskellDepends = [
+         base blaze-builder conduit hspec persistent persistent-sqlite text
+         wai-extra yesod-core
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Some helpers for using Persistent from Yesod";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "yesod-platform" = callPackage
@@ -180172,7 +183493,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "yesod-test" = callPackage
+  "yesod-test_1_5_1_1" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, bytestring, case-insensitive, containers, cookie
      , hspec, hspec-core, html-conduit, http-types, HUnit, lifted-base
@@ -180196,6 +183517,34 @@ self: {
        homepage = "http://www.yesodweb.com";
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yesod-test" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, bytestring, case-insensitive, containers, cookie
+     , hspec, hspec-core, html-conduit, http-types, HUnit, lifted-base
+     , monad-control, network, persistent, pretty-show, text, time
+     , transformers, wai, wai-extra, xml-conduit, xml-types, yesod-core
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.5.2";
+       sha256 = "e0faf315423fb5043c68c639e0e604b6426143d490cbdf3396238dccae5ef174";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-html blaze-markup bytestring
+         case-insensitive containers cookie hspec-core html-conduit
+         http-types HUnit monad-control network persistent pretty-show text
+         time transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec html-conduit http-types HUnit
+         lifted-base text wai xml-conduit yesod-core yesod-form
+       ];
+       homepage = "http://www.yesodweb.com";
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "yesod-test-json" = callPackage
@@ -180936,6 +184285,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "zabt" = callPackage
+    ({ mkDerivation, base, containers, tasty, tasty-hspec }:
+     mkDerivation {
+       pname = "zabt";
+       version = "0.4.0.0";
+       sha256 = "397da26f87e37d53729a1dc8dfeacbfc146b097a8a50238369c09a13109ffa2b";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       homepage = "https://github.com/tel/hs-zabt#readme";
+       description = "Simple-minded abstract binding trees";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "zalgo" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -181707,15 +185069,27 @@ self: {
        pname = "ztail";
        version = "1.2";
        sha256 = "13b314c992597118de1bfe0b866ef061237910f77bd35fb258e42d21182a3a4f";
+       revision = "1";
+       editedCabalFile = "73528314fa829b0d5b28ce78cb365a1f91c506ac43fa28f2a61d0fed3dace142";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          array base bytestring filepath hinotify process regex-posix time
          unix unordered-containers
        ];
-       jailbreak = true;
        description = "Multi-file, colored, filtered log tailer";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zxcvbn-c" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "zxcvbn-c";
+       version = "1.0.0";
+       sha256 = "9db674641107eccc606f26b3a2163657ab4335e1b0c65f00d5ddf23f9bfb1a03";
+       libraryHaskellDepends = [ base ];
+       description = "Password strength estimation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
 }
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index fc3070e55f1..1824287c823 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
      b=$(basename $f)
       if [ $b == "mix" ]; then continue; fi
       wrapProgram $f \
-        --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${curl.bin}/bin:${bash}/bin" \
+        --prefix PATH ":" "${stdenv.lib.makeBinPath [ erlang coreutils curl bash ]}" \
         --set CURL_CA_BUNDLE /etc/ssl/certs/ca-certificates.crt
     done
 
diff --git a/pkgs/development/interpreters/erlang/R16.nix b/pkgs/development/interpreters/erlang/R16.nix
index c49b479d6f5..02f9d1f98e8 100644
--- a/pkgs/development/interpreters/erlang/R16.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index cb29341689d..56b4626a212 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index 34896046e31..5d9c5dac3d8 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
index 8eac077a110..1cd68221fa7 100644
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ b/pkgs/development/interpreters/erlang/R19.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
   # Some erlang bin/ scripts run sed and awk
   postFixup = ''
     wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
-    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
+    wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnused gawk ]}"
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/interpreters/lfe/default.nix b/pkgs/development/interpreters/lfe/default.nix
index f3a54aef8ab..c7957275f9e 100644
--- a/pkgs/development/interpreters/lfe/default.nix
+++ b/pkgs/development/interpreters/lfe/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     # Add some stuff to PATH so the scripts can run without problems.
     for f in $out/bin/*; do
       wrapProgram $f \
-        --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${bash}/bin:$out/bin"
+        --prefix PATH ":" "${stdenv.lib.makeBinPath [ erlang coreutils bash ]}:$out/bin"
       substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env"
     done
   '';
diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix
index 76b08cd35c6..8053c82e90e 100644
--- a/pkgs/development/interpreters/love/0.7.nix
+++ b/pkgs/development/interpreters/love/0.7.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   NIX_CFLAGS_COMPILE = ''
-    -I${SDL}/include/SDL
+    -I${SDL.dev}/include/SDL
     -I${freetype.dev}include/freetype2
   '';
 
diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix
index e7d8bf1bc05..c3da770a6e1 100644
--- a/pkgs/development/interpreters/pixie/default.nix
+++ b/pkgs/development/interpreters/pixie/default.nix
@@ -3,7 +3,7 @@
   variant ? "jit", buildWithPypy ? false }:
 
 let
-  commit-count = "1352";
+  commit-count = "1356";
   common-flags = "--thread --gcrootfinder=shadowstack --continuation";
   variants = {
     jit = { flags = "--opt=jit"; target = "target.py"; };
@@ -13,14 +13,14 @@ let
   };
   pixie-src = fetchgit {
     url = "https://github.com/pixie-lang/pixie.git";
-    rev = "dd754fe9f329e9e176eeaedae1095c85cde65028";
-    sha256 = "1jf3nkd1jzvxrw9ql2r74drsirrxfihc125x0wmk45jyl5q24vdd";
+    rev = "d2a4267ea088f711af36a74928e8dfd8360584ad";
+    sha256 = "1asf6yx7zy9cx4bsg8iai57dy3r3m45xcmkmw2vix70xvfy23ryf";
   };
-  pypy-tag = "81254";
+  pypy-tag = "91db1a9";
   pypy-src = fetchurl {
     name = "pypy-src-${pypy-tag}";
     url = "https://bitbucket.org/pypy/pypy/get/${pypy-tag}.tar.bz2";
-    sha256 = "1cs9xqs1rmzdcnwxxkbvy064s5cbp6vvzhn2jmyzh5kg4di1r3bn";
+    sha256 = "0ylbqvhbcp5m09l15i2q2h3a0vjd055x2r37cq71lkhgmmaxrwbq";
   };
   libs = [ libffi libedit libuv boost.dev boost.out zlib ];
   include-path = stdenv.lib.concatStringsSep ":"
@@ -63,11 +63,17 @@ let
       mkdir -p $out/share $out/bin
       cp pixie-src/pixie-vm $out/share/pixie-vm
       cp -R pixie-src/pixie $out/share/pixie
-      makeWrapper $out/share/pixie-vm $out/bin/pxi \
+      makeWrapper $out/share/pixie-vm $out/bin/pixie-vm \
         --prefix LD_LIBRARY_PATH : ${library-path} \
         --prefix C_INCLUDE_PATH : ${include-path} \
         --prefix LIBRARY_PATH : ${library-path} \
         --prefix PATH : ${bin-path}
+      cat > $out/bin/pxi <<EOF
+      #!$shell
+      >&2 echo "[\$\$] WARNING: 'pxi' is a deprecated alias for 'pixie-vm', please update your scripts."
+      exec $out/bin/pixie-vm "\$@"
+      EOF
+      chmod +x $out/bin/pxi
     '';
     meta = {
       description = "A clojure-like lisp, built with the pypy vm toolkit";
diff --git a/pkgs/development/interpreters/pixie/dust.nix b/pkgs/development/interpreters/pixie/dust.nix
index 1aea9f44039..34b47113193 100644
--- a/pkgs/development/interpreters/pixie/dust.nix
+++ b/pkgs/development/interpreters/pixie/dust.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pixie ];
   patches = [ ./make-paths-configurable.patch ];
   configurePhase = ''
-    pixiePath="${pixie}/bin/pxi" \
+    pixiePath="${pixie}/bin/pixie-vm" \
     basePath="$out/share/dust" \
       substituteAll dust.in dust
     chmod +x dust
diff --git a/pkgs/development/interpreters/python/pypy/2.7/default.nix b/pkgs/development/interpreters/python/pypy/2.7/default.nix
index ba6f5706bbd..2e54e953e67 100644
--- a/pkgs/development/interpreters/python/pypy/2.7/default.nix
+++ b/pkgs/development/interpreters/python/pypy/2.7/default.nix
@@ -6,7 +6,7 @@ assert zlibSupport -> zlib != null;
 
 let
 
-  majorVersion = "5.1.1";
+  majorVersion = "5.3.1";
   version = "${majorVersion}";
   libPrefix = "pypy${majorVersion}";
 
@@ -17,8 +17,8 @@ let
     inherit majorVersion version;
 
     src = fetchurl {
-      url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
-      sha256 = "1dmckvffanmh0b50pq34shnw05r55gjxn43kgvnkz5kkvvsbxdg1";
+      url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
+      sha256 = "19cq2ngkh5q5jxwhw81rd6p0qna73z85jfik88w0856k5aj86yha";
     };
 
    # http://bugs.python.org/issue27369
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 355723ba337..dd735876435 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl, python, cython, pkgconfig, wrapPython
-, pygame, SDL, libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib
+{ stdenv, fetchurl, pythonPackages, pkgconfig, SDL
+, libpng, ffmpeg, freetype, glew, mesa, fribidi, zlib
 }:
 
+with pythonPackages;
+
 stdenv.mkDerivation {
   name = "renpy-6.17.6";
 
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 6c3920ff8aa..ca0bbd6a01c 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap
-, openglSupport ? false, mesa ? null
-, alsaSupport ? true, alsaLib ? null
-, x11Support ? true, xlibsWrapper ? null, libXrandr ? null
-, pulseaudioSupport ? true, libpulseaudio ? null
+, openglSupport ? false, mesa_noglu
+, alsaSupport ? true, alsaLib
+, x11Support ? true, libXext, libICE, libXrandr
+, pulseaudioSupport ? true, libpulseaudio
 , OpenGL, CoreAudio, CoreServices, AudioUnit, Kernel, Cocoa
 }:
 
@@ -10,17 +10,12 @@
 # PulseAudio.
 assert (stdenv.isLinux && !(stdenv ? cross)) -> alsaSupport || pulseaudioSupport;
 
-assert openglSupport -> (mesa != null && x11Support);
-assert x11Support -> (xlibsWrapper != null && libXrandr != null);
-assert alsaSupport -> alsaLib != null;
-assert pulseaudioSupport -> libpulseaudio != null;
-
 let
   inherit (stdenv.lib) optional optionals;
 in
 stdenv.mkDerivation rec {
-  version = "1.2.15";
   name    = "SDL-${version}";
+  version = "1.2.15";
 
   src = fetchurl {
     url    = "http://www.libsdl.org/release/${name}.tar.gz";
@@ -34,10 +29,10 @@ stdenv.mkDerivation rec {
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
   propagatedBuildInputs =
-    optionals x11Support [ xlibsWrapper libXrandr ] ++
+    optionals x11Support [ libXext libICE libXrandr ] ++
     optional alsaSupport alsaLib ++
     optional stdenv.isLinux libcap ++
-    optional openglSupport mesa ++
+    optional openglSupport mesa_noglu ++
     optional pulseaudioSupport libpulseaudio ++
     optional stdenv.isDarwin Cocoa;
 
@@ -57,9 +52,9 @@ stdenv.mkDerivation rec {
     "--enable-rpath"
     "--disable-pulseaudio-shared"
     "--disable-osmesa-shared"
-  ] ++ stdenv.lib.optionals (stdenv ? cross) ([
+  ] ++ optionals (stdenv ? cross) ([
     "--without-x"
-  ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib");
+  ] ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib");
 
   patches = [
     # Fix window resizing issues, e.g. for xmonad
@@ -95,15 +90,18 @@ stdenv.mkDerivation rec {
       url = "http://hg.libsdl.org/SDL/raw-rev/bbfb41c13a87";
       sha256 = "1336g7waaf1c8yhkz11xbs500h8bmvabh4h437ax8l1xdwcppfxv";
     })
+    ./find-headers.patch
   ];
 
   postFixup = ''moveToOutput share/aclocal "$dev" '';
 
+  setupHook = ./setup-hook.sh;
+
   passthru = { inherit openglSupport; };
 
   meta = with stdenv.lib; {
     description = "A cross-platform multimedia library";
-    homepage    = http://www.libsdl.org/;
+    homepage    = "http://www.libsdl.org/";
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
     license     = licenses.lgpl21;
diff --git a/pkgs/development/libraries/SDL/find-headers.patch b/pkgs/development/libraries/SDL/find-headers.patch
new file mode 100644
index 00000000000..5f75ae9e830
--- /dev/null
+++ b/pkgs/development/libraries/SDL/find-headers.patch
@@ -0,0 +1,16 @@
+diff -ru3 SDL-1.2.15/sdl-config.in SDL-1.2.15-new/sdl-config.in
+--- SDL-1.2.15/sdl-config.in	2012-01-19 10:30:06.000000000 +0400
++++ SDL-1.2.15-new/sdl-config.in	2016-08-22 05:32:52.716397920 +0300
+@@ -42,7 +42,11 @@
+       echo @SDL_VERSION@
+       ;;
+     --cflags)
+-      echo -I@includedir@/SDL @SDL_CFLAGS@
++      SDL_CFLAGS=""
++      for i in @includedir@/SDL $SDL_PATH; do
++        SDL_CFLAGS="$SDL_CFLAGS -I$i"
++      done
++      echo $SDL_CFLAGS @SDL_CFLAGS@
+       ;;
+ @ENABLE_SHARED_TRUE@    --libs)
+ @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
diff --git a/pkgs/development/libraries/SDL/setup-hook.sh b/pkgs/development/libraries/SDL/setup-hook.sh
new file mode 100644
index 00000000000..3696e743a07
--- /dev/null
+++ b/pkgs/development/libraries/SDL/setup-hook.sh
@@ -0,0 +1,11 @@
+addSDLPath () {
+  if [ -e "$1/include/SDL" ]; then
+    export SDL_PATH="$SDL_PATH $1/include/SDL"
+  fi
+}
+
+if test -n "$crossConfig"; then
+  crossEnvHooks+=(addSDLPath)
+else
+  envHooks+=(addSDLPath)
+fi
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 1c260c2ba91..16aa4f6c2f7 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, audiofile
-, openglSupport ? false, mesa ? null
-, alsaSupport ? true, alsaLib ? null
-, x11Support ? true, xlibsWrapper ? null, libXrandr ? null
-, pulseaudioSupport ? true, libpulseaudio ? null
+{ stdenv, lib, fetchurl, pkgconfig, audiofile
+, openglSupport ? false, mesa_noglu
+, alsaSupport ? true, alsaLib
+, x11Support ? true, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
+, dbusSupport ? false, dbus
+, udevSupport ? false, udev
+, ibusSupport ? false, ibus
+, pulseaudioSupport ? true, libpulseaudio
 , AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL
 }:
 
@@ -10,35 +13,39 @@
 # PulseAudio.
 assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
 
-assert openglSupport -> (stdenv.isDarwin || mesa != null && x11Support);
-assert x11Support -> (xlibsWrapper != null && libXrandr != null);
-assert alsaSupport -> alsaLib != null;
-assert pulseaudioSupport -> libpulseaudio != null;
+assert openglSupport -> (stdenv.isDarwin || mesa_noglu != null && x11Support);
 
 let
-  configureFlagsFun = attrs: ''
-        --disable-oss --disable-x11-shared
-        --disable-pulseaudio-shared --disable-alsa-shared
-        ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib.out}/lib" else ""}
-        ${if (!x11Support) then "--without-x" else ""}
-      '';
+  configureFlagsFun = attrs: [
+      "--disable-oss" "--disable-x11-shared"
+      "--disable-pulseaudio-shared" "--disable-alsa-shared"
+    ] ++ lib.optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib"
+      ++ lib.optional (!x11Support) "--without-x";
 in
 stdenv.mkDerivation rec {
-  name = "SDL2-2.0.3";
+  name = "SDL2-${version}";
+  version = "2.0.4";
 
   src = fetchurl {
     url = "http://www.libsdl.org/release/${name}.tar.gz";
-    sha256 = "0369ngvb46x6c26h8zva4x22ywgy6mvn0wx87xqwxg40pxm9m9m5";
+    sha256 = "0jqp46mxxbh9lhpx1ih6sp93k752j2smhpc0ad0q4cb3px0famfs";
   };
 
+  patches = [ ./find-headers.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
-  propagatedBuildInputs = stdenv.lib.optionals x11Support [ xlibsWrapper libXrandr ] ++
-    stdenv.lib.optional pulseaudioSupport libpulseaudio;
+  propagatedBuildInputs = lib.optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] ++
+    lib.optional pulseaudioSupport libpulseaudio;
 
-  buildInputs = [ pkgconfig audiofile ] ++
-    stdenv.lib.optional openglSupport mesa ++
-    stdenv.lib.optional alsaSupport alsaLib ++
-    stdenv.lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
+  buildInputs = [ audiofile ] ++
+    lib.optional openglSupport mesa_noglu ++
+    lib.optional alsaSupport alsaLib ++
+    lib.optional dbusSupport dbus ++
+    lib.optional udevSupport udev ++
+    lib.optional ibusSupport ibus ++
+    lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
 
   # https://bugzilla.libsdl.org/show_bug.cgi?id=1431
   dontDisableStatic = true;
@@ -49,20 +56,22 @@ stdenv.mkDerivation rec {
   configureFlags = configureFlagsFun { inherit alsaLib; };
 
   crossAttrs = {
-      configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
+    configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
   };
 
   postInstall = ''
     rm $out/lib/*.a
   '';
 
-  passthru = {inherit openglSupport;};
+  setupHook = ./setup-hook.sh;
+
+  passthru = { inherit openglSupport; };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A cross-platform multimedia library";
-    homepage = http://www.libsdl.org/;
-    license = stdenv.lib.licenses.zlib;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.page ];
+    homepage = "http://www.libsdl.org/";
+    license = licenses.zlib;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ page ];
   };
 }
diff --git a/pkgs/development/libraries/SDL2/find-headers.patch b/pkgs/development/libraries/SDL2/find-headers.patch
new file mode 100644
index 00000000000..a6114901055
--- /dev/null
+++ b/pkgs/development/libraries/SDL2/find-headers.patch
@@ -0,0 +1,26 @@
+diff -ru3 SDL2-2.0.4/sdl2-config.cmake.in SDL2-2.0.4-new/sdl2-config.cmake.in
+--- SDL2-2.0.4/sdl2-config.cmake.in	2016-01-02 22:56:31.000000000 +0300
++++ SDL2-2.0.4-new/sdl2-config.cmake.in	2016-08-22 05:26:42.420397323 +0300
+@@ -6,5 +6,5 @@
+ set(SDL2_PREFIX "@prefix@")
+ set(SDL2_EXEC_PREFIX "@prefix@")
+ set(SDL2_LIBDIR "@libdir@")
+-set(SDL2_INCLUDE_DIRS "@includedir@/SDL2")
++set(SDL2_INCLUDE_DIRS "@includedir@/SDL2" $ENV{SDL2_PATH})
+ set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")
+diff -ru3 SDL2-2.0.4/sdl2-config.in SDL2-2.0.4-new/sdl2-config.in
+--- SDL2-2.0.4/sdl2-config.in	2016-01-02 22:56:31.000000000 +0300
++++ SDL2-2.0.4-new/sdl2-config.in	2016-08-22 05:32:02.256397839 +0300
+@@ -42,7 +42,11 @@
+       echo @SDL_VERSION@
+       ;;
+     --cflags)
+-      echo -I@includedir@/SDL2 @SDL_CFLAGS@
++      SDL_CFLAGS=""
++      for i in @includedir@/SDL2 $SDL2_PATH; do
++        SDL_CFLAGS="$SDL_CFLAGS -I$i"
++      done
++      echo $SDL_CFLAGS @SDL_CFLAGS@
+       ;;
+ @ENABLE_SHARED_TRUE@    --libs)
+ @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
diff --git a/pkgs/development/libraries/SDL2/setup-hook.sh b/pkgs/development/libraries/SDL2/setup-hook.sh
new file mode 100644
index 00000000000..5a26440f37b
--- /dev/null
+++ b/pkgs/development/libraries/SDL2/setup-hook.sh
@@ -0,0 +1,11 @@
+addSDL2Path () {
+  if [ -e "$1/include/SDL2" ]; then
+    export SDL2_PATH="$SDL2_PATH $1/include/SDL2"
+  fi
+}
+
+if test -n "$crossConfig"; then
+  crossEnvHooks+=(addSDL2Path)
+else
+  envHooks+=(addSDL2Path)
+fi
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index 23a0924ad3b..1d26fed805e 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -1,30 +1,19 @@
-{stdenv, fetchsvn, SDL2}:
+{ stdenv, fetchurl, SDL2 }:
 
-let rev = 5; in
 stdenv.mkDerivation rec {
-  name = "SDL2_gfx-${toString rev}";
+  name = "SDL2_gfx-${version}";
+  version = "1.0.1";
 
-  src = fetchsvn {
-    url = http://svn.code.sf.net/p/sdl2gfx/code/trunk;
-    inherit rev;
-    sha256 = "1hzilbn1412m2b44mygrbdfh1gvks4v5p0kmafz248jf9ifsvmzp";
+  src = fetchurl {
+    url = "mirror://sourceforge/sdl2gfx/${name}.tar.gz";
+    sha256 = "16jrijzdp095qf416zvj9gs2fqqn6zkyvlxs5xqybd0ip37cp6yn";
   };
 
-  buildInputs = [ SDL2 ] ;
+  buildInputs = [ SDL2 ];
 
-  configureFlags = "--disable-mmx";
+  configureFlags = [ "--enable-mmx" ];
 
-  postInstall = ''
-    sed -i -e 's,"SDL.h",<SDL2/SDL.h>,' \
-      $out/include/SDL2/*.h
-
-    ln -s $out/include/SDL2/SDL2_framerate.h $out/include/SDL2/SDL_framerate.h;
-    ln -s $out/include/SDL2/SDL2_gfxPrimitives.h $out/include/SDL2/SDL_gfxPrimitives.h;
-    ln -s $out/include/SDL2/SDL2_rotozoom.h $out/include/SDL2/SDL_rotozoom.h;
-    ln -s $out/include/SDL2/*.h $out/include/;
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
 
     longDescription = ''
@@ -45,10 +34,10 @@ stdenv.mkDerivation rec {
       code. Its is written in plain C and can be used in C++ code.
     '';
 
-    homepage = https://sourceforge.net/projects/sdlgfx/;
-    license = stdenv.lib.licenses.lgpl2Plus;
+    homepage = "https://sourceforge.net/projects/sdlgfx/";
+    license = licenses.zlib;
 
-    maintainers = [ stdenv.lib.maintainers.bjg ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ bjg ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
index 7253fc7b4da..22282e1a10c 100644
--- a/pkgs/development/libraries/SDL2_image/default.nix
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -1,27 +1,20 @@
 { stdenv, fetchurl, SDL2, libpng, libjpeg, libtiff, libungif, libXpm, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "SDL2_image-2.0.1";
+  name = "SDL2_image-${version}";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "http://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
     sha256 = "0r3z1l7fdn76qkpy7snpkcjqz8dkv2zp6lsqpq25q4m5xsyaygis";
   };
 
-  buildInputs = [SDL2 libpng libjpeg libtiff libungif libXpm zlib];
+  buildInputs = [ SDL2 libpng libjpeg libtiff libungif libXpm zlib ];
 
-  postInstall = ''
-    sed -i -e 's,"SDL.h",<SDL2/SDL.h>,' \
-      -e 's,"SDL_version.h",<SDL2/SDL_version.h>,' \
-      -e 's,"begin_code.h",<SDL2/begin_code.h>,' \
-      -e 's,"close_code.h",<SDL2/close_code.h>,' \
-      $out/include/SDL2/SDL_image.h
-    ln -sv SDL2/SDL_image.h $out/include/SDL_image.h
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL image library";
     homepage = "http://www.libsdl.org/projects/SDL_image/";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 1a7ce841d0c..0919970543c 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, SDL2, libogg, libvorbis, enableNativeMidi ? false }:
+{ stdenv, lib, fetchurl, SDL2, libogg, libvorbis, enableNativeMidi ? false }:
 
 stdenv.mkDerivation rec {
-  name = "SDL2_mixer-2.0.1";
+  name = "SDL2_mixer-${version}";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "http://www.libsdl.org/projects/SDL_mixer/release/${name}.tar.gz";
     sha256 = "0pv9jzjpcjlbiaybvwrb4avmv46qk7iqxlnqrd2dfj82c4mgc92s";
   };
 
-  propagatedBuildInputs = [SDL2 libogg libvorbis];
+  propagatedBuildInputs = [ SDL2 libogg libvorbis ];
 
-  configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi "--enable-music-native-midi-gpl";
+  configureFlags = [ "--disable-music-ogg-shared" ] ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl";
 
-  postInstall = "ln -s $out/include/SDL2/SDL_mixer.h $out/include/";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    homepage = "https://www.libsdl.org/projects/SDL_mixer/";
+    license = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_net/default.nix b/pkgs/development/libraries/SDL2_net/default.nix
index 6f096577819..15a3305c7f4 100644
--- a/pkgs/development/libraries/SDL2_net/default.nix
+++ b/pkgs/development/libraries/SDL2_net/default.nix
@@ -1,22 +1,21 @@
 { stdenv, fetchurl, SDL2 }:
 
 stdenv.mkDerivation rec {
-  name = "SDL2_net-2.0.0";
+  name = "SDL2_net-${version}";
+  version = "2.0.1";
 
   src = fetchurl {
     url = "http://www.libsdl.org/projects/SDL_net/release/${name}.tar.gz";
-    sha256 = "d715be30783cc99e541626da52079e308060b21d4f7b95f0224b1d06c1faacab";
+    sha256 = "08cxc1bicmyk89kiks7izw1rlx5ng5n6xpy8fy0zxni3b9z8mkhm";
   };
 
-  propagatedBuildInputs = [SDL2];
-
-  postInstall = "ln -s $out/include/SDL2/SDL_net.h $out/include/";
+  propagatedBuildInputs = [ SDL2 ];
 
   meta = with stdenv.lib; {
     description = "SDL multiplatform networking library";
-    homepage = https://www.libsdl.org/projects/SDL_net;
+    homepage = "https://www.libsdl.org/projects/SDL_net";
     license = licenses.zlib;
-    maintainers = [ maintainers.MP2E ];
+    maintainers = with maintainers; [ MP2E ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
index 84944c0aa66..71aeecb3a80 100644
--- a/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, SDL2, freetype }:
+{ stdenv, fetchurl, SDL2, freetype, mesa_noglu }:
 
 stdenv.mkDerivation rec {
-  name = "SDL2_ttf-2.0.14";
+  name = "SDL2_ttf-${version}";
+  version = "2.0.14";
 
   src = fetchurl {
     url = "https://www.libsdl.org/projects/SDL_ttf/release/${name}.tar.gz";
     sha256 = "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl";
   };
 
-  buildInputs = [SDL2 freetype];
+  buildInputs = [ SDL2 freetype mesa_noglu ];
 
-  postInstall = "ln -s $out/include/SDL2/SDL_ttf.h $out/include/";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL TrueType library";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.zlib;
+    homepage = "https://www.libsdl.org/projects/SDL_ttf/";
   };
 }
diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix
index 7bff348b754..ff8c081af93 100644
--- a/pkgs/development/libraries/SDL_gfx/default.nix
+++ b/pkgs/development/libraries/SDL_gfx/default.nix
@@ -1,7 +1,8 @@
-{stdenv, fetchurl, SDL} :
+{ stdenv, fetchurl, SDL }:
 
 stdenv.mkDerivation rec {
-  name = "SDL_gfx-2.0.25";
+  name = "SDL_gfx-${version}";
+  version = "2.0.25";
 
   src = fetchurl {
     url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
@@ -10,16 +11,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL ] ;
 
-  configureFlags = "--disable-mmx";
+  configureFlags = [ "--disable-mmx" ];
 
-  postInstall = ''
-    sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
-      $out/include/SDL/*.h
-    
-    ln -s $out/include/SDL/*.h $out/include/;
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
 
     longDescription =
@@ -40,10 +34,10 @@ stdenv.mkDerivation rec {
          code. Its is written in plain C and can be used in C++ code.
        '';
 
-    homepage = https://sourceforge.net/projects/sdlgfx/;
-    license = stdenv.lib.licenses.lgpl2Plus;
+    homepage = "https://sourceforge.net/projects/sdlgfx/";
+    license = licenses.zlib;
 
-    maintainers = [ stdenv.lib.maintainers.bjg ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = with maintainers; [ bjg ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index a1d83950477..62af47807cc 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, SDL, libpng, libjpeg, libtiff, libungif, libXpm }:
 
 stdenv.mkDerivation rec {
-  name = "SDL_image-1.2.12";
+  name = "SDL_image-${version}";
+  version = "1.2.12";
 
   src = fetchurl {
     url    = "http://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
@@ -10,18 +11,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL libpng libjpeg libtiff libungif libXpm ];
 
-  postInstall = ''
-    sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
-      -e 's,"SDL_version.h",<SDL/SDL_version.h>,' \
-      -e 's,"begin_code.h",<SDL/begin_code.h>,' \
-      -e 's,"close_code.h",<SDL/close_code.h>,' \
-      $out/include/SDL/SDL_image.h
-    ln -sv SDL/SDL_image.h $out/include/SDL_image.h
-  '';
-
   meta = with stdenv.lib; {
     description = "SDL image library";
-    homepage    = http://www.libsdl.org/projects/SDL_image/;
+    homepage    = "http://www.libsdl.org/projects/SDL_image/";
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index 22a67b13e0b..d3d57947464 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libogg, libvorbis, smpeg, enableNativeMidi ? false, fluidsynth ? null }:
+{ stdenv, lib, fetchurl, SDL, libogg, libvorbis, smpeg, enableNativeMidi ? false, fluidsynth ? null }:
 
 stdenv.mkDerivation rec {
   pname   = "SDL_mixer";
@@ -10,11 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n";
   };
 
-  buildInputs = [SDL libogg libvorbis fluidsynth smpeg];
+  buildInputs = [ SDL libogg libvorbis fluidsynth smpeg ];
 
-  configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi " --enable-music-native-midi-gpl";
-
-  postInstall = "ln -s $out/include/SDL/SDL_mixer.h $out/include/";
+  configureFlags = [ "--disable-music-ogg-shared" ] ++ lib.optional enableNativeMidi " --enable-music-native-midi-gpl";
 
   meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
diff --git a/pkgs/development/libraries/SDL_net/default.nix b/pkgs/development/libraries/SDL_net/default.nix
index 045ad8925d9..b151d0ee83e 100644
--- a/pkgs/development/libraries/SDL_net/default.nix
+++ b/pkgs/development/libraries/SDL_net/default.nix
@@ -11,21 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "1d5c9xqlf4s1c01gzv6cxmg0r621pq9kfgxcg3197xw4p25pljjz";
   };
 
-  propagatedBuildInputs = [SDL];
+  propagatedBuildInputs = [ SDL ];
 
-  postInstall = ''
-    sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
-    -e 's,"SDL_endian.h",<SDL/SDL_endian.h>,' \
-    -e 's,"SDL_version.h",<SDL/SDL_version.h>,' \
-    -e 's,"begin_code.h",<SDL/begin_code.h>,' \
-    -e 's,"close_code.h",<SDL/close_code.h>,' \
-      $out/include/SDL/SDL_net.h
-
-    ln -sv $out/include/SDL/SDL_net.h $out/include/
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL networking library";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.zlib;
+    homepage = "https://www.libsdl.org/projects/SDL_net/release-1.2.html";
   };
 }
diff --git a/pkgs/development/libraries/SDL_sound/default.nix b/pkgs/development/libraries/SDL_sound/default.nix
index 5ca64730f51..8d088b6bbf4 100644
--- a/pkgs/development/libraries/SDL_sound/default.nix
+++ b/pkgs/development/libraries/SDL_sound/default.nix
@@ -1,7 +1,8 @@
-{stdenv, fetchurl, SDL, libvorbis, flac, libmikmod}:
+{ stdenv, fetchurl, SDL, libvorbis, flac, libmikmod }:
 
 stdenv.mkDerivation rec {
-  name = "SDL_sound-1.0.3";
+  name = "SDL_sound-${version}";
+  version = "1.0.3";
 
   src = fetchurl {
     url = "http://icculus.org/SDL_sound/downloads/${name}.tar.gz";
@@ -10,10 +11,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL libvorbis flac libmikmod ];
 
-  postInstall = "ln -s $out/include/SDL/SDL_sound.h $out/include/";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "SDL sound library";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+    homepage = "https://www.icculus.org/SDL_sound/";
   };
 }
diff --git a/pkgs/development/libraries/SDL_stretch/default.nix b/pkgs/development/libraries/SDL_stretch/default.nix
index 52c43da9d16..2a4ddac524c 100644
--- a/pkgs/development/libraries/SDL_stretch/default.nix
+++ b/pkgs/development/libraries/SDL_stretch/default.nix
@@ -1,19 +1,20 @@
 { stdenv, fetchurl, SDL }:
 
-stdenv.mkDerivation {
-  name = "SDL_stretch-0.3.1";
+stdenv.mkDerivation rec {
+  name = "SDL_stretch-${version}";
+  version = "0.3.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sdl-stretch/0.3.1/SDL_stretch-0.3.1.tar.bz2";
+    url = "mirror://sourceforge/sdl-stretch/${version}/${name}.tar.bz2";
     sha256 = "1mzw68sn4yxbp8429jg2h23h8xw2qjid51z1f5pdsghcn3x0pgvw";
   };
 
   buildInputs = [ SDL ];
 
-  meta = {
+  meta = with stdenv.lib; {
      description = "Stretch Functions For SDL";
      homepage = "http://sdl-stretch.sourceforge.net/";
-     license = stdenv.lib.licenses.lgpl2;
-     platforms = stdenv.lib.platforms.linux;
+     license = licenses.lgpl2;
+     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/apache-activemq/default.nix b/pkgs/development/libraries/apache-activemq/default.nix
index 04938868d10..c71dced918a 100644
--- a/pkgs/development/libraries/apache-activemq/default.nix
+++ b/pkgs/development/libraries/apache-activemq/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "apache-activemq-${version}";
-  version = "5.13.2";
+  version = "5.13.4";
 
   src = fetchurl {
-    sha256 = "0vrgny8fw973xvr3w4wc1s44z50b0c2hgcqa91s8fbx2yjmqn5xy";
+    sha256 = "0sp806bmv9vs19zbzlv71ag09p1jbl2wn2wpxfwa20mndri8lsmz";
     url = "mirror://apache/activemq/${version}/${name}-bin.tar.gz";
   };
 
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index e6051552ab7..8450def0845 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -5,13 +5,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "appstream-glib-0.5.11";
+  name = "appstream-glib-0.5.12";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
-    sha256 = "1rvfncm9z29h70pd718j73cd263g6yyxkxrg7zfzy0gj6wwzvhkh";
+    sha256 = "00b0441f409vzgy0znn42k093w7hwv3495qvsakxnhvk1h1ws23s";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool ];
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 937275b6528..62b5ddf8011 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
+{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5-cpp }:
 
 stdenv.mkDerivation rec {
   version = "7.200.2";
@@ -9,12 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm";
   };
 
-  buildInputs = [ cmake openblasCompat superlu hdf5 ];
+  buildInputs = [ cmake openblasCompat superlu hdf5-cpp ];
 
   cmakeFlags = [ "-DDETECT_HDF5=ON" ];
 
-  patches = [ ./use-unix-config-on-OS-X.patch
-              ./use-OpenBLAS-as-LAPACK.patch ];
+  patches = [ ./use-unix-config-on-OS-X.patch ];
   
   meta = with stdenv.lib; {
     description = "C++ linear algebra library";
diff --git a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch
deleted file mode 100644
index e4c77d2cc2e..00000000000
--- a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/cmake_aux/Modules/ARMA_FindLAPACK.cmake b/cmake_aux/Modules/ARMA_FindLAPACK.cmake
-index 5395afb..a203c93 100644
---- a/cmake_aux/Modules/ARMA_FindLAPACK.cmake
-+++ b/cmake_aux/Modules/ARMA_FindLAPACK.cmake
-@@ -5,7 +5,7 @@
- # also defined, but not for general use are
- #  LAPACK_LIBRARY, where to find the LAPACK library.
- 
--SET(LAPACK_NAMES ${LAPACK_NAMES} lapack)
-+SET(LAPACK_NAMES ${LAPACK_NAMES} openblas)
- FIND_LIBRARY(LAPACK_LIBRARY
-   NAMES ${LAPACK_NAMES}
-   PATHS /usr/lib64/atlas /usr/lib/atlas /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib
-
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index f6f0a0d3af7..1f38f69eb0c 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
+{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, libiconv, libintlOrEmpty
 , expat, zlib, libpng, pixman, fontconfig, freetype, xorg
 , gobjectSupport ? true, glib
 , xcbSupport ? true # no longer experimental since 1.12
@@ -19,6 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "0lmjlzmghmr27y615px9hkm552x7ap6pmq9mfbzr6smp8y2b6g31";
   };
 
+  infinality = fetchFromGitHub {
+    owner = "bohoomil";
+    repo = "fontconfig-ultimate";
+    rev = "730f5e77580677e86522c1f2119aa78803741759";
+    sha256 = "1hbrdpm6xcczs2c2iid7by8h7dsd0jcf7an88s150njyqnjzxjg7";
+  };
+
+  prePatch = ''
+    patches="$patches $(echo $infinality/*_cairo-iu/*.patch)"
+  '';
+
   outputs = [ "dev" "out" "docdev" ];
   outputBin = "dev"; # very small
 
diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix
index 62563cfb968..9da83ca913e 100644
--- a/pkgs/development/libraries/cppzmq/default.nix
+++ b/pkgs/development/libraries/cppzmq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cppzmq-${version}";
-  version = "2016-01-20";
+  version = "2016-07-18";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "cppzmq";
-    rev = "68a7b09cfce01c4c279fba2cf91686fcfc566848";
-    sha256 = "00dsqqlm8mxhm8kfdspxfln0wzwkyywscnf264afw02k6xf28ndm";
+    rev = "92d2af6def80a01b76d5e73f073c439ad00ab757";
+    sha256 = "0lnwh314hh5ifad2sa2nz1g1ld1jc4vplm7clyvx304sjjvbvl27";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/cxx-prettyprint/default.nix b/pkgs/development/libraries/cxx-prettyprint/default.nix
new file mode 100644
index 00000000000..8be68a314e3
--- /dev/null
+++ b/pkgs/development/libraries/cxx-prettyprint/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "cxx-prettyprint-unstable-${version}";
+  version = "2016-04-30";
+  rev = "9ab26d228f2960f50b38ad37fe0159b7381f7533";
+
+  src = fetchFromGitHub {
+    owner = "louisdx";
+    repo = "cxx-prettyprint";
+    inherit rev;
+    sha256 = "1bp25yw8fb0mi432f72ihfxfj887gi36b36fpv677gawm786l7p1";
+  };
+
+  installPhase = ''
+    mkdir -p "$out/include"
+    cp prettyprint.hpp "$out/include"
+  '';
+
+  meta = with stdenv.lib; {
+    description    = "Header only C++ library for pretty printing standard containers";
+    homepage       = https://github.com/louisdx/cxx-prettyprint;
+    license        = stdenv.lib.licenses.boost;
+    platforms      = platforms.all;
+
+    # This is a header-only library, no point in hydra building it:
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/development/libraries/cxxtools/default.nix b/pkgs/development/libraries/cxxtools/default.nix
new file mode 100644
index 00000000000..c677ae6d867
--- /dev/null
+++ b/pkgs/development/libraries/cxxtools/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "2.2.1";
+  name = "cxxtools";
+
+  src = fetchurl {
+    url = "http://www.tntnet.org/download/${name}-${version}.tar.gz";
+    sha256 = "0hp3qkyhidxkdf8qgkwrnqq5bpahink55mf0yz23rjd7rpbbdswc";
+  };
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://www.tntnet.org/cxxtools.html";
+    description = "Comprehensive C++ class library for Unix and Linux";
+    platforms = stdenv.lib.platforms.linux ;
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = [ stdenv.lib.maintainers.juliendehos ];
+  };
+}
diff --git a/pkgs/development/libraries/czmq/default.nix b/pkgs/development/libraries/czmq/default.nix
index 5e2081e750d..69b64629bd8 100644
--- a/pkgs/development/libraries/czmq/default.nix
+++ b/pkgs/development/libraries/czmq/default.nix
@@ -1,15 +1,17 @@
 { stdenv, fetchurl, zeromq }:
 
 stdenv.mkDerivation rec {
-  baseName="czmq";
-  version="3.0.2";
-  name="${baseName}-${version}";
+  version = "3.0.2";
+  name = "czmq-${version}";
 
   src = fetchurl {
     url = "http://download.zeromq.org/${name}.tar.gz";
     sha256 = "16k9awrhdsymx7dnmvqcnkaq8lz8x8zppy6sh7ls8prpd6mkkjlb";
   };
 
+  # Fix build on Glibc 2.24.
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   # Needs to be propagated for the .pc file to work
   propagatedBuildInputs = [ zeromq ];
 
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 6b92848fd0f..68d1e62244c 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -35,7 +35,9 @@ stdenv.mkDerivation rec {
     # all x86_64 have sse2
     # however, not all float sizes fit
     ++ optional (stdenv.isx86_64 && (precision == "single" || precision == "double") )  "--enable-sse2"
-    ++ optional stdenv.cc.isGNU "--enable-openmp";
+    ++ optional stdenv.cc.isGNU "--enable-openmp"
+    # doc generation causes Fortran wrapper generation which hard-codes gcc
+    ++ optional (!stdenv.cc.isGNU) "--disable-doc";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index dc07c481b10..f4ab12e3c7f 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, boost, libevent, double_conversion, glog
-, google-gflags, python, libiberty, openssl }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, boost, libevent
+, double_conversion, glog, google-gflags, python, libiberty, openssl }:
 
 stdenv.mkDerivation rec {
   name = "folly-${version}";
-  version = "2016-04-29";
+  version = "2016.08.08.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
-    rev = "b31eb722e444ab0293a73fe9de3f94e657ca6de9";
-    sha256 = "0s95y0wnz4xbrkzbiksnb0n0d0qrkcsbssznng57kwlq8jlfka24";
+    rev = "v${version}";
+    sha256 = "0f9xdi8w2mbn6gxjfvpzh8i22ca8p11a2ss6qkw31yhdgd3s9087";
   };
 
-  nativeBuildInputs = [ autoreconfHook python ];
+  nativeBuildInputs = [ autoreconfHook python pkgconfig ];
   buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ];
 
   postPatch = "cd folly";
diff --git a/pkgs/development/libraries/fontconfig-ultimate/confd.nix b/pkgs/development/libraries/fontconfig-ultimate/confd.nix
deleted file mode 100644
index 160fef5f07e..00000000000
--- a/pkgs/development/libraries/fontconfig-ultimate/confd.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-
-let version = "2015-12-06"; in
-stdenv.mkDerivation {
-  name = "fontconfig-ultimate-${version}";
-
-  src = fetchFromGitHub {
-    sha256 = "02a811szxkq4q088nxfpdzp6rv0brvgkdhwigk09qffygxd776g6";
-    rev = version;
-    repo = "fontconfig-ultimate";
-    owner = "bohoomil";
-  };
-
-  phases = "$prePhases unpackPhase installPhase $postPhases";
-
-  installPhase = ''
-    mkdir -p $out/etc/fonts/conf.d
-    cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
-
-    # Base rendering settings will be determined by NixOS module
-    rm $out/etc/fonts/conf.d/10-base-rendering.conf
-
-    # Options controlled by NixOS module
-    rm $out/etc/fonts/conf.d/35-repl-custom.conf
-    rm $out/etc/fonts/conf.d/38-repl-*.conf
-    rm $out/etc/fonts/conf.d/82-*.conf
-    rm $out/etc/fonts/conf.d/83-*.conf
-
-    # Inclusion of local and user configs handled by global configuration
-    rm $out/etc/fonts/conf.d/29-local.conf
-    rm $out/etc/fonts/conf.d/28-user.conf
-
-    cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
-
-    mkdir -p $out/etc/fonts/presets/{combi,free,ms}
-    cp fontconfig_patches/combi/*.conf $out/etc/fonts/presets/combi
-    cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
-    cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
-  '';
-}
diff --git a/pkgs/development/libraries/fontconfig-ultimate/default.nix b/pkgs/development/libraries/fontconfig-ultimate/default.nix
index aa799d850d7..efef59cad3b 100644
--- a/pkgs/development/libraries/fontconfig-ultimate/default.nix
+++ b/pkgs/development/libraries/fontconfig-ultimate/default.nix
@@ -1,6 +1,43 @@
-{ callPackage }:
+{ stdenv, fetchFromGitHub }:
 
-{
-  confd = callPackage ./confd.nix {};
-  rendering = callPackage ./rendering.nix {};
+let version = "2016-04-23"; in
+stdenv.mkDerivation {
+  name = "fontconfig-ultimate-${version}";
+
+  src = fetchFromGitHub {
+    sha256 = "1rd2n60l8bamx84q3l91pd9a0wz9h7p6ajvx1dw22qn8rah4h498";
+    rev = version;
+    repo = "fontconfig-ultimate";
+    owner = "bohoomil";
+  };
+
+  phases = "$prePhases unpackPhase installPhase $postPhases";
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    cp conf.d.infinality/*.conf $out/etc/fonts/conf.d
+
+    # Base rendering settings will be determined by NixOS module
+    rm $out/etc/fonts/conf.d/10-base-rendering.conf
+
+    # Options controlled by NixOS module
+    rm $out/etc/fonts/conf.d/35-repl-custom.conf
+    rm $out/etc/fonts/conf.d/38-repl-*.conf
+    rm $out/etc/fonts/conf.d/82-*.conf
+    rm $out/etc/fonts/conf.d/83-*.conf
+
+    # Inclusion of local and user configs handled by global configuration
+    rm $out/etc/fonts/conf.d/29-local.conf
+    rm $out/etc/fonts/conf.d/28-user.conf
+
+    cp fontconfig_patches/fonts-settings/*.conf $out/etc/fonts/conf.d
+
+    # fix font priority issue https://github.com/bohoomil/fontconfig-ultimate/issues/173
+    mv $out/etc/fonts/conf.d/{43,60}-wqy-zenhei-sharp.conf
+
+    mkdir -p $out/etc/fonts/presets/{combi,free,ms}
+    cp fontconfig_patches/combi/*.conf $out/etc/fonts/presets/combi
+    cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
+    cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
+  '';
 }
diff --git a/pkgs/development/libraries/fontconfig-ultimate/rendering.nix b/pkgs/development/libraries/fontconfig-ultimate/rendering.nix
deleted file mode 100644
index b1de43b49b2..00000000000
--- a/pkgs/development/libraries/fontconfig-ultimate/rendering.nix
+++ /dev/null
@@ -1,212 +0,0 @@
-{}:
-
-rec {
-  default = {
-    INFINALITY_FT_FILTER_PARAMS="11 22 38 22 11";
-    INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH="0";
-    INFINALITY_FT_FRINGE_FILTER_STRENGTH="0";
-    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="10";
-    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="25";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="10";
-    INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="25";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="25";
-    INFINALITY_FT_GAMMA_CORRECTION="0 100";
-    INFINALITY_FT_BRIGHTNESS="0";
-    INFINALITY_FT_CONTRAST="0";
-    INFINALITY_FT_USE_VARIOUS_TWEAKS="true";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="true";
-    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="100";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="40";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="true";
-    INFINALITY_FT_GLOBAL_EMBOLDEN_X_VALUE="0";
-    INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE="0";
-    INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE="0";
-    INFINALITY_FT_BOLD_EMBOLDEN_Y_VALUE="0";
-  };
-
-  osx = default // {
-    INFINALITY_FT_FILTER_PARAMS="03 32 38 32 03";
-    INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH="25";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 80";
-    INFINALITY_FT_BRIGHTNESS="10";
-    INFINALITY_FT_CONTRAST="20";
-    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-    INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE="8";
-    INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE="16";
-  };
-
-  ipad = default // {
-    INFINALITY_FT_FILTER_PARAMS="00 00 100 00 00";
-    INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH="100";
-    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="0";
-    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="0";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 80";
-    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-  };
-
-  ubuntu = default // {
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 80";
-    INFINALITY_FT_BRIGHTNESS="-10";
-    INFINALITY_FT_CONTRAST="15";
-    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-  };
-
-  linux = default // {
-    INFINALITY_FT_FILTER_PARAMS="06 25 44 25 06";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="100";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-  };
-
-  winxplight = default // {
-    INFINALITY_FT_FILTER_PARAMS="06 25 44 25 06";
-    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="15";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="15";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 120";
-    INFINALITY_FT_BRIGHTNESS="20";
-    INFINALITY_FT_CONTRAST="30";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
-  };
-
-  win7light = default // {
-    INFINALITY_FT_FILTER_PARAMS="20 25 38 25 05";
-    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="100";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 160";
-    INFINALITY_FT_CONTRAST="20";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
-  };
-
-  winxp = default // {
-    INFINALITY_FT_FILTER_PARAMS="06 25 44 25 06";
-    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="15";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="15";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 120";
-    INFINALITY_FT_BRIGHTNESS="10";
-    INFINALITY_FT_CONTRAST="20";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
-  };
-
-  win7 = default // {
-    INFINALITY_FT_FILTER_PARAMS="20 25 42 25 06";
-    INFINALITY_FT_FRINGE_FILTER_STRENGTH="100";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_GAMMA_CORRECTION="1000 120";
-    INFINALITY_FT_BRIGHTNESS="10";
-    INFINALITY_FT_CONTRAST="20";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-  };
-
-  vanilla = default // {
-    INFINALITY_FT_FILTER_PARAMS="06 25 38 25 06";
-    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="0";
-    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="0";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_USE_VARIOUS_TWEAKS="false";
-    INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS="false";
-    INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT="0";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-  };
-
-  classic = default // {
-    INFINALITY_FT_FILTER_PARAMS="06 25 38 25 06";
-    INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH="0";
-    INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH="0";
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="0";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="0";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-  };
-
-  nudge = default // {
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
-    INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS="false";
-  };
-
-  push = default // {
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="75";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="50";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="30";
-  };
-
-  infinality = default // {
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="5";
-  };
-
-  shove = default // {
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="0";
-    INFINALITY_FT_STEM_ALIGNMENT_STRENGTH="100";
-    INFINALITY_FT_STEM_FITTING_STRENGTH="100";
-    INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE="0";
-  };
-
-  sharpened = default // {
-    INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH="65";
-  };
-
-  ultimate = {
-    INFINALITY_FT_FILTER_PARAMS="08 24 36 24 08";
-    INFINALITY_FT_FRINGE_FILTER_STRENGTH="50";
-    INFINALITY_FT_USE_VARIOUS_TWEAKS="true";
-    INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH="20";
-  };
-
-  ultimate-lighter = ultimate // {
-    INFINALITY_FT_FILTER_PARAMS="06 22 36 22 06";
-  };
-
-  ultimate-lightest = ultimate // {
-    INFINALITY_FT_FILTER_PARAMS="04 22 38 22 04";
-  };
-
-  ultimate-darker = ultimate // {
-    INFINALITY_FT_FILTER_PARAMS="10 25 37 25 10";
-  };
-
-  ultimate-darkest = ultimate // {
-    INFINALITY_FT_FILTER_PARAMS="12 28 42 28 12";
-  };
-}
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 6acf1ebce29..74048afe731 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -66,9 +66,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     cd "$out/etc/fonts"
-    rm conf.d/{50-user,51-local}.conf
     "${libxslt.bin}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \
-      --stringparam fontconfig "$out" \
       --stringparam fontconfigConfigVersion "${configVersion}" \
       --path $out/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
index b59fcd0187b..dddbbe9e516 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.xsl
@@ -28,8 +28,6 @@
       <!-- /var/cache/fontconfig is useful for non-nixos systems -->
       <cachedir>/var/cache/fontconfig</cachedir>
 
-      <!-- fontconfig distribution conf.d -->
-      <include><xsl:value-of select="$fontconfig" />/etc/fonts/conf.d</include>
       <!-- versioned system-wide config -->
       <include ignore_missing="yes">/etc/fonts/<xsl:value-of select="$fontconfigConfigVersion" />/conf.d</include>
 
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 0548d1433b7..8ef51172f94 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,40 +1,55 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, which, zlib, bzip2, libpng, gnumake
+{ 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
 }:
 
+assert useInfinality -> useEncumberedCode;
+
 let
-  version = "2.6.2";
+  version = "2.6.5";
 
-  # Don't use fetchpatch. It mangles them. That's an hour I'll never get back.
-  fetchbohoomil = name: sha256: fetchurl {
-    url = https://raw.githubusercontent.com/bohoomil/fontconfig-ultimate/254b688f96d4a37f78fb594303a43160fc15c7cd/freetype/ + name;
-    inherit sha256;
+  infinality = fetchFromGitHub {
+    owner = "archfan";
+    repo = "infinality_bundle";
+    rev = "5c0949a477bf43d2ac4e57b4fc39bcc3331002ee";
+    sha256 = "17389aqm6rlxl4b5mv1fx4b22x2v2n60hfhixfxqxpd8ialsdi6l";
   };
+
 in
 with { inherit (stdenv.lib) optional optionals optionalString; };
 stdenv.mkDerivation rec {
   name = "freetype-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "14mqrfgl18q2by1yzv6vcxi97zjy4kppcgsqf312mhfwgkpvvxms";
+    url = "mirror://savannah/freetype/${name}.tar.bz2";
+    sha256 = "1w5c87s4rpx9af5b3mk5cjd1yny3c4dq5p9iv3ixb3vr00a6w2p2";
   };
 
-  patches = []
-    # mingw: these patches use `strcasestr` which isn't available on windows
-    ++ optionals (useEncumberedCode && stdenv.cross.libc or null != "msvcrt" ) [
-      (fetchbohoomil "01-freetype-2.6.2-enable-valid.patch"
-        "1szq0zha7n41f4pq179wgfkam034mp2xn0xc36sdl5sjp9s9hv08")
-      (fetchbohoomil "02-upstream-2015.12.05.patch"
-        "0781r9n35kpn8db8nma0l47cpkzh0hbp84ziii5sald90dnrqdj4")
-      (fetchbohoomil "03-infinality-2.6.2-2015.12.05.patch"
-        "0wcjf9hiymplgqm3szla633i417pb57vpzzs2dyl1dnmcxgqa2y8")
-    ];
+  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 = [ "dev" "out" ];
 
@@ -44,10 +59,8 @@ stdenv.mkDerivation rec {
     # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
     ++ optional (!stdenv.isLinux) gnumake;
 
-  configureFlags = "--disable-static --bindir=$(dev)/bin";
+  configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
 
-  # from Gentoo, see https://bugzilla.redhat.com/show_bug.cgi?id=506840
-  NIX_CFLAGS_COMPILE = "-fno-strict-aliasing";
   # The asm for armel is written with the 'asm' keyword.
   CFLAGS = optionalString stdenv.isArm "-std=gnu99";
 
@@ -66,7 +79,14 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A font rendering engine";
-    homepage = http://www.freetype.org/;
+    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/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index bd5ee16eb67..71b65131015 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  configureFlags = [ "--enable-libgdbm-compat" ];
+
   meta = with stdenv.lib; {
     description = "GNU dbm key/value database library";
 
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index c2121f31f1d..2d7e26b9e1a 100644
--- a/pkgs/development/libraries/gdcm/default.nix
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, vtk }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.6";
+  version = "2.6.4";
   name = "gdcm-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/gdcm/${name}.tar.bz2";
-    sha256 = "0rgqgkjyqgld0hpa311z8cddp42v9ihzidyanwyxqpv3jmcrlsfk";
+    sha256 = "14bysjdldq7xb9k1ayskxijm08dy2n45v9bg379dqrcz1q5xq5mi";
   };
 
   dontUseCmakeBuildDir = true;
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index f66ade28da9..2a201ed5523 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
-, librsvg, pango, gtk, bzip2, intltool, libtool, automake, autoconf, json_glib }:
+, librsvg, pango, gtk, bzip2, intltool, libtool, automake, autoconf, json_glib , libraw }:
 
 stdenv.mkDerivation rec {
   name = "gegl-0.3.6";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-docs";
 
   buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk bzip2 intltool
-                  autoconf automake libtool which json_glib ];
+                  autoconf automake libtool which json_glib libraw ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 3c044bb6efa..e82b4385a9c 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -40,7 +40,7 @@ let
   '';
 
   ver_maj = "2.48";
-  ver_min = "1";
+  ver_min = "2";
 in
 
 stdenv.mkDerivation rec {
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
-    sha256 = "74411bff489cb2a3527bac743a51018841a56a4d896cc1e0d0d54f8166a14612";
+    sha256 = "f25e751589cb1a58826eac24fbd4186cda4518af772806b666a3f91f66e6d3f4";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch;
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index e90fdc4ad7b..d7e91642342 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -10,9 +10,8 @@ cross:
 , preConfigure ? "", ... }@args:
 
 let
-
-  version = "2.23";
-  sha256 = "1lk9a8jv5kyx8hp0wmfzjyk047q95ybyjqbyw5idl7414jxqml1b";
+  version = "2.24";
+  sha256 = "1ghzp41ryvsqxn4rhrm8r25wc33m2jf8zrcc1pj3jxyk8ad9a0by";
 in
 
 assert cross != null -> gccCross != null;
@@ -49,12 +48,6 @@ stdenv.mkDerivation ({
          "/bin:/usr/bin", which is inappropriate on NixOS machines. This
          patch extends the search path by "/run/current-system/sw/bin". */
       ./fix_path_attribute_in_getconf.patch
-
-      ./cve-2016-3075.patch
-      ./glob-simplify-interface.patch
-      ./cve-2016-1234.patch
-      ./cve-2016-3706.patch
-      ./fix_warnings.patch
     ];
 
   postPatch =
@@ -89,7 +82,6 @@ stdenv.mkDerivation ({
       "--enable-add-ons"
       "--enable-obsolete-rpc"
       "--sysconfdir=/etc"
-      "--localedir=/var/run/current-system/sw/lib/locale"
       "libc_cv_ssp=no"
       (if linuxHeaders != null
        then "--with-headers=${linuxHeaders}/include"
diff --git a/pkgs/development/libraries/glibc/cve-2016-1234.patch b/pkgs/development/libraries/glibc/cve-2016-1234.patch
deleted file mode 100644
index d98577868a9..00000000000
--- a/pkgs/development/libraries/glibc/cve-2016-1234.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-commit c87db3fcbdf890990b44d956621763538c878cd3
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Wed May 4 12:09:35 2016 +0200
-
-    CVE-2016-1234: glob: Do not copy d_name field of struct dirent [BZ #19779]
-    
-    Instead, we store the data we need from the return value of
-    readdir in an object of the new type struct readdir_result.
-    This type is independent of the layout of struct dirent.
-    
-    (cherry picked from commit 5171f3079f2cc53e0548fc4967361f4d1ce9d7ea)
-
-diff --git a/posix/bug-glob2.c b/posix/bug-glob2.c
-index 0fdc5d0..5873e08 100644
---- a/posix/bug-glob2.c
-+++ b/posix/bug-glob2.c
-@@ -40,6 +40,17 @@
- # define PRINTF(fmt, args...)
- #endif
- 
-+#define LONG_NAME \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-+  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- 
- static struct
- {
-@@ -58,6 +69,7 @@ static struct
-       { ".", 3, DT_DIR, 0755 },
-       { "..", 3, DT_DIR, 0755 },
-       { "a", 3, DT_REG, 0644 },
-+      { LONG_NAME, 3, DT_REG, 0644 },
-     { "unreadable", 2, DT_DIR, 0111 },
-       { ".", 3, DT_DIR, 0111 },
-       { "..", 3, DT_DIR, 0755 },
-@@ -75,7 +87,7 @@ typedef struct
-   int level;
-   int idx;
-   struct dirent d;
--  char room_for_dirent[NAME_MAX];
-+  char room_for_dirent[sizeof (LONG_NAME)];
- } my_DIR;
- 
- 
-diff --git a/posix/glob.c b/posix/glob.c
-index 9ae76ac..ea4b0b6 100644
---- a/posix/glob.c
-+++ b/posix/glob.c
-@@ -24,7 +24,9 @@
- #include <errno.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <stdbool.h>
- #include <stddef.h>
-+#include <stdint.h>
- 
- /* Outcomment the following line for production quality code.  */
- /* #define NDEBUG 1 */
-@@ -73,69 +75,8 @@
- # endif /* HAVE_VMSDIR_H */
- #endif
- 
--
--/* When used in the GNU libc the symbol _DIRENT_HAVE_D_TYPE is available
--   if the `d_type' member for `struct dirent' is available.
--   HAVE_STRUCT_DIRENT_D_TYPE plays the same role in GNULIB.  */
--#if defined _DIRENT_HAVE_D_TYPE || defined HAVE_STRUCT_DIRENT_D_TYPE
--/* True if the directory entry D must be of type T.  */
--# define DIRENT_MUST_BE(d, t)	((d)->d_type == (t))
--
--/* True if the directory entry D might be a symbolic link.  */
--# define DIRENT_MIGHT_BE_SYMLINK(d) \
--    ((d)->d_type == DT_UNKNOWN || (d)->d_type == DT_LNK)
--
--/* True if the directory entry D might be a directory.  */
--# define DIRENT_MIGHT_BE_DIR(d)	 \
--    ((d)->d_type == DT_DIR || DIRENT_MIGHT_BE_SYMLINK (d))
--
--#else /* !HAVE_D_TYPE */
--# define DIRENT_MUST_BE(d, t)		false
--# define DIRENT_MIGHT_BE_SYMLINK(d)	true
--# define DIRENT_MIGHT_BE_DIR(d)		true
--#endif /* HAVE_D_TYPE */
--
--/* If the system has the `struct dirent64' type we use it internally.  */
--#if defined _LIBC && !defined COMPILE_GLOB64
--
--# if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
--#  define CONVERT_D_INO(d64, d32)
--# else
--#  define CONVERT_D_INO(d64, d32) \
--  (d64)->d_ino = (d32)->d_ino;
--# endif
--
--# ifdef _DIRENT_HAVE_D_TYPE
--#  define CONVERT_D_TYPE(d64, d32) \
--  (d64)->d_type = (d32)->d_type;
--# else
--#  define CONVERT_D_TYPE(d64, d32)
--# endif
--
--# define CONVERT_DIRENT_DIRENT64(d64, d32) \
--  strcpy ((d64)->d_name, (d32)->d_name);				      \
--  CONVERT_D_INO (d64, d32)						      \
--  CONVERT_D_TYPE (d64, d32)
--#endif
--
--
--#if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
--/* Posix does not require that the d_ino field be present, and some
--   systems do not provide it. */
--# define REAL_DIR_ENTRY(dp) 1
--#else
--# define REAL_DIR_ENTRY(dp) (dp->d_ino != 0)
--#endif /* POSIX */
--
- #include <stdlib.h>
- #include <string.h>
--
--/* NAME_MAX is usually defined in <dirent.h> or <limits.h>.  */
--#include <limits.h>
--#ifndef NAME_MAX
--# define NAME_MAX (sizeof (((struct dirent *) 0)->d_name))
--#endif
--
- #include <alloca.h>
- 
- #ifdef _LIBC
-@@ -180,8 +121,111 @@
- 
- static const char *next_brace_sub (const char *begin, int flags) __THROWNL;
- 
-+/* A representation of a directory entry which does not depend on the
-+   layout of struct dirent, or the size of ino_t.  */
-+struct readdir_result
-+{
-+  const char *name;
-+# if defined _DIRENT_HAVE_D_TYPE || defined HAVE_STRUCT_DIRENT_D_TYPE
-+  uint8_t type;
-+# endif
-+  bool skip_entry;
-+};
-+
-+# if defined _DIRENT_HAVE_D_TYPE || defined HAVE_STRUCT_DIRENT_D_TYPE
-+/* Initializer based on the d_type member of struct dirent.  */
-+#  define D_TYPE_TO_RESULT(source) (source)->d_type,
-+
-+/* True if the directory entry D might be a symbolic link.  */
-+static bool
-+readdir_result_might_be_symlink (struct readdir_result d)
-+{
-+  return d.type == DT_UNKNOWN || d.type == DT_LNK;
-+}
-+
-+/* True if the directory entry D might be a directory.  */
-+static bool
-+readdir_result_might_be_dir (struct readdir_result d)
-+{
-+  return d.type == DT_DIR || readdir_result_might_be_symlink (d);
-+}
-+# else /* defined _DIRENT_HAVE_D_TYPE || defined HAVE_STRUCT_DIRENT_D_TYPE */
-+#  define D_TYPE_TO_RESULT(source)
-+
-+/* If we do not have type information, symbolic links and directories
-+   are always a possibility.  */
-+
-+static bool
-+readdir_result_might_be_symlink (struct readdir_result d)
-+{
-+  return true;
-+}
-+
-+static bool
-+readdir_result_might_be_dir (struct readdir_result d)
-+{
-+  return true;
-+}
-+
-+# endif /* defined _DIRENT_HAVE_D_TYPE || defined HAVE_STRUCT_DIRENT_D_TYPE */
-+
-+# if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
-+/* Initializer for skip_entry.  POSIX does not require that the d_ino
-+   field be present, and some systems do not provide it. */
-+#  define D_INO_TO_RESULT(source) false,
-+# else
-+#  define D_INO_TO_RESULT(source) (source)->d_ino == 0,
-+# endif
-+
-+/* Construct an initializer for a struct readdir_result object from a
-+   struct dirent *.  No copy of the name is made.  */
-+#define READDIR_RESULT_INITIALIZER(source) \
-+  {					   \
-+    source->d_name,			   \
-+    D_TYPE_TO_RESULT (source)		   \
-+    D_INO_TO_RESULT (source)		   \
-+  }
-+
- #endif /* !defined _LIBC || !defined GLOB_ONLY_P */
- 
-+/* Call gl_readdir on STREAM.  This macro can be overridden to reduce
-+   type safety if an old interface version needs to be supported.  */
-+#ifndef GL_READDIR
-+# define GL_READDIR(pglob, stream) ((pglob)->gl_readdir (stream))
-+#endif
-+
-+/* Extract name and type from directory entry.  No copy of the name is
-+   made.  If SOURCE is NULL, result name is NULL.  Keep in sync with
-+   convert_dirent64 below.  */
-+static struct readdir_result
-+convert_dirent (const struct dirent *source)
-+{
-+  if (source == NULL)
-+    {
-+      struct readdir_result result = { NULL, };
-+      return result;
-+    }
-+  struct readdir_result result = READDIR_RESULT_INITIALIZER (source);
-+  return result;
-+}
-+
-+#ifndef COMPILE_GLOB64
-+/* Like convert_dirent, but works on struct dirent64 instead.  Keep in
-+   sync with convert_dirent above.  */
-+static struct readdir_result
-+convert_dirent64 (const struct dirent64 *source)
-+{
-+  if (source == NULL)
-+    {
-+      struct readdir_result result = { NULL, };
-+      return result;
-+    }
-+  struct readdir_result result = READDIR_RESULT_INITIALIZER (source);
-+  return result;
-+}
-+#endif
-+
-+
- #ifndef attribute_hidden
- # define attribute_hidden
- #endif
-@@ -1538,55 +1582,36 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
- 
- 	  while (1)
- 	    {
--	      const char *name;
--#if defined _LIBC && !defined COMPILE_GLOB64
--	      struct dirent64 *d;
--	      union
--		{
--		  struct dirent64 d64;
--		  char room [offsetof (struct dirent64, d_name[0])
--			     + NAME_MAX + 1];
--		}
--	      d64buf;
--
--	      if (__glibc_unlikely (flags & GLOB_ALTDIRFUNC))
--		{
--		  struct dirent *d32 = (*pglob->gl_readdir) (stream);
--		  if (d32 != NULL)
--		    {
--		      CONVERT_DIRENT_DIRENT64 (&d64buf.d64, d32);
--		      d = &d64buf.d64;
--		    }
--		  else
--		    d = NULL;
--		}
--	      else
--		d = __readdir64 (stream);
-+	      struct readdir_result d;
-+	      {
-+		if (__builtin_expect (flags & GLOB_ALTDIRFUNC, 0))
-+		  d = convert_dirent (GL_READDIR (pglob, stream));
-+		else
-+		  {
-+#ifdef COMPILE_GLOB64
-+		    d = convert_dirent (__readdir (stream));
- #else
--	      struct dirent *d = (__builtin_expect (flags & GLOB_ALTDIRFUNC, 0)
--				  ? ((struct dirent *)
--				     (*pglob->gl_readdir) (stream))
--				  : __readdir (stream));
-+		    d = convert_dirent64 (__readdir64 (stream));
- #endif
--	      if (d == NULL)
-+		  }
-+	      }
-+	      if (d.name == NULL)
- 		break;
--	      if (! REAL_DIR_ENTRY (d))
-+	      if (d.skip_entry)
- 		continue;
- 
- 	      /* If we shall match only directories use the information
- 		 provided by the dirent call if possible.  */
--	      if ((flags & GLOB_ONLYDIR) && !DIRENT_MIGHT_BE_DIR (d))
-+	      if ((flags & GLOB_ONLYDIR) && !readdir_result_might_be_dir (d))
- 		continue;
- 
--	      name = d->d_name;
--
--	      if (fnmatch (pattern, name, fnm_flags) == 0)
-+	      if (fnmatch (pattern, d.name, fnm_flags) == 0)
- 		{
- 		  /* If the file we found is a symlink we have to
- 		     make sure the target file exists.  */
--		  if (!DIRENT_MIGHT_BE_SYMLINK (d)
--		      || link_exists_p (dfd, directory, dirlen, name, pglob,
--					flags))
-+		  if (!readdir_result_might_be_symlink (d)
-+		      || link_exists_p (dfd, directory, dirlen, d.name,
-+					pglob, flags))
- 		    {
- 		      if (cur == names->count)
- 			{
-@@ -1606,7 +1631,7 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
- 			  names = newnames;
- 			  cur = 0;
- 			}
--		      names->name[cur] = strdup (d->d_name);
-+		      names->name[cur] = strdup (d.name);
- 		      if (names->name[cur] == NULL)
- 			goto memory_error;
- 		      ++cur;
-diff --git a/sysdeps/unix/sysv/linux/i386/glob64.c b/sysdeps/unix/sysv/linux/i386/glob64.c
-index b4fcd1a..802c957 100644
---- a/sysdeps/unix/sysv/linux/i386/glob64.c
-+++ b/sysdeps/unix/sysv/linux/i386/glob64.c
-@@ -1,3 +1,21 @@
-+/* Two glob variants with 64-bit support, for dirent64 and __olddirent64.
-+   Copyright (C) 1998-2016 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, see
-+   <http://www.gnu.org/licenses/>.  */
-+
- #include <dirent.h>
- #include <glob.h>
- #include <sys/stat.h>
-@@ -38,11 +56,15 @@ int __old_glob64 (const char *__pattern, int __flags,
- 
- #undef dirent
- #define dirent __old_dirent64
-+#undef GL_READDIR
-+# define GL_READDIR(pglob, stream) \
-+  ((struct __old_dirent64 *) (pglob)->gl_readdir (stream))
- #undef __readdir
- #define __readdir(dirp) __old_readdir64 (dirp)
- #undef glob
- #define glob(pattern, flags, errfunc, pglob) \
-   __old_glob64 (pattern, flags, errfunc, pglob)
-+#define convert_dirent __old_convert_dirent
- #define glob_in_dir __old_glob_in_dir
- #define GLOB_ATTRIBUTE attribute_compat_text_section
- 
diff --git a/pkgs/development/libraries/glibc/cve-2016-3075.patch b/pkgs/development/libraries/glibc/cve-2016-3075.patch
deleted file mode 100644
index 0da10167bef..00000000000
--- a/pkgs/development/libraries/glibc/cve-2016-3075.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 146b58d11fddbef15b888906e3be4f33900c416f
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Tue Mar 29 12:57:56 2016 +0200
-
-    CVE-2016-3075: Stack overflow in _nss_dns_getnetbyname_r [BZ #19879]
-    
-    The defensive copy is not needed because the name may not alias the
-    output buffer.
-    
-    (cherry picked from commit 317b199b4aff8cfa27f2302ab404d2bb5032b9a4)
-    (cherry picked from commit 883dceebc8f11921a9890211a4e202e5be17562f)
-
-diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c
-index 2eb2f67..8f301a7 100644
---- a/resolv/nss_dns/dns-network.c
-+++ b/resolv/nss_dns/dns-network.c
-@@ -118,17 +118,14 @@ _nss_dns_getnetbyname_r (const char *name, struct netent *result,
-   } net_buffer;
-   querybuf *orig_net_buffer;
-   int anslen;
--  char *qbuf;
-   enum nss_status status;
- 
-   if (__res_maybe_init (&_res, 0) == -1)
-     return NSS_STATUS_UNAVAIL;
- 
--  qbuf = strdupa (name);
--
-   net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
- 
--  anslen = __libc_res_nsearch (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
-+  anslen = __libc_res_nsearch (&_res, name, C_IN, T_PTR, net_buffer.buf->buf,
- 			       1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
-   if (anslen < 0)
-     {
diff --git a/pkgs/development/libraries/glibc/cve-2016-3706.patch b/pkgs/development/libraries/glibc/cve-2016-3706.patch
deleted file mode 100644
index cf9fb060355..00000000000
--- a/pkgs/development/libraries/glibc/cve-2016-3706.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-commit 1a8a7c12950a0026a3c406a7cb1608f96aa1460e
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Fri Apr 29 10:35:34 2016 +0200
-
-    CVE-2016-3706: getaddrinfo: stack overflow in hostent conversion [BZ #20010]
-    
-    When converting a struct hostent response to struct gaih_addrtuple, the
-    gethosts macro (which is called from gaih_inet) used alloca, without
-    malloc fallback for large responses.  This commit changes this code to
-    use calloc unconditionally.
-    
-    This commit also consolidated a second hostent-to-gaih_addrtuple
-    conversion loop (in gaih_inet) to use the new conversion function.
-    
-    (cherry picked from commit 4ab2ab03d4351914ee53248dc5aef4a8c88ff8b9)
-
-diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
-index 1ef3f20..fed2d3b 100644
---- a/sysdeps/posix/getaddrinfo.c
-+++ b/sysdeps/posix/getaddrinfo.c
-@@ -168,9 +168,58 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
-   return 0;
- }
- 
-+/* Convert struct hostent to a list of struct gaih_addrtuple objects.
-+   h_name is not copied, and the struct hostent object must not be
-+   deallocated prematurely.  *RESULT must be NULL or a pointer to an
-+   object allocated using malloc, which is freed.  */
-+static bool
-+convert_hostent_to_gaih_addrtuple (const struct addrinfo *req,
-+				   int family,
-+				   struct hostent *h,
-+				   struct gaih_addrtuple **result)
-+{
-+  free (*result);
-+  *result = NULL;
-+
-+  /* Count the number of addresses in h->h_addr_list.  */
-+  size_t count = 0;
-+  for (char **p = h->h_addr_list; *p != NULL; ++p)
-+    ++count;
-+
-+  /* Report no data if no addresses are available, or if the incoming
-+     address size is larger than what we can store.  */
-+  if (count == 0 || h->h_length > sizeof (((struct gaih_addrtuple) {}).addr))
-+    return true;
-+
-+  struct gaih_addrtuple *array = calloc (count, sizeof (*array));
-+  if (array == NULL)
-+    return false;
-+
-+  for (size_t i = 0; i < count; ++i)
-+    {
-+      if (family == AF_INET && req->ai_family == AF_INET6)
-+	{
-+	  /* Perform address mapping. */
-+	  array[i].family = AF_INET6;
-+	  memcpy(array[i].addr + 3, h->h_addr_list[i], sizeof (uint32_t));
-+	  array[i].addr[2] = htonl (0xffff);
-+	}
-+      else
-+	{
-+	  array[i].family = family;
-+	  memcpy (array[i].addr, h->h_addr_list[i], h->h_length);
-+	}
-+      array[i].next = array + i + 1;
-+    }
-+  array[0].name = h->h_name;
-+  array[count - 1].next = NULL;
-+
-+  *result = array;
-+  return true;
-+}
-+
- #define gethosts(_family, _type) \
-  {									      \
--  int i;								      \
-   int herrno;								      \
-   struct hostent th;							      \
-   struct hostent *h;							      \
-@@ -219,36 +268,23 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
-     }									      \
-   else if (h != NULL)							      \
-     {									      \
--      for (i = 0; h->h_addr_list[i]; i++)				      \
-+      /* Make sure that addrmem can be freed.  */			      \
-+      if (!malloc_addrmem)						      \
-+	addrmem = NULL;							      \
-+      if (!convert_hostent_to_gaih_addrtuple (req, _family,h, &addrmem))      \
- 	{								      \
--	  if (*pat == NULL)						      \
--	    {								      \
--	      *pat = __alloca (sizeof (struct gaih_addrtuple));		      \
--	      (*pat)->scopeid = 0;					      \
--	    }								      \
--	  uint32_t *addr = (*pat)->addr;				      \
--	  (*pat)->next = NULL;						      \
--	  (*pat)->name = i == 0 ? strdupa (h->h_name) : NULL;		      \
--	  if (_family == AF_INET && req->ai_family == AF_INET6)		      \
--	    {								      \
--	      (*pat)->family = AF_INET6;				      \
--	      addr[3] = *(uint32_t *) h->h_addr_list[i];		      \
--	      addr[2] = htonl (0xffff);					      \
--	      addr[1] = 0;						      \
--	      addr[0] = 0;						      \
--	    }								      \
--	  else								      \
--	    {								      \
--	      (*pat)->family = _family;					      \
--	      memcpy (addr, h->h_addr_list[i], sizeof(_type));		      \
--	    }								      \
--	  pat = &((*pat)->next);					      \
-+	  _res.options |= old_res_options & RES_USE_INET6;		      \
-+	  result = -EAI_SYSTEM;						      \
-+	  goto free_and_return;						      \
- 	}								      \
-+      *pat = addrmem;							      \
-+      /* The conversion uses malloc unconditionally.  */		      \
-+      malloc_addrmem = true;						      \
- 									      \
-       if (localcanon !=	NULL && canon == NULL)				      \
- 	canon = strdupa (localcanon);					      \
- 									      \
--      if (_family == AF_INET6 && i > 0)					      \
-+      if (_family == AF_INET6 && *pat != NULL)				      \
- 	got_ipv6 = true;						      \
-     }									      \
-  }
-@@ -612,44 +648,16 @@ gaih_inet (const char *name, const struct gaih_service *service,
- 		{
- 		  if (h != NULL)
- 		    {
--		      int i;
--		      /* We found data, count the number of addresses.  */
--		      for (i = 0; h->h_addr_list[i]; ++i)
--			;
--		      if (i > 0 && *pat != NULL)
--			--i;
--
--		      if (__libc_use_alloca (alloca_used
--					     + i * sizeof (struct gaih_addrtuple)))
--			addrmem = alloca_account (i * sizeof (struct gaih_addrtuple),
--						  alloca_used);
--		      else
--			{
--			  addrmem = malloc (i
--					    * sizeof (struct gaih_addrtuple));
--			  if (addrmem == NULL)
--			    {
--			      result = -EAI_MEMORY;
--			      goto free_and_return;
--			    }
--			  malloc_addrmem = true;
--			}
--
--		      /* Now convert it into the list.  */
--		      struct gaih_addrtuple *addrfree = addrmem;
--		      for (i = 0; h->h_addr_list[i]; ++i)
-+		      /* We found data, convert it.  */
-+		      if (!convert_hostent_to_gaih_addrtuple
-+			  (req, AF_INET, h, &addrmem))
- 			{
--			  if (*pat == NULL)
--			    {
--			      *pat = addrfree++;
--			      (*pat)->scopeid = 0;
--			    }
--			  (*pat)->next = NULL;
--			  (*pat)->family = AF_INET;
--			  memcpy ((*pat)->addr, h->h_addr_list[i],
--				  h->h_length);
--			  pat = &((*pat)->next);
-+			  result = -EAI_MEMORY;
-+			  goto free_and_return;
- 			}
-+		      *pat = addrmem;
-+		      /* The conversion uses malloc unconditionally.  */
-+		      malloc_addrmem = true;
- 		    }
- 		}
- 	      else
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 2a1652a5501..4d377bb93cb 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -70,7 +70,7 @@ in
       fi
 
       # Get rid of more unnecessary stuff.
-      rm -rf $out/var $out/sbin/sln
+      rm -rf $out/var $bin/bin/sln
 
       # For some reason these aren't stripped otherwise and retain reference
       # to bootstrap-tools; on cross-arm this stripping would break objects.
diff --git a/pkgs/development/libraries/glibc/fix_warnings.patch b/pkgs/development/libraries/glibc/fix_warnings.patch
deleted file mode 100644
index fd75c18c84e..00000000000
--- a/pkgs/development/libraries/glibc/fix_warnings.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/stdlib/setenv.c	2016-05-30 11:09:14.487180254 +0000
-+++ b/stdlib/setenv.c	2016-05-30 11:08:25.560390748 +0000
-@@ -277,6 +277,7 @@
- 
-   ep = __environ;
-   if (ep != NULL)
-+    {
-     while (*ep != NULL)
-       if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
- 	{
-@@ -290,6 +291,7 @@
- 	}
-       else
- 	++ep;
-+    }
- 
-   UNLOCK;
- 
---- a/nis/nis_call.c	2016-05-30 08:05:59.359855696 -0700
-+++ b/nis/nis_call.c	2016-05-30 08:05:55.679873221 -0700
-@@ -680,6 +680,7 @@
-   /* Choose which entry should be evicted from the cache.  */
-   loc = &nis_server_cache[0];
-   if (*loc != NULL)
-+    {
-     for (i = 1; i < 16; ++i)
-       if (nis_server_cache[i] == NULL)
- 	{
-@@ -690,6 +691,7 @@
- 	       || ((*loc)->uses == nis_server_cache[i]->uses
- 		   && (*loc)->expires > nis_server_cache[i]->expires))
- 	loc = &nis_server_cache[i];
-+    }
-   old = *loc;
-   *loc = new;
- 
diff --git a/pkgs/development/libraries/glibc/glob-simplify-interface.patch b/pkgs/development/libraries/glibc/glob-simplify-interface.patch
deleted file mode 100644
index 647cca8b3a6..00000000000
--- a/pkgs/development/libraries/glibc/glob-simplify-interface.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-commit 68302147ee061c69eb447e243ad9a18ef4cfbc4c
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Fri Apr 29 09:33:07 2016 +0200
-
-    glob: Simplify the interface for the GLOB_ALTDIRFUNC callback gl_readdir
-    
-    Previously, application code had to set up the d_namlen member if
-    the target supported it, involving conditional compilation.  After
-    this change, glob will use the length of the string in d_name instead
-    of d_namlen to determine the file name length.  All glibc targets
-    provide the d_type and d_ino members, and setting them as needed for
-    gl_readdir is straightforward.
-    
-    Changing the behavior with regards to d_ino is left to a future
-    cleanup.
-    
-    (cherry picked from commit 137fe72eca6923a00381a3ca9f0e7672c1f85e3f)
-
-diff --git a/manual/examples/mkdirent.c b/manual/examples/mkdirent.c
-new file mode 100644
-index 0000000..f8400f4
---- /dev/null
-+++ b/manual/examples/mkdirent.c
-@@ -0,0 +1,42 @@
-+/* Example for creating a struct dirent object for use with glob.
-+   Copyright (C) 2016 Free Software Foundation, Inc.
-+
-+   This program is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU General Public License
-+   as published by the Free Software Foundation; either version 2
-+   of the License, or (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program; if not, if not, see <http://www.gnu.org/licenses/>.
-+*/
-+
-+#include <dirent.h>
-+#include <errno.h>
-+#include <stddef.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+struct dirent *
-+mkdirent (const char *name)
-+{
-+  size_t dirent_size = offsetof (struct dirent, d_name) + 1;
-+  size_t name_length = strlen (name);
-+  size_t total_size = dirent_size + name_length;
-+  if (total_size < dirent_size)
-+    {
-+      errno = ENOMEM;
-+      return NULL;
-+    }
-+  struct dirent *result = malloc (total_size);
-+  if (result == NULL)
-+    return NULL;
-+  result->d_type = DT_UNKNOWN;
-+  result->d_ino = 1;            /* Do not skip this entry.  */
-+  memcpy (result->d_name, name, name_length + 1);
-+  return result;
-+}
-diff --git a/manual/pattern.texi b/manual/pattern.texi
-index d1b9275..565e7eb 100644
---- a/manual/pattern.texi
-+++ b/manual/pattern.texi
-@@ -237,7 +237,44 @@ function used to read the contents of a directory.  It is used if the
- @code{GLOB_ALTDIRFUNC} bit is set in the flag parameter.  The type of
- this field is @w{@code{struct dirent *(*) (void *)}}.
- 
--This is a GNU extension.
-+An implementation of @code{gl_readdir} needs to initialize the following
-+members of the @code{struct dirent} object:
-+
-+@table @code
-+@item d_type
-+This member should be set to the file type of the entry if it is known.
-+Otherwise, the value @code{DT_UNKNOWN} can be used.  The @code{glob}
-+function may use the specified file type to avoid callbacks in cases
-+where the file type indicates that the data is not required.
-+
-+@item d_ino
-+This member needs to be non-zero, otherwise @code{glob} may skip the
-+current entry and call the @code{gl_readdir} callback function again to
-+retrieve another entry.
-+
-+@item d_name
-+This member must be set to the name of the entry.  It must be
-+null-terminated.
-+@end table
-+
-+The example below shows how to allocate a @code{struct dirent} object
-+containing a given name.
-+
-+@smallexample
-+@include mkdirent.c.texi
-+@end smallexample
-+
-+The @code{glob} function reads the @code{struct dirent} members listed
-+above and makes a copy of the file name in the @code{d_name} member
-+immediately after the @code{gl_readdir} callback function returns.
-+Future invocations of any of the callback functions may dealloacte or
-+reuse the buffer.  It is the responsibility of the caller of the
-+@code{glob} function to allocate and deallocate the buffer, around the
-+call to @code{glob} or using the callback functions.  For example, an
-+application could allocate the buffer in the @code{gl_readdir} callback
-+function, and deallocate it in the @code{gl_closedir} callback function.
-+
-+The @code{gl_readdir} member is a GNU extension.
- 
- @item gl_opendir
- The address of an alternative implementation of the @code{opendir}
-diff --git a/posix/bug-glob2.c b/posix/bug-glob2.c
-index ddf5ec9..0fdc5d0 100644
---- a/posix/bug-glob2.c
-+++ b/posix/bug-glob2.c
-@@ -193,7 +193,7 @@ my_readdir (void *gdir)
-       return NULL;
-     }
- 
--  dir->d.d_ino = dir->idx;
-+  dir->d.d_ino = 1;		/* glob should not skip this entry.  */
- 
- #ifdef _DIRENT_HAVE_D_TYPE
-   dir->d.d_type = filesystem[dir->idx].type;
-diff --git a/posix/glob.c b/posix/glob.c
-index 0c04c3c..9ae76ac 100644
---- a/posix/glob.c
-+++ b/posix/glob.c
-@@ -57,10 +57,8 @@
- 
- #if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__
- # include <dirent.h>
--# define NAMLEN(dirent) strlen((dirent)->d_name)
- #else
- # define dirent direct
--# define NAMLEN(dirent) (dirent)->d_namlen
- # ifdef HAVE_SYS_NDIR_H
- #  include <sys/ndir.h>
- # endif
-@@ -76,12 +74,6 @@
- #endif
- 
- 
--/* In GNU systems, <dirent.h> defines this macro for us.  */
--#ifdef _D_NAMLEN
--# undef NAMLEN
--# define NAMLEN(d) _D_NAMLEN(d)
--#endif
--
- /* When used in the GNU libc the symbol _DIRENT_HAVE_D_TYPE is available
-    if the `d_type' member for `struct dirent' is available.
-    HAVE_STRUCT_DIRENT_D_TYPE plays the same role in GNULIB.  */
-@@ -105,12 +97,6 @@
- 
- /* If the system has the `struct dirent64' type we use it internally.  */
- #if defined _LIBC && !defined COMPILE_GLOB64
--# if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__
--#  define CONVERT_D_NAMLEN(d64, d32)
--# else
--#  define CONVERT_D_NAMLEN(d64, d32) \
--  (d64)->d_namlen = (d32)->d_namlen;
--# endif
- 
- # if (defined POSIX || defined WINDOWS32) && !defined __GNU_LIBRARY__
- #  define CONVERT_D_INO(d64, d32)
-@@ -127,8 +113,7 @@
- # endif
- 
- # define CONVERT_DIRENT_DIRENT64(d64, d32) \
--  memcpy ((d64)->d_name, (d32)->d_name, NAMLEN (d32) + 1);		      \
--  CONVERT_D_NAMLEN (d64, d32)						      \
-+  strcpy ((d64)->d_name, (d32)->d_name);				      \
-   CONVERT_D_INO (d64, d32)						      \
-   CONVERT_D_TYPE (d64, d32)
- #endif
-@@ -1554,7 +1539,6 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
- 	  while (1)
- 	    {
- 	      const char *name;
--	      size_t len;
- #if defined _LIBC && !defined COMPILE_GLOB64
- 	      struct dirent64 *d;
- 	      union
-@@ -1622,12 +1606,10 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
- 			  names = newnames;
- 			  cur = 0;
- 			}
--		      len = NAMLEN (d);
--		      names->name[cur] = (char *) malloc (len + 1);
-+		      names->name[cur] = strdup (d->d_name);
- 		      if (names->name[cur] == NULL)
- 			goto memory_error;
--		      *((char *) mempcpy (names->name[cur++], name, len))
--			= '\0';
-+		      ++cur;
- 		      ++nfound;
- 		    }
- 		}
-diff --git a/posix/tst-gnuglob.c b/posix/tst-gnuglob.c
-index 992b997..b7b859b 100644
---- a/posix/tst-gnuglob.c
-+++ b/posix/tst-gnuglob.c
-@@ -211,7 +211,7 @@ my_readdir (void *gdir)
-       return NULL;
-     }
- 
--  dir->d.d_ino = dir->idx;
-+  dir->d.d_ino = 1;		/* glob should not skip this entry.  */
- 
- #ifdef _DIRENT_HAVE_D_TYPE
-   dir->d.d_type = filesystem[dir->idx].type;
diff --git a/pkgs/development/libraries/gnutls/3.3.nix b/pkgs/development/libraries/gnutls/3.3.nix
index c314da388dc..86262d4aef2 100644
--- a/pkgs/development/libraries/gnutls/3.3.nix
+++ b/pkgs/development/libraries/gnutls/3.3.nix
@@ -1,10 +1,10 @@
 { callPackage, fetchurl, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.3.18";
+  version = "3.3.24";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-${version}.tar.xz";
-    sha256 = "15ckyblhkap3d4sqw0dc9l8wdrnd2aj1fs9m0w0a3bfihvsfg1vs";
+    sha256 = "5b65fe2a91c8dfa32bedc78acffcb152e5426cd3349e2afc43cccc9bdaf18aa5";
   };
 })
diff --git a/pkgs/development/libraries/gnutls/3.4.nix b/pkgs/development/libraries/gnutls/3.4.nix
index 4882e5dda04..2a48d045c51 100644
--- a/pkgs/development/libraries/gnutls/3.4.nix
+++ b/pkgs/development/libraries/gnutls/3.4.nix
@@ -1,17 +1,10 @@
 { callPackage, fetchurl, autoreconfHook, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.4.13";
+  version = "3.4.14";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-${version}.tar.xz";
-    sha256 = "0naqs9g5b577j1j7q55ma1vcn78jl2d98h3zrl5rh997wzl8cczx";
+    sha256 = "35deddf2779b76ac11057de38bf380b8066c05de21b94263ad5b6dfa75dfbb23";
   };
-
-  # This fixes some broken parallel dependencies
-  postPatch = ''
-    sed -i 's,^BUILT_SOURCES =,\0 systemkey-args.h,g' src/Makefile.am
-  '';
-
-  nativeBuildInputs = [ autoreconfHook ];
 })
diff --git a/pkgs/development/libraries/gnutls/3.5.nix b/pkgs/development/libraries/gnutls/3.5.nix
index 82bd437d721..db35a13cc41 100644
--- a/pkgs/development/libraries/gnutls/3.5.nix
+++ b/pkgs/development/libraries/gnutls/3.5.nix
@@ -1,17 +1,10 @@
 { callPackage, fetchurl, autoreconfHook, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "3.5.1";
+  version = "3.5.3";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "1gdxr1p1sigigwvangqf3v31i8fda07d6ngawykarhr7ls00yjmw";
+    sha256 = "92c4bc999a10a1b95299ebefaeea8333f19d8a98d957a35b5eae74881bdb1fef";
   };
-
-  # This fixes some broken parallel dependencies
-  postPatch = ''
-    sed -i 's,^BUILT_SOURCES =,\0 systemkey-args.h,g' src/Makefile.am
-  '';
-
-  nativeBuildInputs = [ autoreconfHook ];
 })
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index 5a2ff5daa11..4d011ddd463 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
+{ stdenv, fetchurl, perl, cmake, vala_0_23, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
 
 stdenv.mkDerivation rec {
   majorVersion = "0.3";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1laa109dz7kbd8zxddqw2p1b67yzva7cc5h3smqkj8a9jzbhv5fz";
   };
   cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
-  buildInputs = [perl cmake vala pkgconfig gobjectIntrospection glib gtk3 gnome3.libgee gettext];
+  buildInputs = [perl cmake vala_0_23 pkgconfig gobjectIntrospection glib gtk3 gnome3.libgee gettext];
   meta = {
     description = "An extension to GTK+ used by elementary OS";
     longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 1a5931d9828..b0409ee2808 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -13,7 +13,7 @@ with stdenv.lib;
 
 let
   ver_maj = "3.20";
-  ver_min = "8";
+  ver_min = "9";
   version = "${ver_maj}.${ver_min}";
 in
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-    sha256 = "9841bd9b4d23c045c474b10fdde9da958af904b63783701e796391d55d4396f3";
+    sha256 = "05xcwvy68p7f4hdhi4bgdm3aycvqqr4pr5kkkr8ba91l5yx0k9l3";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index c33920953ce..ac0425b54ad 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl
 , automake, autoconf, libtool, which, gtkdoc, gettext, pkgconfig, gobjectIntrospection, libxslt
-, glib, systemd, libusb1, vala
+, glib, systemd, libusb1, vala_0_23
 }:
 stdenv.mkDerivation rec {
   name = "gusb-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig autoconf automake libtool which gtkdoc gettext gobjectIntrospection libxslt
-    systemd libusb1 vala
+    systemd libusb1 vala_0_23
     glib
   ];
 
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index d2604b03f74..2f7c42c72b7 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "icu4c";
-  version = "56.1";
+  version = "57.1";
 in
 stdenv.mkDerivation ({
   name = pname + "-" + version;
@@ -10,7 +10,7 @@ stdenv.mkDerivation ({
   src = fetchurl {
     url = "http://download.icu-project.org/files/${pname}/${version}/${pname}-"
       + (stdenv.lib.replaceChars ["."] ["_"] version) + "-src.tgz";
-    sha256 = "05j86714qaj0lvhvyr2s1xncw6sk0h2dcghb3iiwykbkbh8fjr1s";
+    sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index 9b54ce48239..a332487d4ed 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -8,6 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "1bmdr51wxiir595k2r6z9a7rcgm42kkgnr586xir7vdcndr3pwf8";
   };
 
+  # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
+  # then stops downstream builds (mariadb in particular) from detecting it. This
+  # option should remove the prefix and give us a working jemalloc.
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
+
   meta = with stdenv.lib; {
     homepage = http://www.canonware.com/jemalloc/index.html;
     description = "General purpose malloc(3) implementation";
diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix
index d2b9581462b..549be9a71f5 100644
--- a/pkgs/development/libraries/kdevplatform/default.nix
+++ b/pkgs/development/libraries/kdevplatform/default.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "195134bde11672de38838f4b341ed28c58042374ca12beedacca9d30e6ab4a2b";
   };
 
-  patches = [ ./gettext.patch ];
+  patches = [
+    ./gettext.patch     # build error caused by CMake update
+    ./dependency.patch  # build error: https://phabricator.kde.org/D1160
+  ];
 
   propagatedBuildInputs = [ kdelibs qt4 phonon ];
   buildInputs = [ apr aprutil subversion boost qjson grantlee ];
diff --git a/pkgs/development/libraries/kdevplatform/dependency.patch b/pkgs/development/libraries/kdevplatform/dependency.patch
new file mode 100644
index 00000000000..3205b4cab67
--- /dev/null
+++ b/pkgs/development/libraries/kdevplatform/dependency.patch
@@ -0,0 +1,12 @@
+diff --git a/plugins/filetemplates/CMakeLists.txt b/plugins/filetemplates/CMakeLists.txt
+--- a/plugins/filetemplates/CMakeLists.txt
++++ b/plugins/filetemplates/CMakeLists.txt
+@@ -81,6 +81,7 @@
+ )
+ 
+ kde4_add_executable(testfiletemplates ${test_srcs})
++add_dependencies(testfiletemplates kdevfiletemplates)
+ 
+ target_link_libraries(testfiletemplates
+     ${KDE4_KDECORE_LIBS}
+
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 0dac5e4766f..4cf0c52d88b 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -5,7 +5,7 @@
 , glib, dbus_glib, gtkVersion
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python, pygobject, pygtk, gobjectIntrospection, vala
+, python, pygobject, pygtk, gobjectIntrospection, vala_0_23
 , monoSupport ? false, mono ? null, gtk-sharp ? null
  }:
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus_glib
-    python pygobject pygtk gobjectIntrospection vala
+    python pygobject pygtk gobjectIntrospection vala_0_23
   ] ++ (if gtkVersion == "2"
     then [ gtk2 libindicator-gtk2 libdbusmenu-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp ]
     else [ gtk3 libindicator-gtk3 libdbusmenu-gtk3 ]);
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 8597e0d9cf1..b7ec7533880 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -9,12 +9,6 @@ in stdenv.mkDerivation {
     sha256 = "02i5brb2007sxq3mn862mr7yxxm0g6nj172417hjyvjax7549xmj";
   };
 
-  patchPhase = ''
-    substituteInPlace Makefile \
-      --replace "/usr" "$out" \
-      --replace "{exec_prefix}" "{prefix}"
-  '';
-
   meta = {
     description = "Common functions found on BSD systems";
     homepage = http://libbsd.freedesktop.org/;
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index 3e633f9a365..90880fd4d52 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig, intltool
 , glib, dbus_glib, json_glib
-, gobjectIntrospection, vala, gnome_doc_utils
+, gobjectIntrospection, vala_0_23, gnome_doc_utils
 , gtkVersion ? null, gtk2 ? null, gtk3 ? null }:
 
 with lib;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus_glib json_glib
-    gobjectIntrospection vala gnome_doc_utils
+    gobjectIntrospection vala_0_23 gnome_doc_utils
   ] ++ optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libdynd/default.nix b/pkgs/development/libraries/libdynd/default.nix
new file mode 100644
index 00000000000..119c92d690d
--- /dev/null
+++ b/pkgs/development/libraries/libdynd/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+let version = "0.7.2"; in
+stdenv.mkDerivation {
+  name = "libdynd-${version}";
+
+  src = fetchFromGitHub {
+    owner = "libdynd";
+    repo = "libdynd";
+    rev = "v${version}";
+    sha256 = "0fkd5rawqni1cq51fmr76iw7ll4fmbahfwv4rglnsabbkylf73pr";
+  };
+
+  cmakeFlags = [
+    "-DDYND_BUILD_BENCHMARKS=OFF"
+  ];
+
+  buildInputs = [ cmake ];
+
+  outputs = [ "dev" "out" ];
+  outputDoc = "dev";
+
+  meta = with stdenv.lib; {
+    description = "C++ dynamic ndarray library, with Python exposure.";
+    homepage = http://libdynd.org;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index db17b46b0d3..f4f3c774789 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala
+{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala_0_23
 , extraOnly ? false }:
 let
     inherit (stdenv.lib) optional;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q";
   };
 
-  buildInputs = [ glib gtk intltool pango pkgconfig vala ]
+  buildInputs = [ glib gtk intltool pango pkgconfig vala_0_23 ]
                 ++ optional (!extraOnly) menu-cache;
 
   configureFlags = optional extraOnly "--with-extra-only";
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix
index 4287c86dbd5..4139af2eac2 100644
--- a/pkgs/development/libraries/libgcrypt/1.5.nix
+++ b/pkgs/development/libraries/libgcrypt/1.5.nix
@@ -3,11 +3,11 @@
 assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.5.4";
+  name = "libgcrypt-1.5.6";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "0czvqxkzd5y872ipy6s010ifwdwv29sqbnqc4pf56sd486gqvy6m";
+    sha256 = "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 58de089a717..237a7ff0094 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -4,11 +4,11 @@ assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "libgcrypt-${version}";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "17v8nvvxagcwxz46apzz575l8682kfd78pf00i2kbavfdn8dyd9x";
+    sha256 = "0wbh6fq5zi9wg2xcfvfpwh7dv52jihivx1vm4h91c2kx0w8n3b6x";
   };
 
   outputs = [ "dev" "out" "info" ];
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
index 0cff4aa1913..514aea12c7e 100644
--- a/pkgs/development/libraries/libindicate/default.nix
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -4,7 +4,7 @@
 , pkgconfig, autoconf
 , glib, dbus_glib, libdbusmenu-glib
 , gtkVersion, gtk2 ? null, gtk3 ? null
-, python, pygobject, pygtk, gobjectIntrospection, vala, gnome_doc_utils
+, python, pygobject, pygtk, gobjectIntrospection, vala_0_23, gnome_doc_utils
 , monoSupport ? false, mono ? null, gtk-sharp ? null
  }:
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus_glib libdbusmenu-glib
-    python pygobject pygtk gobjectIntrospection vala gnome_doc_utils
+    python pygobject pygtk gobjectIntrospection vala_0_23 gnome_doc_utils
   ] ++ (if gtkVersion == "2"
     then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp ]
     else [ gtk3 ]);
diff --git a/pkgs/development/libraries/libircclient/default.nix b/pkgs/development/libraries/libircclient/default.nix
new file mode 100644
index 00000000000..14e41961e0a
--- /dev/null
+++ b/pkgs/development/libraries/libircclient/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  name    = "${pname}-${version}";
+  version = "1.9";
+  pname   = "libircclient";
+
+  src = fetchurl {
+    url    = "mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz";
+    sha256 = "0r60i76jh4drjh2jgp5sx71chagqllmkaq49zv67nrhqwvp9ghw1";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  configureFlags = [ "--enable-shared" ];
+
+  postPatch = ''
+    substituteInPlace src/Makefile.in \
+      --replace "@prefix@/include" "@prefix@/include/libircclient" \
+      --replace "@libdir@"         "@prefix@/lib" \
+      --replace "cp "              "install "
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small but extremely powerful library which implements the client IRC protocol";
+    homepage    = http://www.ulduzsoft.com/libircclient/;
+    license     = licenses.lgpl3;
+    maintainers = with maintainers; [ obadz ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index 83873cc3660..b0b22aa18e7 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, gobjectIntrospection, libsoup
-, libxslt, check, vala ? null
+, libxslt, check, vala_0_23 ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    pkgconfig intltool gobjectIntrospection libsoup libxslt check vala
+    pkgconfig intltool gobjectIntrospection libsoup libxslt check vala_0_23
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index ee842b0c4bd..0b196cc22e0 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "18fygk896gxbx47nh2rn5jp4skisgkl6pdfjqb7h0zn39hd6b6g5";
   };
 
-  buildInputs = [ lcms2 jasper ];
+  buildInputs = [ jasper ];
+
+  propagatedBuildInputs = [ lcms2 ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 8495650f02c..5aedc0df2b9 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl, gtk_doc
-, libgcrypt, gobjectIntrospection }:
+, libgcrypt, gobjectIntrospection, vala_0_32 }:
 let
   version = "0.18.5";
 in
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl ];
-  buildInputs = [ libgcrypt gobjectIntrospection ];
+  buildInputs = [ libgcrypt gobjectIntrospection vala_0_32 ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
   meta = {
diff --git a/pkgs/development/libraries/libsidplayfp/default.nix b/pkgs/development/libraries/libsidplayfp/default.nix
new file mode 100644
index 00000000000..78e7036bdcc
--- /dev/null
+++ b/pkgs/development/libraries/libsidplayfp/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, pkgconfig
+, docSupport ? true, doxygen ? null, graphviz ? null }:
+
+assert docSupport -> doxygen != null && graphviz != null;
+
+stdenv.mkDerivation rec {
+  pname = "libsidplayfp";
+  major = "1";
+  minor = "8";
+  level = "6";
+  version = "${major}.${minor}.${level}";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/sidplay-residfp/${pname}/${major}.${minor}/${name}.tar.gz";
+    sha256 = "0lzivfdq0crmfr01c6f5h883yr7wvagq198xkk3srdmvshhxmwnw";
+  };
+
+  nativeBuildInputs = [ pkgconfig ]
+    ++ stdenv.lib.optionals docSupport [ doxygen graphviz ];
+
+  installTargets = [ "install" ]
+    ++ stdenv.lib.optionals docSupport [ "doc" ];
+
+  outputs = [ "out" ] ++ stdenv.lib.optionals docSupport [ "doc" ];
+
+  postInstall = stdenv.lib.optionalString docSupport ''
+    mkdir -p $doc/share/doc/libsidplayfp
+    mv docs/html $doc/share/doc/libsidplayfp/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library to play Commodore 64 music derived from libsidplay2";
+    homepage = https://sourceforge.net/projects/sidplay-residfp/;
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ ramkromberg ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 785e3320cc1..05026a06c61 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig
 , gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking, gobjectIntrospection
-, valaSupport ? true, vala
+, valaSupport ? true, vala_0_23
 , libintlOrEmpty
 , intltool, python }:
 let
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   outputs = [ "dev" "out" ];
 
   buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]
-    ++ stdenv.lib.optionals valaSupport [ vala ];
+    ++ stdenv.lib.optionals valaSupport [ vala_0_23 ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
     ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ];
diff --git a/pkgs/development/libraries/libunity/default.nix b/pkgs/development/libraries/libunity/default.nix
index 94e19f97e80..bcbe15afdf8 100644
--- a/pkgs/development/libraries/libunity/default.nix
+++ b/pkgs/development/libraries/libunity/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, vala, python, intltool, pkgconfig
+{ stdenv, fetchurl, vala_0_23, python, intltool, pkgconfig
 , glib, libgee_0_6, gtk3, dee, libdbusmenu-glib
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib libgee_0_6 gtk3 ];
   propagatedBuildInputs = [ dee libdbusmenu-glib ];
-  nativeBuildInputs = [ vala python intltool pkgconfig ];
+  nativeBuildInputs = [ vala_0_23 python intltool pkgconfig ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libvdpau-va-gl/default.nix b/pkgs/development/libraries/libvdpau-va-gl/default.nix
index 0cbac567a45..8065df5c5b5 100644
--- a/pkgs/development/libraries/libvdpau-va-gl/default.nix
+++ b/pkgs/development/libraries/libvdpau-va-gl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "libvdpau-va-gl-${version}";
-  version = "0.3.6";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "i-rinat";
     repo = "libvdpau-va-gl";
     rev = "v${version}";
-    sha256 = "06lcg6zfj6mn17svz7s0y6ijdah55l9rnp9r440lcbixivjbgyn5";
+    sha256 = "1y511jxs0df1fqzjcvb6zln7nbmchv1g6z3lw0z9nsf64ziycj8k";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 12b4459cbca..0f9b5b5155b 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -9,11 +9,11 @@
 # if you update, also bump pythonPackages.libvirt or it will break
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.xz";
-    sha256 = "1jwszhpjn09zkqji8w1x97rw0wqcl71ll2y6vp056fb1bvshms8h";
+    sha256 = "0sriasjc573c519yqw1hcfb3qqjcsm9hm8vayw0anwkl6di9ay8s";
   };
 
   patches = [ ./build-on-bsd.patch ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = stdenv.lib.optionalString stdenv.isLinux ''
-    PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${systemd}/bin:$PATH
+    PATH=${stdenv.lib.makeBinPath [ iproute iptables ebtables lvm2 systemd ]}:$PATH
     substituteInPlace configure \
       --replace 'as_dummy="/bin:/usr/bin:/usr/sbin"' 'as_dummy="${numad}/bin"'
   '' + ''
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
       --replace "$out/bin" "${gettext}/bin"
   '' + stdenv.lib.optionalString stdenv.isLinux ''
     wrapProgram $out/sbin/libvirtd \
-      --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin:${numad}/bin:${numactl}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ iptables iproute pmutils numad numactl ]}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 2bb709612b4..2e51492f142 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,19 +1,24 @@
-{ stdenv, fetchurl, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
-, libvorbis, libxml2, makeWrapper, movit, pkgconfig, qt, sox
+{ stdenv, fetchFromGitHub, makeWrapper
+, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
+, libvorbis, libxml2, movit, pkgconfig, sox
+, gtk2
 }:
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "0.9.6";
+  version = "6.2.0";
 
-  src = fetchurl {
-    url = "https://github.com/mltframework/mlt/archive/v${version}.tar.gz";
-    sha256 = "0s8ypg0q50zfcmq527y8cbdvzxhiqidm1923k28ar8jqmjp45ssh";
+  src = fetchFromGitHub {
+    owner = "mltframework";
+    repo = "mlt";
+    rev = "v${version}";
+    sha256 = "17jwz1lf9ilaxvgvhg7z86dhcsk95m4wlszy4gn7wab2ns5zhdm7";
   };
 
   buildInputs = [
     SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2
-    makeWrapper movit pkgconfig qt sox
+    makeWrapper movit pkgconfig sox
+    gtk2
   ];
 
   # Mostly taken from:
@@ -33,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "Open source multimedia framework, designed for television broadcasting";
     homepage = http://www.mltframework.org/;
     license = licenses.gpl3;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = [ maintainers.tohl ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/mlt/qt-4.nix b/pkgs/development/libraries/mlt/qt-4.nix
new file mode 100644
index 00000000000..2bb709612b4
--- /dev/null
+++ b/pkgs/development/libraries/mlt/qt-4.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
+, libvorbis, libxml2, makeWrapper, movit, pkgconfig, qt, sox
+}:
+
+stdenv.mkDerivation rec {
+  name = "mlt-${version}";
+  version = "0.9.6";
+
+  src = fetchurl {
+    url = "https://github.com/mltframework/mlt/archive/v${version}.tar.gz";
+    sha256 = "0s8ypg0q50zfcmq527y8cbdvzxhiqidm1923k28ar8jqmjp45ssh";
+  };
+
+  buildInputs = [
+    SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2
+    makeWrapper movit pkgconfig qt sox
+  ];
+
+  # Mostly taken from:
+  # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
+  configureFlags = [
+    "--avformat-swscale" "--enable-gpl" "--enable-gpl" "--enable-gpl3"
+    "--enable-opengl"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    wrapProgram $out/bin/melt --prefix FREI0R_PATH : ${frei0r}/lib/frei0r-1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open source multimedia framework, designed for television broadcasting";
+    homepage = http://www.mltframework.org/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index d66d3fe9372..259d5a25d15 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "0.9.6";
+  version = "6.2.0";
 
   src = fetchurl {
     url = "https://github.com/mltframework/mlt/archive/v${version}.tar.gz";
-    sha256 = "0s8ypg0q50zfcmq527y8cbdvzxhiqidm1923k28ar8jqmjp45ssh";
+    sha256 = "1zwzfgxrcbwkxnkiwv0a1rzxdnnaly90yyarl9wdw84nx11ffbnx";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix
index b38f1e5711a..42a8d00eec0 100644
--- a/pkgs/development/libraries/pcl/default.nix
+++ b/pkgs/development/libraries/pcl/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchzip, cmake, qhull, flann, boost, vtk, eigen, pkgconfig, qt4
+{ stdenv, fetchFromGitHub, cmake, qhull, flann, boost, vtk, eigen, pkgconfig, qt4
 , libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private
 }:
 
 stdenv.mkDerivation rec {
-  name = "pcl-1.7.2";
+  name = "pcl-1.8.0";
 
-  src = fetchzip {
-    name = name + "-src";
-    url = "https://github.com/PointCloudLibrary/pcl/archive/${name}.tar.gz";
-    sha256 = "0sm19p6wcls2d9l0vi5fgwqp7l372nh3g7bdin42w31zr8dmz8h8";
+  src = fetchFromGitHub {
+    owner = "PointCloudLibrary";
+    repo = "pcl";
+    rev = name;
+    sha256 = "1pki4y7mc2dryxc8wa7rs4hg74qab80rpy90jnw3j8fzf09kxcll";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index 1fb542c2c5f..56d40f81833 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = [
     # This flag should be picked up through pkgconfig, but it isn't.
-    "-I${gst_all_1.gstreamer}/lib/gstreamer-1.0/include"
+    "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
   ];
 
   nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules;
diff --git a/pkgs/development/libraries/physics/geant4/g4py/default.nix b/pkgs/development/libraries/physics/geant4/g4py/default.nix
index e023b122091..ee332171158 100644
--- a/pkgs/development/libraries/physics/geant4/g4py/default.nix
+++ b/pkgs/development/libraries/physics/geant4/g4py/default.nix
@@ -30,8 +30,8 @@ let
                             --with-g4install-dir=${geant4} \
                             --with-python-incdir=${python}/include/python${python.majorVersion} \
                             --with-python-libdir=${python}/lib \
-                            --with-boost-incdir=${boost}/include \
-                            --with-boost-libdir=${boost}/lib
+                            --with-boost-incdir=${boost.dev}/include \
+                            --with-boost-libdir=${boost.out}/lib
       '';
 
       enableParallelBuilding = true;
@@ -47,24 +47,28 @@ let
       meta = {
         description = "Python bindings and utilities for Geant4";
         longDescription = ''
-          Geant4 is a toolkit for the simulation of the passage of particles through matter.      
-          Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.
-          The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
+          Geant4 is a toolkit for the simulation of the passage of particles
+          through matter.  Its areas of application include high energy,
+          nuclear and accelerator physics, as well as studies in medical and
+          space science.  The two main reference papers for Geant4 are
+          published in Nuclear Instruments and Methods in Physics Research A
+          506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1
+          (2006) 270-278.
         '';
         homepage = http://www.geant4.org;
         license = stdenv.lib.licenses.g4sl;
         maintainers = [ ];
         platforms = stdenv.lib.platforms.all;
-      }; 
+      };
     };
 
     fetchGeant4 = import ../fetch.nix {
       inherit stdenv fetchurl;
-    };  
+    };
 
 in {
   v10_0_2 = buildG4py {
     inherit (fetchGeant4.v10_0_2) version src;
     geant4 = geant4.v10_0_2;
-  };  
-} 
+  };
+}
diff --git a/pkgs/development/libraries/poppler/datadir_env.patch b/pkgs/development/libraries/poppler/datadir_env.patch
deleted file mode 100644
index fd111d71355..00000000000
--- a/pkgs/development/libraries/poppler/datadir_env.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
-index 2e11bb0..a277ab9 100644
---- a/poppler/GlobalParams.cc
-+++ b/poppler/GlobalParams.cc
-@@ -748,7 +748,7 @@ GlobalParams::GlobalParams(const char *customPopplerDataDir)
- void GlobalParams::scanEncodingDirs() {
-   GDir *dir;
-   GDirEntry *entry;
--  const char *dataRoot = popplerDataDir ? popplerDataDir : POPPLER_DATADIR;
-+  const char *dataRoot = popplerDataDir ? popplerDataDir : ( getenv("POPPLER_DATADIR") ? getenv("POPPLER_DATADIR") : POPPLER_DATADIR );
-   
-   // allocate buffer large enough to append "/nameToUnicode"
-   size_t bufSize = strlen(dataRoot) + strlen("/nameToUnicode") + 1;
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index e445af46e09..097031d54f1 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,14 +1,15 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
-, minimal ? false
+, withData ? false, poppler_data
 , qt4Support ? false, qt4 ? null
 , qt5Support ? false, qtbase ? null
-, utils ? false, suffix ? "glib"
+, utils ? false
+, minimal ? false, suffix ? "glib"
 }:
 
 let # beware: updates often break cups_filters build
-  version = "0.43.0"; # even major numbers are stable
-  sha256 = "0mi4zf0pz3x3fx3ir7szz1n57nywgbpd4mp2r7mvf47f4rmf4867";
+  version = "0.46.0"; # even major numbers are stable
+  sha256 = "11z4d5vrrd0m7w9bfydwabksk273z7z0xf2nwvzf5pk17p8kazcn";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
@@ -20,22 +21,19 @@ stdenv.mkDerivation rec {
 
   outputs = [ "dev" "out" ];
 
-  patches = [ ./datadir_env.patch ];
+  buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data;
 
   # TODO: reduce propagation to necessary libs
   propagatedBuildInputs = with lib;
-    [ zlib freetype fontconfig libjpeg ]
-    ++ optionals (!minimal) [ cairo lcms curl openjpeg ]
+    [ zlib freetype fontconfig libjpeg openjpeg ]
+    ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt4Support qt4
     ++ optional qt5Support qtbase;
 
-  nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
+  nativeBuildInputs = [ pkgconfig ];
 
   NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
 
-  # Any package depending on Qt >= 5.7 must build using the C++11 standard.
-  CXXFLAGS = lib.optional qt5Support "-std=c++11";
-
   configureFlags = with lib;
     [
       "--enable-xpdf-headers"
@@ -45,7 +43,7 @@ stdenv.mkDerivation rec {
     ]
     ++ optionals minimal [
       "--disable-poppler-glib" "--disable-poppler-cpp"
-      "--disable-libopenjpeg" "--disable-libcurl"
+      "--disable-libcurl"
     ]
     ++ optional (!utils) "--disable-utils" ;
 
diff --git a/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
new file mode 100644
index 00000000000..a06d4cef968
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.0.0-beta-2.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub , autoreconfHook, zlib, gmock }:
+
+stdenv.mkDerivation rec {
+  name = "protobuf-${version}";
+
+  version = "3.0.0-beta-2";
+  # make sure you test also -A pythonPackages.protobuf
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "protobuf";
+    rev = "v${version}";
+    sha256 = "0cbr1glgma5vakabsjwcs41pcnn8yphhn037l0zd121zb9gdaqc1";
+  };
+
+  postPatch = ''
+    rm -rf gmock
+    cp -r ${gmock.source} gmock
+    chmod -R a+w gmock
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/google/protobuf/testing/googletest.cc \
+      --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
+  '';
+
+  buildInputs = [ autoreconfHook zlib ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  meta = {
+    description = "Google's data interchange format";
+    longDescription =
+      ''Protocol Buffers are a way of encoding structured data in an efficient
+        yet extensible format. Google uses Protocol Buffers for almost all of
+        its internal RPC protocols and file formats.
+      '';
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    homepage = https://developers.google.com/protocol-buffers/;
+  };
+
+  passthru.version = version;
+}
diff --git a/pkgs/development/libraries/protobuf/3.0.nix b/pkgs/development/libraries/protobuf/3.0.nix
index a547dff14cc..16a39daf790 100644
--- a/pkgs/development/libraries/protobuf/3.0.nix
+++ b/pkgs/development/libraries/protobuf/3.0.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "protobuf-${version}";
 
-  version = "3.0.0-beta-3.1";
+  version = "3.0.0";
   # make sure you test also -A pythonPackages.protobuf
   src = fetchFromGitHub {
     owner = "google";
     repo = "protobuf";
     rev = "v${version}";
-    sha256 = "1lj3q1wq821q9h2y2hhbnvyy4nw3gl0x2g0kplyvd6ivrissfcqx";
+    sha256 = "05qkcl96lkdama848m7q3nzzzdckjc158iiyvgmln0zi232xx7g7";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
index d4b7c77a5fe..47f66c83ff5 100644
--- a/pkgs/development/libraries/protobuf/generic.nix
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -25,15 +25,12 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Protocol Buffers - Google's data interchange format";
-
     longDescription =
       '' Protocol Buffers are a way of encoding structured data in an
          efficient yet extensible format.  Google uses Protocol Buffers for
          almost all of its internal RPC protocols and file formats.
       '';
-
     license = "mBSD";
-
     homepage = https://developers.google.com/protocol-buffers/;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh b/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh
index 4754535a5f3..c958b5c9eed 100755
--- a/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh
+++ b/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh
@@ -3,16 +3,23 @@
 
 set -x
 
+MAJOR_VERSION="5.5"
+VERSION="${MAJOR_VERSION}.1"
 # The trailing slash at the end is necessary!
-RELEASE_URL="http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/"
+RELEASE_URLS=(
+    "http://download.qt.io/official_releases/qt/$MAJOR_VERSION/$VERSION/submodules/"
+    "http://download.qt.io/community_releases/$MAJOR_VERSION/$VERSION/"
+)
 EXTRA_WGET_ARGS='-A *.tar.xz'
 
 mkdir tmp; cd tmp
 
-wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS
+for url in "${RELEASE_URLS[@]}"; do
+    wget -nH -r -c --no-parent $url $EXTRA_WGET_ARGS
+done
 
 cat >../srcs.nix <<EOF
-# DO NOT EDIT! This file is generated automatically by manifest.sh
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
 { fetchurl, mirror }:
 
 {
@@ -20,7 +27,7 @@ EOF
 
 workdir=$(pwd)
 
-find . | while read src; do
+find . | sort | while read src; do
     if [[ -f "${src}" ]]; then
         url="${src:2}"
         # Sanitize file name
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
index ef64a87d0e2..43eb71ede18 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
@@ -131,7 +131,7 @@ stdenv.mkDerivation {
     -rpath
     -optimized-qmake
     -strip
-    -reduce-relocations
+    -no-reduce-relocations
     -system-proxies
     -pkg-config
 
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh
index 6d8989281eb..30491983114 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh
+++ b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh
@@ -61,11 +61,6 @@ _qtMultioutDevs() {
 
 preFixupHooks+=(_qtMultioutDevs)
 
-if [[ -z "$NIX_QT_PIC" ]]; then
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC"
-    export NIX_QT_PIC=1
-fi
-
 _qtSetCMakePrefix() {
     export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}"
 }
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
index 2e92391f4c0..5ccf09515e4 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtmultimedia, qtsensors
+{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
 , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
-, sqlite, libudev
+, sqlite, libudev, glib, gst_all_1
 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
 , substituteAll
 , flashplayerFix ? false
@@ -10,8 +10,8 @@ with stdenv.lib;
 
 qtSubmodule {
   name = "qtwebkit";
-  qtInputs = [ qtdeclarative qtlocation qtmultimedia qtsensors ];
-  buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite ];
+  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 python ruby
   ];
diff --git a/pkgs/development/libraries/qt-5/5.5/srcs.nix b/pkgs/development/libraries/qt-5/5.5/srcs.nix
index 0cf62081f23..20aa28a55da 100644
--- a/pkgs/development/libraries/qt-5/5.5/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.5/srcs.nix
@@ -1,133 +1,125 @@
-# DO NOT EDIT! This file is generated automatically by manifest.sh
+# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
 { fetchurl, mirror }:
 
 {
-  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";
-    };
-  };
-  qtconnectivity = {
+  qt3d = {
     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";
+      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";
     };
   };
-  qttranslations = {
+  qt5 = {
     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";
+      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";
     };
   };
-  qttools = {
+  qtactiveqt = {
     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";
+      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";
     };
   };
-  qtwebkit = {
+  qtandroidextras = {
     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";
+      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";
     };
   };
-  qtimageformats = {
+  qtbase = {
     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";
+      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";
     };
   };
-  qtwinextras = {
+  qtcanvas3d = {
     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";
+      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";
     };
   };
-  qtwebsockets = {
+  qtconnectivity = {
     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";
+      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";
     };
   };
-  qt3d = {
+  qtdeclarative = {
     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";
+      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";
     };
   };
-  qtmacextras = {
+  qtdoc = {
     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";
+      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";
     };
   };
-  qtandroidextras = {
+  qtenginio = {
     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";
+      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";
     };
   };
-  qt5 = {
+  qtgraphicaleffects = {
     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";
+      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";
     };
   };
-  qtbase = {
+  qtimageformats = {
     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";
+      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";
     };
   };
-  qtxmlpatterns = {
+  qtlocation = {
     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";
+      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";
     };
   };
-  qtwayland = {
+  qtmacextras = {
     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";
+      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";
     };
   };
-  qtwebkit-examples = {
+  qtmultimedia = {
     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";
+      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 = {
@@ -138,22 +130,6 @@
       name = "qtquick1-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";
-    };
-  };
-  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";
-    };
-  };
   qtquickcontrols = {
     version = "5.5.1";
     src = fetchurl {
@@ -162,12 +138,20 @@
       name = "qtquickcontrols-opensource-src-5.5.1.tar.xz";
     };
   };
-  qtwebchannel = {
+  qtscript = {
     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";
+      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 = {
@@ -178,36 +162,44 @@
       name = "qtserialport-opensource-src-5.5.1.tar.xz";
     };
   };
-  qtscript = {
+  qtsvg = {
     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";
+      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";
     };
   };
-  qtmultimedia = {
+  qttools = {
     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";
+      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";
     };
   };
-  qtcanvas3d = {
+  qttranslations = {
     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";
+      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";
     };
   };
-  qtsensors = {
+  qtwayland = {
     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";
+      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 = {
@@ -218,44 +210,52 @@
       name = "qtwebengine-opensource-src-5.5.1.tar.xz";
     };
   };
-  qtdeclarative = {
+  qtwebkit-examples = {
     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";
+      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";
     };
   };
-  qtactiveqt = {
+  qtwebkit = {
     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";
+      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";
     };
   };
-  qtsvg = {
+  qtwebsockets = {
     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";
+      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";
     };
   };
-  qtdoc = {
+  qtwinextras = {
     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";
+      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";
     };
   };
-  qtenginio = {
+  qtx11extras = {
     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";
+      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.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index 5276bcb73dc..1f03b138f25 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -95,6 +95,7 @@ let
       /* qtwayland = not packaged */
       qtwebchannel = callPackage ./qtwebchannel.nix {};
       qtwebengine = callPackage ./qtwebengine.nix {};
+      qtwebkit = callPackage ./qtwebkit {};
       qtwebsockets = callPackage ./qtwebsockets.nix {};
       /* qtwinextras = not packaged */
       qtx11extras = callPackage ./qtx11extras.nix {};
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
index 82b54ebd3a1..6c52b29b35e 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
@@ -107,7 +107,7 @@ stdenv.mkDerivation {
     -rpath
     -optimized-qmake
     -strip
-    -reduce-relocations
+    -no-reduce-relocations
     -system-proxies
     -pkg-config
 
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh
index 6d8989281eb..30491983114 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase/setup-hook.sh
@@ -61,11 +61,6 @@ _qtMultioutDevs() {
 
 preFixupHooks+=(_qtMultioutDevs)
 
-if [[ -z "$NIX_QT_PIC" ]]; then
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC"
-    export NIX_QT_PIC=1
-fi
-
 _qtSetCMakePrefix() {
     export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}"
 }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch
new file mode 100644
index 00000000000..0eeacce1bc0
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch
@@ -0,0 +1,53 @@
+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.6/qtwebkit/0002-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch
new file mode 100644
index 00000000000..bb5d1f74364
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch
@@ -0,0 +1,25 @@
+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.6/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch
new file mode 100644
index 00000000000..1c360cd81aa
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch
@@ -0,0 +1,31 @@
+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.6/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
new file mode 100644
index 00000000000..a7953eb5901
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
@@ -0,0 +1,35 @@
+{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
+, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
+, sqlite, libudev, glib, gst_all_1
+, bison2, flex, gdb, gperf, perl, pkgconfig, python, 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 python ruby
+  ];
+  patches =
+    let dlopen-webkit-nsplugin = substituteAll {
+          src = ./0001-dlopen-webkit-nsplugin.patch;
+          gtk = gtk.out;
+          gdk_pixbuf = gdk_pixbuf.out;
+        };
+        dlopen-webkit-gtk = substituteAll {
+          src = ./0002-dlopen-webkit-gtk.patch;
+          gtk = gtk.out;
+        };
+        dlopen-webkit-udev = substituteAll {
+          src = ./0003-dlopen-webkit-udev.patch;
+          libudev = libudev.out;
+        };
+    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.6/srcs.nix b/pkgs/development/libraries/qt-5/5.6/srcs.nix
index 42b688e6e8d..c6deca1150d 100644
--- a/pkgs/development/libraries/qt-5/5.6/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.6/srcs.nix
@@ -1,125 +1,133 @@
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+# DO NOT EDIT! This file is generated automatically by manifest.sh
 { fetchurl, mirror }:
 
 {
-  qtxmlpatterns = {
-    version = "5.6.1-1";
+  qtwebkit = {
+    version = "5.6.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1";
-      name = "qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/community_releases/5.6/5.6.1/qtwebkit-opensource-src-5.6.1.tar.xz";
+      sha256 = "1akjqvjavl0vn8a8hnmvqc26mf4ljvwjdm07x6dmmdnjzajvzkzm";
+      name = "qtwebkit-opensource-src-5.6.1.tar.xz";
     };
   };
-  qtx11extras = {
+  qt3d = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtx11extras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y";
-      name = "qtx11extras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qt3d-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1nxpcjsarcp40m4y18kyy9a5md56wnafll03j8c6q19rba9bcwbf";
+      name = "qt3d-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtwinextras = {
+  qtactiveqt = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwinextras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "03zkwqrix2nfqkwfn8lsrpgahzx1hv6p1qbvhkqymzakkzjjncgg";
-      name = "qtwinextras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtactiveqt-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "00bj9c0x3ax34gpibaap3wpchkv4wapsydiz01fb0xzs1fy94nbf";
+      name = "qtactiveqt-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtwebview = {
+  qtandroidextras = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebview-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "19954snfw073flxn0qk5ayxyzk5x6hwhpg4kn4nrl1zygsw3y49l";
-      name = "qtwebview-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtandroidextras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0xhm4053y9hqnz5y3y4rwycniq0mb1al1rds3jx636211y039xhk";
+      name = "qtandroidextras-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtwebsockets = {
+  qtbase = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebsockets-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil";
-      name = "qtwebsockets-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtbase-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij";
+      name = "qtbase-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtwebengine = {
+  qtcanvas3d = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebengine-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0k708a34zwkj6hwx3vv5kdvnv3lfgb0iad44zaim5gdpgcir03n8";
-      name = "qtwebengine-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "13127xws6xfkkk1x617bgdzl96l66nd0v82dibdnxnpfa702rl44";
+      name = "qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtwebchannel = {
+  qtconnectivity = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebchannel-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7";
-      name = "qtwebchannel-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtconnectivity-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi";
+      name = "qtconnectivity-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtwayland = {
+  qtdeclarative = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwayland-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4";
-      name = "qtwayland-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw";
+      name = "qtdeclarative-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qttranslations = {
+  qtdeclarative-render2d = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttranslations-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "03sdzci4pgq6lmxwn25v8x0z5x8g7zgpq2as56dqgj7vp6cvhn8m";
-      name = "qttranslations-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0kqmb3792rg9fx12m64x87ahcrh0g9krg77mv0ssx3g4gvsgcibc";
+      name = "qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qttools = {
+  qtdoc = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttools-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip";
-      name = "qttools-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdoc-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1yf3g3h72ndrp88h8g21mzgqdz2ixwkvpav03i3jnrgy2pf7nssp";
+      name = "qtdoc-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtsvg = {
+  qtenginio = {
+    version = "1.6.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtenginio-opensource-src-1.6.1.tar.xz";
+      sha256 = "17hsrhzy9zdvpbzja45aac6jr7jzzjl206vma96b9w73rbgxa50f";
+      name = "qtenginio-opensource-src-1.6.1.tar.xz";
+    };
+  };
+  qtgraphicaleffects = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsvg-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw";
-      name = "qtsvg-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b";
+      name = "qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtserialport = {
+  qtimageformats = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialport-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52";
-      name = "qtserialport-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtimageformats-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc";
+      name = "qtimageformats-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtserialbus = {
+  qtlocation = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialbus-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0li4g70s5vfb517ag0d6405ymsknvvny1c8x66w7qs8a8mnk1jq5";
-      name = "qtserialbus-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtlocation-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69";
+      name = "qtlocation-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtsensors = {
+  qtmacextras = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsensors-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r";
-      name = "qtsensors-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmacextras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "07j26d5g7av4c6alggg5hssqpvdh555zmn1cpr8xrhx1hpbdnaas";
+      name = "qtmacextras-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtscript = {
+  qtmultimedia = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtscript-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx";
-      name = "qtscript-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmultimedia-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f";
+      name = "qtmultimedia-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtquickcontrols2 = {
@@ -138,124 +146,124 @@
       name = "qtquickcontrols-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtmultimedia = {
+  qtscript = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmultimedia-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f";
-      name = "qtmultimedia-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtscript-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx";
+      name = "qtscript-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtmacextras = {
+  qtsensors = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmacextras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "07j26d5g7av4c6alggg5hssqpvdh555zmn1cpr8xrhx1hpbdnaas";
-      name = "qtmacextras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsensors-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r";
+      name = "qtsensors-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtlocation = {
+  qtserialbus = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtlocation-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69";
-      name = "qtlocation-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialbus-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0li4g70s5vfb517ag0d6405ymsknvvny1c8x66w7qs8a8mnk1jq5";
+      name = "qtserialbus-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtimageformats = {
+  qtserialport = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtimageformats-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc";
-      name = "qtimageformats-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialport-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52";
+      name = "qtserialport-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtgraphicaleffects = {
+  qtsvg = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b";
-      name = "qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsvg-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw";
+      name = "qtsvg-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtenginio = {
-    version = "1.6.1";
+  qttools = {
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtenginio-opensource-src-1.6.1.tar.xz";
-      sha256 = "17hsrhzy9zdvpbzja45aac6jr7jzzjl206vma96b9w73rbgxa50f";
-      name = "qtenginio-opensource-src-1.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttools-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip";
+      name = "qttools-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtdoc = {
+  qttranslations = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdoc-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1yf3g3h72ndrp88h8g21mzgqdz2ixwkvpav03i3jnrgy2pf7nssp";
-      name = "qtdoc-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttranslations-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "03sdzci4pgq6lmxwn25v8x0z5x8g7zgpq2as56dqgj7vp6cvhn8m";
+      name = "qttranslations-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtdeclarative-render2d = {
+  qtwayland = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0kqmb3792rg9fx12m64x87ahcrh0g9krg77mv0ssx3g4gvsgcibc";
-      name = "qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwayland-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4";
+      name = "qtwayland-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtdeclarative = {
+  qtwebchannel = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw";
-      name = "qtdeclarative-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebchannel-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7";
+      name = "qtwebchannel-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtconnectivity = {
+  qtwebengine = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtconnectivity-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi";
-      name = "qtconnectivity-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebengine-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0k708a34zwkj6hwx3vv5kdvnv3lfgb0iad44zaim5gdpgcir03n8";
+      name = "qtwebengine-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtcanvas3d = {
+  qtwebsockets = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "13127xws6xfkkk1x617bgdzl96l66nd0v82dibdnxnpfa702rl44";
-      name = "qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebsockets-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil";
+      name = "qtwebsockets-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtbase = {
+  qtwebview = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtbase-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij";
-      name = "qtbase-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebview-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "19954snfw073flxn0qk5ayxyzk5x6hwhpg4kn4nrl1zygsw3y49l";
+      name = "qtwebview-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtandroidextras = {
+  qtwinextras = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtandroidextras-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "0xhm4053y9hqnz5y3y4rwycniq0mb1al1rds3jx636211y039xhk";
-      name = "qtandroidextras-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwinextras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "03zkwqrix2nfqkwfn8lsrpgahzx1hv6p1qbvhkqymzakkzjjncgg";
+      name = "qtwinextras-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qtactiveqt = {
+  qtx11extras = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtactiveqt-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "00bj9c0x3ax34gpibaap3wpchkv4wapsydiz01fb0xzs1fy94nbf";
-      name = "qtactiveqt-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtx11extras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y";
+      name = "qtx11extras-opensource-src-5.6.1-1.tar.xz";
     };
   };
-  qt3d = {
+  qtxmlpatterns = {
     version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qt3d-opensource-src-5.6.1-1.tar.xz";
-      sha256 = "1nxpcjsarcp40m4y18kyy9a5md56wnafll03j8c6q19rba9bcwbf";
-      name = "qt3d-opensource-src-5.6.1-1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1";
+      name = "qtxmlpatterns-opensource-src-5.6.1-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
index a84a429695c..aa2cbb92169 100644
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/default.nix
@@ -90,6 +90,7 @@ let
       qttranslations = callPackage ./qttranslations.nix {};
       qtwebchannel = callPackage ./qtwebchannel.nix {};
       qtwebengine = callPackage ./qtwebengine.nix {};
+      qtwebkit = callPackage ./qtwebkit {};
       qtwebsockets = callPackage ./qtwebsockets.nix {};
       qtx11extras = callPackage ./qtx11extras.nix {};
       qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
index 94ddb21f3b6..f9d56612375 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
@@ -106,7 +106,7 @@ stdenv.mkDerivation {
     -rpath
     -optimized-qmake
     -strip
-    -reduce-relocations
+    -no-reduce-relocations
     -system-proxies
     -pkg-config
 
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh
index 6d8989281eb..30491983114 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/setup-hook.sh
@@ -61,11 +61,6 @@ _qtMultioutDevs() {
 
 preFixupHooks+=(_qtMultioutDevs)
 
-if [[ -z "$NIX_QT_PIC" ]]; then
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC"
-    export NIX_QT_PIC=1
-fi
-
 _qtSetCMakePrefix() {
     export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}"
 }
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
new file mode 100644
index 00000000000..0eeacce1bc0
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebkit/0001-dlopen-webkit-nsplugin.patch
@@ -0,0 +1,53 @@
+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
new file mode 100644
index 00000000000..bb5d1f74364
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebkit/0002-dlopen-webkit-gtk.patch
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 00000000000..1c360cd81aa
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebkit/0003-dlopen-webkit-udev.patch
@@ -0,0 +1,31 @@
+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
new file mode 100644
index 00000000000..a7953eb5901
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix
@@ -0,0 +1,35 @@
+{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
+, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
+, sqlite, libudev, glib, gst_all_1
+, bison2, flex, gdb, gperf, perl, pkgconfig, python, 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 python ruby
+  ];
+  patches =
+    let dlopen-webkit-nsplugin = substituteAll {
+          src = ./0001-dlopen-webkit-nsplugin.patch;
+          gtk = gtk.out;
+          gdk_pixbuf = gdk_pixbuf.out;
+        };
+        dlopen-webkit-gtk = substituteAll {
+          src = ./0002-dlopen-webkit-gtk.patch;
+          gtk = gtk.out;
+        };
+        dlopen-webkit-udev = substituteAll {
+          src = ./0003-dlopen-webkit-udev.patch;
+          libudev = libudev.out;
+        };
+    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/srcs.nix b/pkgs/development/libraries/qt-5/5.7/srcs.nix
index 38334fa77f1..e7710ce82d6 100644
--- a/pkgs/development/libraries/qt-5/5.7/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.7/srcs.nix
@@ -2,6 +2,14 @@
 { fetchurl, mirror }:
 
 {
+  qtwebkit = {
+    version = "5.7.0";
+    src = fetchurl {
+      url = "${mirror}/community_releases/5.7/5.7.0/qtwebkit-opensource-src-5.7.0.tar.xz";
+      sha256 = "1prlpl3zslzpr1iv7m3irvxjxn3v8nlxh21v9k2kaq4fpwy2b8y7";
+      name = "qtwebkit-opensource-src-5.7.0.tar.xz";
+    };
+  };
   qt3d = {
     version = "5.7.0";
     src = fetchurl {
@@ -146,14 +154,6 @@
       name = "qtpurchasing-opensource-src-5.7.0.tar.xz";
     };
   };
-  qtquickcontrols = {
-    version = "5.7.0";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtquickcontrols-opensource-src-5.7.0.tar.xz";
-      sha256 = "0cpcrmz9n5b4bgmshmk093lirl9xwqb23inchnai1zqg21vrmqfq";
-      name = "qtquickcontrols-opensource-src-5.7.0.tar.xz";
-    };
-  };
   qtquickcontrols2 = {
     version = "5.7.0";
     src = fetchurl {
@@ -162,6 +162,14 @@
       name = "qtquickcontrols2-opensource-src-5.7.0.tar.xz";
     };
   };
+  qtquickcontrols = {
+    version = "5.7.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.7/5.7.0/submodules/qtquickcontrols-opensource-src-5.7.0.tar.xz";
+      sha256 = "0cpcrmz9n5b4bgmshmk093lirl9xwqb23inchnai1zqg21vrmqfq";
+      name = "qtquickcontrols-opensource-src-5.7.0.tar.xz";
+    };
+  };
   qtscript = {
     version = "5.7.0";
     src = fetchurl {
diff --git a/pkgs/development/libraries/qtwebkit-plugins/default.nix b/pkgs/development/libraries/qtwebkit-plugins/default.nix
new file mode 100644
index 00000000000..fbb2ffdd83b
--- /dev/null
+++ b/pkgs/development/libraries/qtwebkit-plugins/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, qmakeHook, qtwebkit, hunspell }:
+
+stdenv.mkDerivation {
+  name = "qtwebkit-plugins-2015-05-09";
+
+  src = fetchFromGitHub {
+    owner = "QupZilla";
+    repo = "qtwebkit-plugins";
+    rev = "4e2e0402abd847346bec704be5305ba849eb754b";
+    sha256 = "0xyq25l56jgdxgqqv0380brhw9gg0hin5hyrf1j6d3c8k1gka20m";
+  };
+
+  nativeBuildInputs = [ qmakeHook ];
+
+  buildInputs = [ qtwebkit hunspell ];
+
+  postPatch = ''
+    sed -i "s,-lhunspell,-lhunspell-1.3," src/spellcheck/spellcheck.pri
+    sed -i "s,\$\$\[QT_INSTALL_PLUGINS\],$out/lib/qt5/plugins," src/src.pro
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Spell checking plugin using Hunspell and HTML5 Notifications plugin for QtWebKit";
+    homepage = "https://github.com/QupZilla/qtwebkit-plugins";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/clblas/cuda/default.nix b/pkgs/development/libraries/science/math/clblas/cuda/default.nix
index 8691009acae..c142514b262 100644
--- a/pkgs/development/libraries/science/math/clblas/cuda/default.nix
+++ b/pkgs/development/libraries/science/math/clblas/cuda/default.nix
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
     sed -i -re 's/(set\(\s*Boost_USE_STATIC_LIBS\s+).*/\1OFF\ \)/g' src/CMakeLists.txt
   '';
 
-  configurePhase = ''    
-    findInputs ${boost} boost_dirs propagated-native-build-inputs
+  configurePhase = ''
+    findInputs ${boost.dev} boost_dirs propagated-native-build-inputs
 
     export BOOST_INCLUDEDIR=$(echo $boost_dirs | sed -e s/\ /\\n/g - | grep '\-dev')/include
     export BOOST_LIBRARYDIR=$(echo $boost_dirs | sed -e s/\ /\\n/g - | grep -v '\-dev')/lib
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     mkdir -p Build
     pushd Build
 
-    export LD_LIBRARY_PATH="${blas}/lib:${nvidia_x11}/lib"
+    export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [ blas nvidia_x11 ]}"
 
     cmake ../src -DCMAKE_INSTALL_PREFIX=$out \
                  -DCMAKE_BUILD_TYPE=Release \
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
index f9897e4add3..9ea3a54f2b0 100644
--- a/pkgs/development/libraries/science/math/ipopt/default.nix
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl, unzip, openblas, gfortran }:
 
 stdenv.mkDerivation rec {
-  version = "3.12.4";
+  version = "3.12.6";
   name = "ipopt-${version}";
 
   src = fetchurl {
     url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
-    sha256 = "0hxmpi3zx5zgv2ijscdvc40xf88hx5if0d9sgch155z70g15wx0l";
+    sha256 = "0lx09h1757s5jppwnxwblcjk0biqjxy7yaf3z4vfqbl4rl93avs0";
   };
 
-  preConfigure = ''
-     export CXXDEFS="-DHAVE_RAND -DHAVE_CSTRING -DHAVE_CSTDIO"
-  '';
+  CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];
 
   configureFlags = [
     "--with-blas-lib=-lopenblas"
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
index bc30716e81f..c1f624f8744 100644
--- a/pkgs/development/libraries/sqlcipher/default.nix
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -1,25 +1,29 @@
-{ stdenv, fetchurl, openssl, tcl, readline ? null, ncurses ? null }:
+{ stdenv, lib, fetchFromGitHub, openssl, tcl, readline ? null, ncurses ? null }:
 
 assert readline != null -> ncurses != null;
 
-stdenv.mkDerivation {
-  name = "sqlcipher-3.1.0";
+stdenv.mkDerivation rec {
+  name = "sqlcipher-${version}";
+  version = "3.4.0";
 
-  src = fetchurl {
-    url = "https://github.com/sqlcipher/sqlcipher/archive/v3.1.0.tar.gz";
-    sha256 = "1h54hsl7g6ra955aaqid5wxm93fklx2pxz8abcdwf9md3bpfcn18";
+  src = fetchFromGitHub {
+    owner = "sqlcipher";
+    repo = "sqlcipher";
+    rev = "v${version}";
+    sha256 = "1lwc2m21sax3pnjfqddldbpbwr3b51s91fxz7dd7hf6ly8swnsvp";
   };
 
   buildInputs = [ readline ncurses openssl tcl ];
 
-  configureFlags = "--enable-threadsafe --disable-tcl";
+  configureFlags = [ "--enable-threadsafe" "--disable-tcl" ];
 
-  CFLAGS = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_HAS_CODEC";
-  LDFLAGS = if readline != null then "-lncurses" else "";
+  CFLAGS = [ "-DSQLITE_ENABLE_COLUMN_METADATA=1" "-DSQLITE_SECURE_DELETE=1" "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1" "-DSQLITE_HAS_CODEC" ];
+  LDFLAGS = lib.optional (readline != null) "-lncurses";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://sqlcipher.net/;
     description = "Full Database Encryption for SQLite";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 2c7cbe04019..3c40ae247f6 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
     "--builtin-libraries=replace"
   ];
 
+  postInstall = ''		
+    ar qf $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o		
+  '';
+
   meta = with stdenv.lib; {
     description = "Hierarchical pool based memory allocator with destructors";
     homepage = http://tdb.samba.org/;
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index 69d833064ed..e9c9260d8d8 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt
-, gobjectIntrospection, valaSupport ? true, vala }:
+, gobjectIntrospection, valaSupport ? true, vala_0_23 }:
 
 stdenv.mkDerivation rec {
   name = "telepathy-glib-0.24.1";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [dbus_glib glib python gobjectIntrospection];
 
-  buildInputs = [pkgconfig libxslt] ++ stdenv.lib.optional valaSupport vala;
+  buildInputs = [pkgconfig libxslt] ++ stdenv.lib.optional valaSupport vala_0_23;
 
   preConfigure = ''
     substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index e3e579eefdb..6c2713c1ebe 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl, cmake, qtbase, pkgconfig, python, dbus_glib, dbus_daemon
-, telepathy_farstream, telepathy_glib, pythonDBus, fetchpatch }:
+{ stdenv, fetchurl, cmake, qtbase, pkgconfig, pythonPackages, dbus_glib, dbus_daemon
+, telepathy_farstream, telepathy_glib, fetchpatch }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python dbus-python;
+in stdenv.mkDerivation rec {
   name = "telepathy-qt-0.9.6.1";
 
   src = fetchurl {
@@ -30,7 +32,7 @@ stdenv.mkDerivation rec {
     ];
 
   nativeBuildInputs = [ cmake pkgconfig python ];
-  propagatedBuildInputs = [ qtbase dbus_glib telepathy_farstream telepathy_glib pythonDBus ];
+  propagatedBuildInputs = [ qtbase dbus_glib telepathy_farstream telepathy_glib dbus-python ];
 
   buildInputs = stdenv.lib.optional doCheck dbus_daemon;
 
diff --git a/pkgs/development/libraries/tntdb/default.nix b/pkgs/development/libraries/tntdb/default.nix
new file mode 100644
index 00000000000..31404e84d25
--- /dev/null
+++ b/pkgs/development/libraries/tntdb/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cxxtools, postgresql, mysql, sqlite, zlib, openssl }:
+
+stdenv.mkDerivation rec {
+  version = "1.3";
+  name = "tntdb";
+  src = fetchurl {
+    url = "http://www.tntnet.org/download/tntdb-${version}.tar.gz";
+    sha256 = "0js79dbvkic30bzw1pf26m64vs2ssw2sbj55w1dc0sy69dlv4fh9";
+  };
+
+  buildInputs = [ cxxtools postgresql mysql sqlite zlib openssl ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.tntnet.org/tntdb.html";
+    description = "C++ library which makes accessing SQL databases easy and robust";
+    platforms = platforms.linux ;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
diff --git a/pkgs/development/libraries/tntnet/default.nix b/pkgs/development/libraries/tntnet/default.nix
new file mode 100644
index 00000000000..93f4d43e6f6
--- /dev/null
+++ b/pkgs/development/libraries/tntnet/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cxxtools, zlib, openssl, zip }:
+
+stdenv.mkDerivation rec {
+  version = "2.2.1";
+  name = "tntnet";
+  src = fetchurl {
+    url = "http://www.tntnet.org/download/tntnet-${version}.tar.gz";
+    sha256 = "08bmak9mpbamwwl3h9p8x5qzwqlm9g3jh70y0ml5hk7hiv870cf8";
+  };
+
+  buildInputs = [ cxxtools zlib openssl zip ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.tntnet.org/tntnet.html";
+    description = "Web server which allows users to develop web applications using C++";
+    platforms = platforms.linux ;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
diff --git a/pkgs/development/libraries/torch/default.nix b/pkgs/development/libraries/torch/default.nix
new file mode 100644
index 00000000000..8700378ae75
--- /dev/null
+++ b/pkgs/development/libraries/torch/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchgit, luajit, openblas, imagemagick, cmake, curl, fftw, gnuplot,
+  libjpeg_turbo, zeromq3, ncurses, openssl, libpng, qt4, readline, unzip}:
+stdenv.mkDerivation rec{
+  version = "0.0pre20160820";
+  name = "torch-${version}";
+  buildInputs = [
+    luajit openblas imagemagick cmake curl fftw gnuplot unzip qt4
+    libjpeg_turbo zeromq3 ncurses openssl libpng readline
+  ];
+  src = fetchgit (stdenv.lib.importJSON ./src.json);
+  configurePhase = ''
+  '';
+  buildPhase = ''
+    cd ..
+    export PREFIX=$out
+    mkdir "$out"
+    sh install.sh -s
+  '';
+  installPhase = ''
+  '';
+  meta = {
+    inherit version;
+    description = ''A scientific computing framework with wide support for machine learning algorithms'';
+    license = stdenv.lib.licenses.bsd3 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/torch/src.json b/pkgs/development/libraries/torch/src.json
new file mode 100644
index 00000000000..37c7a20ce54
--- /dev/null
+++ b/pkgs/development/libraries/torch/src.json
@@ -0,0 +1,6 @@
+{
+        "url": "https://github.com/torch/distro",
+        "rev": "8b6a834f8c8755f6f5f84ef9d8da9cfc79c5ce1f",
+        "sha256": "120hnz82d7izinsmv5smyqww71dhpix23pm43s522dfcglpql8xy",
+        "fetchSubmodules": true
+}
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index 59063645232..20e2213e3e7 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -5,24 +5,25 @@ with stdenv.lib;
 
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "5.10";
-  minorVersion = "1";
+  majorVersion = "7.0";
+  minorVersion = "0";
   version = "${majorVersion}.${minorVersion}";
 in
 
 stdenv.mkDerivation rec {
   name = "vtk-${os (qtLib != null) "qvtk-"}${version}";
   src = fetchurl {
-    url = "${meta.homepage}files/release/${majorVersion}/vtk-${version}.tar.gz";
-    sha256 = "1fxxgsa7967gdphkl07lbfr6dcbq9a72z5kynlklxn7hyp0l18pi";
+    url = "${meta.homepage}files/release/${majorVersion}/VTK-${version}.tar.gz";
+    sha256 = "1hrjxkcvs3ap0bdhk90vymz5pgvxmg7q6sz8ab3wsyddbshr1abq";
   };
 
-  # https://bugzilla.redhat.com/show_bug.cgi?id=1138466
-  postPatch = "sed '/^#define GL_GLEXT_LEGACY/d' -i ./Rendering/vtkOpenGL.h";
-
   buildInputs = [ cmake mesa libX11 xproto libXt ]
     ++ optional (qtLib != null) qtLib;
 
+  preBuild = ''
+    export LD_LIBRARY_PATH="$(pwd)/lib";
+  '';
+
   # Shared libraries don't work, because of rpath troubles with the current
   # nixpkgs camke approach. It wants to call a binary at build time, just
   # built and requiring one of the shared objects.
diff --git a/pkgs/development/libraries/wt/cmake.patch b/pkgs/development/libraries/wt/cmake.patch
new file mode 100644
index 00000000000..e7b1f87411d
--- /dev/null
+++ b/pkgs/development/libraries/wt/cmake.patch
@@ -0,0 +1,10 @@
+--- a/CMakeLists.txt	2016-07-13 14:27:26.000000000 +0200
++++ b/CMakeLists.txt	2016-08-16 12:58:28.135652964 +0200
+@@ -6,6 +6,7 @@
+   CMAKE_POLICY(SET CMP0002 OLD)
+   CMAKE_POLICY(SET CMP0003 OLD)
+   CMAKE_POLICY(SET CMP0005 OLD)
++  CMAKE_POLICY(SET CMP0037 OLD)
+ ENDIF(COMMAND CMAKE_POLICY)
+ 
+ PROJECT(WT)
diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix
new file mode 100644
index 00000000000..e25b23e84ed
--- /dev/null
+++ b/pkgs/development/libraries/wt/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu, 
+  pango, fcgi, firebird, libmysql, postgresql, graphicsmagick, glew, openssl,
+  pcre }:
+
+stdenv.mkDerivation rec {
+  name = "wt";
+  version = "3.3.6";
+
+  src = fetchFromGitHub {
+    owner = "kdeforche";
+    repo = name;
+    rev = version;
+    sha256 = "1pvykc969l9cpd0da8bgpi4gr8f6qczrbpprrxamyj1pn0ydzvq3";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake boost pkgconfig doxygen qt48Full libharu 
+    pango fcgi firebird libmysql postgresql graphicsmagick glew 
+    openssl pcre ];
+
+  cmakeFlags = [
+    "-DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick"
+    "-DWT_CPP_11_MODE=-std=c++11"
+    "-DGM_PREFIX=${graphicsmagick}"
+    "-DMYSQL_PREFIX=${libmysql.dev}"
+    "--no-warn-unused-cli"
+  ];
+
+  patches = [ ./cmake.patch ];  # fix a cmake warning; PR sent to upstream 
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.webtoolkit.eu/wt";
+    description = "C++ library for developing web applications";
+    platforms = platforms.linux ;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
+
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index 4ba366be56f..bdc21d72ac3 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -2,17 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "xgboost-${version}";
-  version = "2016-05-14";
+  version = "0.60";
 
   # needs submodules
   src = fetchgit {
     url = "https://github.com/dmlc/xgboost";
-    rev = "9c26566eb09733423f821f139938ff4105c3775d";
-    sha256 = "1d7lnbwxwakclqqfjwyk9w3wd2clkihdr6ljs5z08ydiaspri093";
+    rev = "refs/tags/v${version}";
+    sha256 = "0536vfl59n9vlagl1cpdl06c9y19dscwhwdzvi27zk5nc5qb6rdq";
   };
 
-  postPatch = "sed '1i#include <cmath>' -i src/tree/param.h";
-
   enableParallelBuilding = true;
 
   installPhase = ''
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index ced0844f3e1..879e1ccaec3 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala
+{ stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala_0_23
 , intltool, libtool, python, dbus_libs, telepathy_glib
 , gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
 
   buildInputs = [ pkgconfig glib sqlite gnome3.gnome_common intltool
-                  libtool python dbus_libs telepathy_glib vala dbus_glib
+                  libtool python dbus_libs telepathy_glib vala_0_23 dbus_glib
                   gtk3 json_glib librdf_raptor2 pythonPackages.rdflib ];
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/mobile/androidenv/androidndk_r8e.nix b/pkgs/development/mobile/androidenv/androidndk_r8e.nix
index 1896a615ac1..4239dc55e7c 100644
--- a/pkgs/development/mobile/androidenv/androidndk_r8e.nix
+++ b/pkgs/development/mobile/androidenv/androidndk_r8e.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
         \( -type f -a -name "*.so*" \) -o \
         \( -type f -a -perm -0100 \) \
         \) -exec patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-*so.? \
-                          --set-rpath ${zlib.out}/lib:${ncurses.out}/lib {} \;
+                          --set-rpath ${stdenv.lib.makeLibraryPath [ zlib ncurses ]} {} \;
     # fix ineffective PROGDIR / MYNDKDIR determination
     for i in ndk-build ndk-gdb ndk-gdb-py
     do
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index 5e4c7e54202..36b40d5a29f 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -71,11 +71,11 @@ stdenv.mkDerivation rec {
     
       wrapProgram `pwd`/uiautomatorviewer \
         --prefix PATH : ${jdk}/bin \
-        --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
+        --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk libXtst ]}
     
       wrapProgram `pwd`/hierarchyviewer \
         --prefix PATH : ${jdk}/bin \
-        --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
+        --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk libXtst ]}
       
       # The emulators need additional libraries, which are dynamically loaded => let's wrap them
 
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
         for i in emulator emulator64-arm emulator64-mips emulator64-x86 emulator64-crash-service
         do
             wrapProgram `pwd`/$i \
-              --prefix PATH : ${file}/bin:${glxinfo}/bin \
+              --prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \
               --suffix LD_LIBRARY_PATH : `pwd`/lib64:`pwd`/lib64/qt/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext mesa alsaLib zlib libpulseaudio ]} \
               --suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb
         done
diff --git a/pkgs/development/mobile/flashtool/default.nix b/pkgs/development/mobile/flashtool/default.nix
index 1689b2f506f..06d38c700dd 100644
--- a/pkgs/development/mobile/flashtool/default.nix
+++ b/pkgs/development/mobile/flashtool/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     sed -i \
       -e 's|$(uname -m)|i686|' \
       -e 's|export JAVA_HOME=.*|export JAVA_HOME=${jre}|' \
-      -e 's|export LD_LIBRARY_PATH=.*|export LD_LIBRARY_PATH=${libXtst}/lib:${glib}/lib:${gtk2}/lib:./x10flasher_lib/linux/lib32|' \
+      -e 's|export LD_LIBRARY_PATH=.*|export LD_LIBRARY_PATH=${stdenv.lib.makeLibraryPath [ libXtst glib gtk2 ]}:./x10flasher_lib/linux/lib32|' \
       FlashTool FlashToolConsole
   '';
 
diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix
index 2dc1b515c03..26b41a75146 100644
--- a/pkgs/development/ocaml-modules/bitstring/default.nix
+++ b/pkgs/development/ocaml-modules/bitstring/default.nix
@@ -1,12 +1,11 @@
-{stdenv, fetchgit, buildOcaml, time, autoconf, automake}:
+{ stdenv, fetchzip, buildOcaml, time, autoconf, automake }:
 
 buildOcaml rec {
   name = "bitstring";
   version = "f1673f8"; 
-  src = fetchgit {
-    url = "https://code.google.com/p/bitstring/";
-    rev = "f1673f8";
-    sha256 = "1lh97qf1b7mq64pxkphr2w91ri5hfwg58cpjb2xd8a453c9jylw4";
+  src = fetchzip {
+    url = https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/bitstring/source-archive.zip;
+    sha256 = "03343yggwp3y483zj5axaalxlnl698xrjiv3hmd4c2s05g53iwas";
   };
 
   patches = [ ./camlp4-git.patch ./meta.patch ./srcdir.patch ];
diff --git a/pkgs/development/ocaml-modules/magick/default.nix b/pkgs/development/ocaml-modules/magick/default.nix
index 2d24fefa205..021962154bd 100644
--- a/pkgs/development/ocaml-modules/magick/default.nix
+++ b/pkgs/development/ocaml-modules/magick/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation {
 
   createFindlibDestdir = true;
 
+  preConfigure = "substituteInPlace Makefile --replace gcc $CC";
+
   installTargets = [ "find_install" ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix
new file mode 100644
index 00000000000..4fd6589cfb5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/topkg/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, ocaml, findlib, result, opam }:
+
+let ocaml-version = stdenv.lib.getVersion ocaml; in
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml-version}-topkg-${version}";
+  version = "0.7.8";
+
+  src = fetchurl {
+    url = "http://erratique.ch/software/topkg/releases/topkg-${version}.tbz";
+    sha256 = "029lbmabczpmcgkj53mc20vmpcn3f7rf7xms4xf0nywswfzsash6";
+  };
+
+  nativeBuildInputs = [ opam ];
+  buildInputs = [ ocaml findlib ];
+  propagatedBuildInputs = [ result ];
+
+  unpackCmd = "tar xjf ${src}";
+  buildPhase = "ocaml -I ${findlib}/lib/ocaml/${ocaml-version}/site-lib/ pkg/pkg.ml build";
+  createFindlibDestdir = true;
+  installPhase = ''
+    opam-installer --script --prefix=$out topkg.install | sh
+    mv $out/lib/topkg $out/lib/ocaml/${ocaml-version}/site-lib/
+  '';
+
+  meta = {
+    homepage = http://erratique.ch/software/topkg;
+    license = stdenv.lib.licenses.isc;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    description = "A packager for distributing OCaml software";
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/uucd/default.nix b/pkgs/development/ocaml-modules/uucd/default.nix
index 8e497560c68..2f19b2c17ef 100644
--- a/pkgs/development/ocaml-modules/uucd/default.nix
+++ b/pkgs/development/ocaml-modules/uucd/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, ocaml, findlib, opam, xmlm}:
+{ stdenv, fetchurl, ocaml, findlib, opam, xmlm, topkg }:
 let
   pname = "uucd";
-  version = "2.0.0";
+  version = "4.0.0";
   webpage = "http://erratique.ch/software/${pname}";
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
 in
@@ -11,16 +11,16 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "12lbrrdjwdxfa99pbg344dfkj51lr5d2ispcj7d7lwsqyxy6h57i";
+    sha256 = "11cjfwa4wjhsyvzq4wl9z44xi28n49drz8nbfpx754vyfzwj3yc6";
   };
 
-  buildInputs = [ ocaml findlib opam xmlm ];
+  buildInputs = [ ocaml findlib opam topkg ];
 
   createFindlibDestdir = true;
 
   unpackCmd = "tar xjf $src";
 
-  buildPhase = "ocaml ./pkg/build.ml native=true native-dynlink=true";
+  inherit (topkg) buildPhase;
 
   installPhase = ''
     opam-installer --script --prefix=$out ${pname}.install > install.sh
diff --git a/pkgs/development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch b/pkgs/development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
new file mode 100644
index 00000000000..5a1c6746e60
--- /dev/null
+++ b/pkgs/development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
@@ -0,0 +1,22 @@
+diff --git a/lib/CatalystX/Script/Server/Starman.pm b/lib/CatalystX/Script/Server/Starman.pm
+index 670bd74..7b3bd2e 100644
+--- a/lib/CatalystX/Script/Server/Starman.pm
++++ b/lib/CatalystX/Script/Server/Starman.pm
+@@ -9,7 +9,7 @@ our $VERSION = '0.02';
+ 
+ extends 'Catalyst::Script::Server';
+ 
+-has '+fork' => ( default => 1, init_arg => undef );
++has '+fork' => ( default => 1 );
+ 
+ has [qw/ keepalive restart restart_delay restart_regex restart_directory/] => ( init_arg => undef, is => 'ro' );
+ 
+@@ -70,7 +70,7 @@ CatalystX::Script::Server::Starman - Replace the development server with Starman
+ 
+        -d --debug           force debug mode
+        -f --fork            handle each request in a new process
+-                            (defaults to false)
++                            (defaults to true)
+        -? --help            display this help and exits
+        -h --host            host (defaults to all)
+        -p --port            port (defaults to 3000)
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh
index efbb1e73787..ca73a473ed5 100644
--- a/pkgs/development/python-modules/generic/wrap.sh
+++ b/pkgs/development/python-modules/generic/wrap.sh
@@ -4,16 +4,12 @@ wrapPythonPrograms() {
     wrapPythonProgramsIn $out "$out $pythonPath"
 }
 
-# Transforms any binaries generated by the setup.py script, replacing them
-# with an executable shell script which will set some environment variables
-# and then call into the original binary (which has been given a .wrapped
-# suffix).
-wrapPythonProgramsIn() {
-    local dir="$1"
-    local pythonPath="$2"
+# Builds environment variables like PYTHONPATH and PATH walking through closure
+# of dependencies.
+buildPythonPath() {
+    local pythonPath="$1"
     local python="@executable@"
     local path
-    local f
 
     # Create an empty table of python paths (see doc on _addToPythonPath
     # for how this is used). Build up the program_PATH and program_PYTHONPATH
@@ -21,9 +17,35 @@ wrapPythonProgramsIn() {
     declare -A pythonPathsSeen=()
     program_PYTHONPATH=
     program_PATH=
+    pythonPathsSeen["@python@"]=1
+    addToSearchPath program_PATH @python@/bin
     for path in $pythonPath; do
         _addToPythonPath $path
     done
+}
+
+# Patches a Python script so that it has correct libraries path and executable
+# name.
+patchPythonScript() {
+    local f="$1"
+
+    # The magicalSedExpression will invoke a "$(basename "$f")", so
+    # if you change $f to something else, be sure to also change it
+    # in pkgs/top-level/python-packages.nix!
+    # It also uses $program_PYTHONPATH.
+    sed -i "$f" -re '@magicalSedExpression@'
+}
+
+# Transforms any binaries generated by the setup.py script, replacing them
+# with an executable shell script which will set some environment variables
+# and then call into the original binary (which has been given a .wrapped
+# suffix).
+wrapPythonProgramsIn() {
+    local dir="$1"
+    local pythonPath="$2"
+    local f
+
+    buildPythonPath "$pythonPath"
 
     # Find all regular files in the output directory that are executable.
     for f in $(find "$dir" -type f -perm -0100); do
@@ -39,16 +61,12 @@ wrapPythonProgramsIn() {
             # dont wrap EGG-INFO scripts since they are called from python
             if echo "$f" | grep -qv EGG-INFO/scripts; then
                 echo "wrapping \`$f'..."
-                # The magicalSedExpression will invoke a "$(basename "$f")", so
-                # if you change $f to something else, be sure to also change it
-                # in pkgs/top-level/python-packages.nix!
-                sed -i "$f" -re '@magicalSedExpression@'
+                patchPythonScript "$f"
                 # wrapProgram creates the executable shell script described
                 # above. The script will set PYTHONPATH and PATH variables.!
                 # (see pkgs/build-support/setup-hooks/make-wrapper.sh)
                 local -a wrap_args=("$f"
-                                 --prefix PYTHONPATH ':' "$program_PYTHONPATH"
-                                 --prefix PATH ':' "$program_PATH:$dir/bin")
+                                 --prefix PATH ':' "$program_PATH")
 
                 # Add any additional arguments provided by makeWrapperArgs
                 # argument to buildPythonPackage.
diff --git a/pkgs/development/python-modules/libgpuarray/cuda/default.nix b/pkgs/development/python-modules/libgpuarray/cuda/default.nix
index 91dfb9b625b..a9c64cd7d7f 100644
--- a/pkgs/development/python-modules/libgpuarray/cuda/default.nix
+++ b/pkgs/development/python-modules/libgpuarray/cuda/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
 
     function fixRunPath {
       p=$(patchelf --print-rpath $1)
-      patchelf --set-rpath "$p:${cudatoolkit}/lib:${clblas}/lib:${nvidia_x11}/lib" $1
+      patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ cudatoolkit clblas nvidia_x11 ]}" $1
     }
 
     fixRunPath Install/lib/libgpuarray.so
diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix
index c8be20bbe0a..d97a23746fd 100644
--- a/pkgs/development/python-modules/pycuda/default.nix
+++ b/pkgs/development/python-modules/pycuda/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   }; 
 
   preConfigure = ''
-    findInputs ${boost} boost_dirs propagated-native-build-inputs
+    findInputs ${boost.dev} boost_dirs propagated-native-build-inputs
 
     export BOOST_INCLUDEDIR=$(echo $boost_dirs | sed -e s/\ /\\n/g - | grep '\-dev')/include
     export BOOST_LIBRARYDIR=$(echo $boost_dirs | sed -e s/\ /\\n/g - | grep -v '\-dev')/lib
diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix
index 746cc747d72..0eefce47e96 100644
--- a/pkgs/development/python-modules/pyqt/4.x.nix
+++ b/pkgs/development/python-modules/pyqt/4.x.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, python, pythonPackages, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
+{ stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }:
 
-let version = "4.11.3";
-in
-stdenv.mkDerivation {
+let
+  version = "4.11.3";
+  inherit (pythonPackages) python dbus-python sip;
+in stdenv.mkDerivation {
   name = "${python.libPrefix}-PyQt-x11-gpl-${version}";
 
   src = fetchurl {
@@ -12,7 +13,7 @@ stdenv.mkDerivation {
 
   configurePhase = ''
     mkdir -p $out
-    lndir ${pythonDBus} $out
+    lndir ${dbus-python} $out
 
     export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
 
@@ -21,16 +22,16 @@ stdenv.mkDerivation {
 
     configureFlagsArray=( \
       --confirm-license --bindir $out/bin \
-      --destdir $out/lib/${python.libPrefix}/site-packages \
-      --plugin-destdir $out/lib/qt4/plugins --sipdir $out/share/sip \
-      --dbus=$out/include/dbus-1.0 --verbose)
+      --destdir $out/${python.sitePackages} \
+      --plugin-destdir $out/lib/qt4/plugins --sipdir $out/share/sip/PyQt4 \
+      --dbus=${dbus_libs.dev}/include/dbus-1.0 --verbose)
 
     ${python.executable} configure.py $configureFlags "''${configureFlagsArray[@]}"
   '';
 
-  buildInputs = [ pkgconfig makeWrapper qt4 lndir ];
+  buildInputs = [ pkgconfig makeWrapper qt4 lndir dbus_libs ];
 
-  propagatedBuildInputs = [ pythonPackages.sip_4_16 python ];
+  propagatedBuildInputs = [ sip python ];
 
   postInstall = ''
     for i in $out/bin/*; do
@@ -40,7 +41,10 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  passthru.pythonPath = [];
+  passthru = {
+    pythonPath = [];
+    qt = qt4;
+  };
 
   meta = {
     description = "Python bindings for Qt";
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 69fb6e266ea..f5ee50a7352 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, python, pkgconfig, qtbase, qtsvg, qtwebkit, sip, pythonDBus
+{ stdenv, fetchurl, pythonPackages, pkgconfig, qtbase, qtsvg, qtwebkit, dbus_libs
 , lndir, makeWrapper, qmakeHook }:
 
 let
-  version = "5.5.1";
+  version = "5.6";
+  inherit (pythonPackages) python dbus-python sip;
 in stdenv.mkDerivation {
   name = "${python.libPrefix}-PyQt-${version}";
 
@@ -15,13 +16,13 @@ in stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz";
-    sha256 = "11l3pm0wkwkxzw4n3022iid3yyia5ap4l0ny1m5ngkzzzfafyw0a";
+    url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
+    sha256 = "1qgh42zsr9jppl9k7fcdbhxcd1wrb7wyaj9lng9nxfa19in1lj1f";
   };
 
   buildInputs = [
     pkgconfig makeWrapper lndir
-    qtbase qtsvg qtwebkit qmakeHook
+    qtbase qtsvg qtwebkit dbus_libs qmakeHook
   ];
 
   propagatedBuildInputs = [ sip python ];
@@ -30,7 +31,7 @@ in stdenv.mkDerivation {
     runHook preConfigure
 
     mkdir -p $out
-    lndir ${pythonDBus} $out
+    lndir ${dbus-python} $out
 
     export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
 
@@ -40,12 +41,13 @@ in stdenv.mkDerivation {
 
     ${python.executable} configure.py  -w \
       --confirm-license \
-      --dbus=$out/include/dbus-1.0 \
+      --dbus=${dbus_libs.dev}/include/dbus-1.0 \
       --qmake=$QMAKE \
       --no-qml-plugin \
       --bindir=$out/bin \
-      --destdir=$out/lib/${python.libPrefix}/site-packages \
-      --sipdir=$out/share/sip \
+      --destdir=$out/${python.sitePackages} \
+      --stubsdir=$out/${python.sitePackages}/PyQt5 \
+      --sipdir=$out/share/sip/PyQt5 \
       --designer-plugindir=$out/plugins/designer
 
     runHook postConfigure
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
deleted file mode 100644
index 2861816885f..00000000000
--- a/pkgs/development/python-modules/sip/4.16.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, python, isPyPy }:
-
-if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
-  name = "sip-4.16.6";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
-    sha256 = "0lj5f581dkwswlwpg7lbicqf940dvrp8vjbkhmyywd99ynxb4zcc";
-  };
-
-  configurePhase = ''
-    ${python.executable} ./configure.py \
-      -d $out/lib/${python.libPrefix}/site-packages \
-      -b $out/bin -e $out/include
-  '';
-
-  buildInputs = [ python ];
-
-  passthru.pythonPath = [];
-
-  meta = with stdenv.lib; {
-    description = "Creates C++ bindings for Python modules";
-    homepage    = "http://www.riverbankcomputing.co.uk/";
-    license     = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lovek323 sander urkud ];
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index 6c455b3bb1b..cbee1867cf6 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -1,17 +1,14 @@
 { stdenv, fetchurl, python, isPyPy }:
 
 if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
-  name = "sip-4.14.7"; # kde410.pykde4 doesn't build with 4.15
+  name = "sip-4.18.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
-    sha256 = "1dv1sdwfmnq481v80k2951amzs9s87d4qhk0hpwrhb1sllh92rh5";
+    sha256 = "1452zy3g0qv4fpd9c0y4gq437kn0xf7bbfniibv5n43zpwnpmklv";
   };
 
-  configurePhase = stdenv.lib.optionalString stdenv.isDarwin ''
-    # prevent sip from complaining about python not being built as a framework
-    sed -i -e 1564,1565d siputils.py
-  '' + ''
+  configurePhase = ''
     ${python.executable} ./configure.py \
       -d $out/lib/${python.libPrefix}/site-packages \
       -b $out/bin -e $out/include
diff --git a/pkgs/development/ruby-modules/gem/gem-post-build.rb b/pkgs/development/ruby-modules/gem/gem-post-build.rb
index 4480c525bf1..f0322b67f61 100644
--- a/pkgs/development/ruby-modules/gem/gem-post-build.rb
+++ b/pkgs/development/ruby-modules/gem/gem-post-build.rb
@@ -7,7 +7,7 @@ ruby = File.join(ENV["ruby"], "bin", RbConfig::CONFIG['ruby_install_name'])
 out = ENV["out"]
 bin_path = File.join(ENV["out"], "bin")
 gem_home = ENV["GEM_HOME"]
-gem_path = ENV["GEM_PATH"].split(":")
+gem_path = ENV["GEM_PATH"].split(File::PATH_SEPARATOR)
 install_path = Dir.glob("#{gem_home}/gems/*").first
 gemspec_path = ARGV[0]
 
@@ -64,11 +64,16 @@ spec.executables.each do |exe|
 # this file is here to facilitate running it.
 #
 
-Gem.use_paths "#{gem_home}", #{gem_path.to_s}
-
 require 'rubygems'
 
-load Gem.bin_path(#{spec.name.inspect}, #{exe.inspect})
+Gem.paths = {
+  'GEM_PATH' => (
+    ENV['GEM_PATH'].to_s.split(File::PATH_SEPARATOR) +
+    #{([gem_home] + gem_path).to_s}
+  ).join(File::PATH_SEPARATOR)
+}
+
+load Gem.activate_bin_path(#{spec.name.inspect}, #{exe.inspect}, #{spec.version.to_s.inspect})
     EOF
   end
 
diff --git a/pkgs/development/tools/build-managers/gnustep/make/default.nix b/pkgs/development/tools/build-managers/gnustep/make/default.nix
deleted file mode 100644
index 5baa37b93a4..00000000000
--- a/pkgs/development/tools/build-managers/gnustep/make/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl }:
-
-let version = "2.6.7"; in
-stdenv.mkDerivation rec {
-  name = "gnustep-make-${version}";
-
-  src = fetchurl {
-    url = "http://ftpmain.gnustep.org/pub/gnustep/core/${name}.tar.gz";
-    sha256 = "1r2is23xdg4qirckb6bd4lynfwnnw5d9522wib3ndk1xgirmfaqi";
-  };
-
-  patchPhase = ''
-    substituteInPlace GNUmakefile.in \
-      --replace which type \
-      --replace 'tooldir = $(DESTDIR)' 'tooldir = ' \
-      --replace 'makedir = $(DESTDIR)' 'makedir = ' \
-      --replace 'mandir  = $(DESTDIR)' 'mandir  = '
-
-    substituteInPlace FilesystemLayouts/apple \
-      --replace /usr/local ""
-
-    substituteInPlace configure \
-      --replace /Library/GNUstep "$out"
-  '';
-
-  installFlags = "DESTDIR=$(out)";
-
-  postInstall = ''
-    mkdir -p $out/nix-support
-    cat >$out/nix-support/setup-hook <<EOF
-      . $out/Library/GNUstep/Makefiles/GNUstep.sh
-    EOF
-  '';
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/build-managers/gnustep/xcode/default.nix b/pkgs/development/tools/build-managers/gnustep/xcode/default.nix
deleted file mode 100644
index 4f31c6df6d8..00000000000
--- a/pkgs/development/tools/build-managers/gnustep/xcode/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchgit, gnustep-make, Foundation, libobjc }:
-
-stdenv.mkDerivation rec {
-  name = "xcode-${version}";
-  version = "1.0";
-
-  makeFlags = "messages=yes";
-
-  installFlags = "DESTDIR=$(out)";
-
-  __impureHostDeps = [
-    "/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
-    "/usr/lib/libextension.dylib"
-  ];
-
-  buildInputs = [ gnustep-make Foundation libobjc ];
-
-  src = fetchgit {
-    url = "https://github.com/gnustep/xcode";
-    rev = "cc5016794e44f9998674120a5e4625aa09ca455a";
-    sha256 = "85420f3f61091b2e4548cf5e99d886cb9c72cf07b8b9fae3eebc87e7b6b7e54a";
-  };
-}
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 07cdf3fbd6d..86058e03e41 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -51,7 +51,16 @@ rec {
     };
   };
 
-  gradleLatest = gradleGen rec {
+  gradle_latest = gradleGen rec {
+    name = "gradle-3.0";
+
+    src = fetchurl {
+      url = "http://services.gradle.org/distributions/${name}-bin.zip";
+      sha256 = "103z2nzlpc6x3mav0mqardd84rj1si718f6wpnpl8i273aa0dj9r";
+    };
+  };
+
+  gradle_2_14 = gradleGen rec {
     name = "gradle-2.14.1";
 
     src = fetchurl {
@@ -60,7 +69,7 @@ rec {
     };
   };
 
-  gradle25 = gradleGen rec {
+  gradle_2_5 = gradleGen rec {
     name = "gradle-2.5";
 
     src = fetchurl {
diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh
deleted file mode 100644
index f3dd2bf2c93..00000000000
--- a/pkgs/development/tools/build-managers/leiningen/builder.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-source $stdenv/setup
-
-mkdir -pv $out/bin $out/share/java
-
-out_bin=$out/bin/lein
-
-cp -v $src $out_bin
-cp -v $jarsrc "$out/share/java/$name-standalone.jar"
-
-for p in $patches;
-do
-    patch --verbose $out_bin -p0 < $p
-done
-chmod -v 755 $out_bin
-
-patchShebangs $out
-
-wrapProgram $out_bin \
-    --prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \
-    --set LEIN_GPG ${gnupg1compat}/bin/gpg \
-    --set JAVA_CMD ${jdk}/bin/java
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 8a8ab9ba91f..39a39f949a5 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper
-, coreutils, findutils, jdk, rlwrap, gnupg1compat }:
+, coreutils, jdk, rlwrap, gnupg1compat }:
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
@@ -17,16 +17,33 @@ stdenv.mkDerivation rec {
     sha256 = "1533msarx6gb3xc2sp2nmspllnqy7anpnv9a0ifl0psxm3xph06p";
   };
 
-  patches = [ ./lein-fix-jar-path.patch ];
+  JARNAME = "${name}-standalone.jar";
 
-  inherit rlwrap gnupg1compat findutils coreutils jdk;
-
-  builder = ./builder.sh;
+  unpackPhase = "true";
 
   buildInputs = [ makeWrapper ];
-
   propagatedBuildInputs = [ jdk ];
 
+  installPhase = ''
+    mkdir -p $out/bin $out/share/java
+
+    cp -v $src $out/bin/lein
+    cp -v $jarsrc $out/share/java/$JARNAME
+  '';
+
+  fixupPhase = ''
+    chmod +x $out/bin/lein
+    patchShebangs $out/bin/lein
+
+    substituteInPlace $out/bin/lein \
+      --replace 'LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar' "LEIN_JAR=$out/share/java/$JARNAME"
+
+    wrapProgram $out/bin/lein \
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap coreutils ]}" \
+      --set LEIN_GPG ${gnupg1compat}/bin/gpg \
+      --set JAVA_CMD ${jdk}/bin/java
+  '';
+
   meta = {
     homepage = http://leiningen.org/;
     description = "Project automation for Clojure";
diff --git a/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch b/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch
deleted file mode 100644
index f7d5bc4d9a7..00000000000
--- a/pkgs/development/tools/build-managers/leiningen/lein-fix-jar-path.patch
+++ /dev/null
@@ -1,4 +0,0 @@
-46c47
-< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
----
-> LEIN_JAR=$(find $(dirname $0)/../share/java -name *-standalone.jar | head -n 1)
diff --git a/pkgs/development/tools/build-managers/redo/default.nix b/pkgs/development/tools/build-managers/redo/default.nix
index 5a502a1fb79..8063b674766 100644
--- a/pkgs/development/tools/build-managers/redo/default.nix
+++ b/pkgs/development/tools/build-managers/redo/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation rec {
   name = "redo-1.2";
   src = fetchurl {
-    url = "http://homepage.ntlworld.com/jonathan.deboynepollard/Softwares/${name}.tar.bz2";
-    sha256 = "0hfbiljmgl821a0sf7abrfx29f22ahrgs86mrlrm8m95s7387kpp";
+    url = "https://jdebp.eu./Repository/freebsd/${name}.tar.gz";
+    sha256 = "0qr8plllxfn32r4rgnalzlhcs3b4l8a4ga8ig9v8i5iy1qnfhqnf";
   };
 
   nativeBuildInputs = [ perl /* for pod2man */ ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://homepage.ntlworld.com/jonathan.deboynepollard/Softwares/redo.html;
+    homepage = https://jdebp.eu./Softwares/redo/;
     description = "A system for building target files from source files";
     license = stdenv.lib.licenses.bsd2;
     maintainers = [ stdenv.lib.maintainers.vrthra ];
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index 302026e59cc..10d4a3f0f28 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/share/bootstrap.sh \
       --replace "#!/bin/bash" "#!$(type -P bash)"
     wrapProgram $out/bin/buildkite-agent \
-      --set PATH '"${openssh}/bin/:${git}/bin:${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:$PATH"'
+      --set PATH '"${stdenv.lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}:$PATH"'
   '';
 
   meta = {
diff --git a/pkgs/development/tools/continuous-integration/cide/default.nix b/pkgs/development/tools/continuous-integration/cide/default.nix
index 4a64d8bf303..1ed752fb393 100644
--- a/pkgs/development/tools/continuous-integration/cide/default.nix
+++ b/pkgs/development/tools/continuous-integration/cide/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/cide $out/bin/cide \
-      --set PATH ${docker}/bin:${git}/bin:${gnutar}/bin:${gzip}/bin
+      --set PATH ${stdenv.lib.makeBinPath [ docker git gnutar gzip ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/deis/deps.json b/pkgs/development/tools/deis/deps.json
index a0333247062..b28ce075e81 100644
--- a/pkgs/development/tools/deis/deps.json
+++ b/pkgs/development/tools/deis/deps.json
@@ -1,10 +1,29 @@
 [
     {
-        "include": "../../../go-modules/libs.json",
-        "packages": [
-            "github.com/docopt/docopt-go",
-            "golang.org/x/crypto",
-            "gopkg.in/yaml.v2"
-        ]
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
+    },
+    {
+        "goPackagePath": "github.com/docopt/docopt-go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/docopt/docopt-go",
+            "rev": "784ddc588536785e7299f7272f39101f7faccc3f",
+            "sha256": "0wwz48jl9fvl1iknvn9dqr4gfy1qs03gxaikrxxp9gry6773v3sj"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
     }
 ]
diff --git a/pkgs/development/tools/go2nix/deps.json b/pkgs/development/tools/go2nix/deps.json
index f6d392ad3ce..ab9d0d39fce 100644
--- a/pkgs/development/tools/go2nix/deps.json
+++ b/pkgs/development/tools/go2nix/deps.json
@@ -1,9 +1,20 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/Masterminds/vcs",
-      "github.com/jawher/mow.cli"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/Masterminds/vcs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/Masterminds/vcs",
+            "rev": "7af28b64c5ec41b1558f5514fd938379822c237c",
+            "sha256": "127pamr5lkym3iq6z747bm4y4gyc02glrqb61yv82z1rdyv1dcf6"
+        }
+    },
+    {
+        "goPackagePath": "github.com/jawher/mow.cli",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/jawher/mow.cli",
+            "rev": "772320464101e904cd51198160eb4d489be9cc49",
+            "sha256": "1a8hnh2k3vc3prjhnz4rjbiwhqq6r3mi18h9cdb6fc6s6yzjc19j"
+        }
+    }
 ]
diff --git a/pkgs/development/tools/golint/deps.json b/pkgs/development/tools/golint/deps.json
index bc1b079376a..387adc6cf06 100644
--- a/pkgs/development/tools/golint/deps.json
+++ b/pkgs/development/tools/golint/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "golang.org/x/tools"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/tools",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/tools",
+            "rev": "9ae4729fba20b3533d829a9c6ba8195b068f2abc",
+            "sha256": "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1"
+        }
+    }
 ]
diff --git a/pkgs/development/tools/gotools/deps.json b/pkgs/development/tools/gotools/deps.json
index 76e8fd93aa7..64ae72eb3ed 100644
--- a/pkgs/development/tools/gotools/deps.json
+++ b/pkgs/development/tools/gotools/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "golang.org/x/net"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    }
 ]
diff --git a/pkgs/development/tools/gox/deps.json b/pkgs/development/tools/gox/deps.json
index 288b2d9f714..3406194137c 100644
--- a/pkgs/development/tools/gox/deps.json
+++ b/pkgs/development/tools/gox/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/mitchellh/iochan"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/mitchellh/iochan",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mitchellh/iochan",
+            "rev": "b584a329b193e206025682ae6c10cdbe03b0cd77",
+            "sha256": "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b"
+        }
+    }
 ]
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
index 7ec56267f6b..f1a4f219682 100644
--- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -9,7 +9,7 @@ let
   ihaskellSh = writeScriptBin "ihaskell-notebook" ''
     #! ${stdenv.shell}
     export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH"
-    export PATH="${ihaskell}/bin:${ihaskellEnv}/bin:${ipython}/bin"
+    export PATH="${stdenv.lib.makeBinPath [ ihaskell ihaskellEnv ipython ]}"
     ${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${ipython}/bin/ipython notebook --kernel=haskell
   '';
   profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 8195aea8b38..140ff48db55 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2016.05.21";
+  version = "2016.08.18";
 
   src = fetchFromGitHub {
     owner = "cliffordwolf";
     repo = "icestorm";
-    rev = "fb67695a883b29ca670b43ed2733eca9ca161e4d";
-    sha256 = "0zsjpz49qr09g33nz4nfi1inshg37y5zdxnv6f8gkwq7x948rh3z";
+    rev = "12b2295c9087d94b75e374bb205ae4d76cf17e2f";
+    sha256 = "1mmzlqvap6w8n4qzv3idvy51arkgn03692ssplwncy3akjrbsd2b";
   };
 
   buildInputs = [ python3 libftdi ];
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
new file mode 100644
index 00000000000..2620a5b7741
--- /dev/null
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "visualvm-1.3.8";
+
+  src = fetchzip {
+    url = "https://java.net/projects/visualvm/downloads/download/release138/visualvm_138.zip";
+    sha256 = "09wsi85z1g7bwyfhb37vw0gy3wl0j1cy35aj59rg7067q262gy1y";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    rm bin/visualvm.exe
+
+    substituteInPlace etc/visualvm.conf \
+      --replace "#visualvm_jdkhome=" "visualvm_jdkhome=" \
+      --replace "/path/to/jdk" "${jdk.home}" \
+      --replace 'visualvm_default_options="' 'visualvm_default_options="--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dawt.useSystemAAFontSettings=lcd -J-Dswing.aatext=true '
+
+    cp -r . $out
+
+    # To get the native LAF, JVM needs to see GTK’s .so-s.
+    wrapProgram $out/bin/visualvm \
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A visual interface for viewing information about Java applications";
+    longDescription = ''
+      VisualVM is a visual tool integrating several commandline JDK
+      tools and lightweight profiling capabilities. Designed for both
+      production and development time use, it further enhances the
+      capability of monitoring and performance analysis for the Java
+      SE platform.
+    '';
+    homepage = https://visualvm.java.net/;
+    license = licenses.gpl2ClasspathPlus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ michalrus ];
+  };
+}
diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix
new file mode 100644
index 00000000000..c80861b2fd7
--- /dev/null
+++ b/pkgs/development/tools/leaps/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+
+buildGoPackage rec {
+  name = "leaps-${version}";
+  version = "20160626-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "5cf7328a8c498041d2a887e89f22f138498f4621";
+
+  goPackagePath = "github.com/jeffail/leaps";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://github.com/jeffail/leaps";
+    sha256 = "1qbgz48x9yi0w9yz39zsnnhx5nx2xmrns9v8hx28jah2bvag6sq7";
+    fetchSubmodules = false;  
+  };
+
+  goDeps = ./deps.json;
+  meta = {
+    description = "A pair programming tool and library written in Golang";
+    homepage = "https://github.com/jeffail/leaps/";
+    license = "MIT";
+    maintainers = with stdenv.lib.maintainers; [ qknight ];
+    meta.platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/leaps/deps.json b/pkgs/development/tools/leaps/deps.json
new file mode 100644
index 00000000000..60141d5eeee
--- /dev/null
+++ b/pkgs/development/tools/leaps/deps.json
@@ -0,0 +1,11 @@
+[
+  {
+   "goPackagePath": "golang.org/x/net",
+    "fetch": {
+      "type": "git",
+       "url": "https://go.googlesource.com/net",
+       "rev": "07b51741c1d6423d4a6abab1c49940ec09cb1aaf",
+       "sha256": "12lvdj0k2gww4hw5f79qb9yswqpy4i3bgv1likmf3mllgdxfm20w"
+    }
+  }
+]
diff --git a/pkgs/development/tools/misc/autobuild/default.nix b/pkgs/development/tools/misc/autobuild/default.nix
index f3d88361a11..a7d6c42e6af 100644
--- a/pkgs/development/tools/misc/autobuild/default.nix
+++ b/pkgs/development/tools/misc/autobuild/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/ab{put,build}-sourceforge \
-      --prefix PATH ":" "${openssh}/bin:${rsync}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ openssh rsync ]}"
   '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/distcc/masq.nix b/pkgs/development/tools/misc/distcc/masq.nix
index 28b31cbb48d..f3bccde8160 100644
--- a/pkgs/development/tools/misc/distcc/masq.nix
+++ b/pkgs/development/tools/misc/distcc/masq.nix
@@ -3,10 +3,6 @@
 stdenv.mkDerivation {
   name = "distcc-masq-${gccRaw.name}";
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
-  };
-
   phases = [ "installPhase" ];
   installPhase = ''
     mkdir -p $out/bin
@@ -40,6 +36,9 @@ stdenv.mkDerivation {
         ln -sf $bbin/*-as $out/bin/as
       done
     fi
-    
   '';
+
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/tools/misc/drush/default.nix b/pkgs/development/tools/misc/drush/default.nix
index 72bbe50422c..e7c6b108cdd 100644
--- a/pkgs/development/tools/misc/drush/default.nix
+++ b/pkgs/development/tools/misc/drush/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out"
     cp -r . "$out/src"
     mkdir "$out/bin"
-    wrapProgram "$out/src/drush" --prefix PATH : "${which}/bin:${php}/bin:${bash}/bin:${coreutils}/bin:${ncurses.out}/bin"
+    wrapProgram "$out/src/drush" --prefix PATH : "${stdenv.lib.makeBinPath [ which php bash coreutils ncurses ]}"
     ln -s "$out/src/drush" "$out/bin/drush"
   '';
 }
diff --git a/pkgs/development/tools/misc/indent/default.nix b/pkgs/development/tools/misc/indent/default.nix
index b533f6214f3..594bef7e16a 100644
--- a/pkgs/development/tools/misc/indent/default.nix
+++ b/pkgs/development/tools/misc/indent/default.nix
@@ -7,11 +7,15 @@ stdenv.mkDerivation rec {
     url = "mirror://gnu/indent/${name}.tar.gz";
     sha256 = "0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa";
   };
-    
+
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's|#include <malloc.h>|#include <malloc/malloc.h>|' ./man/texinfo2man.c
+  '';
+
   meta = {
     homepage = https://www.gnu.org/software/indent/;
     description = "A source code reformatter";
     license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/kibana/default.nix b/pkgs/development/tools/misc/kibana/default.nix
index f3fe7e40623..3aeacd457dd 100644
--- a/pkgs/development/tools/misc/kibana/default.nix
+++ b/pkgs/development/tools/misc/kibana/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     mv * $out/libexec/kibana/
     rm -r $out/libexec/kibana/node
     makeWrapper $out/libexec/kibana/bin/kibana $out/bin/kibana \
-      --prefix PATH : "${nodejs}/bin:${coreutils}/bin:${which}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ nodejs coreutils which ]}"
     sed -i 's@NODE=.*@NODE=${nodejs}/bin/node@' $out/libexec/kibana/bin/kibana
   '';
 
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 627a51916cb..827c1d0e67f 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ popt libuuid liburcu lttng-ust libxml2 ];
 
   prePatch = ''
-    sed -e "s|/sbin/modprobe|${kmod}/sbin/modprobe|g" \
+    sed -e "s|/sbin/modprobe|${kmod}/bin/modprobe|g" \
         -i src/bin/lttng-sessiond/modprobe.c
   '';
 
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
index d38c862ecfb..fa77890655e 100644
--- a/pkgs/development/tools/misc/opengrok/default.nix
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     cp -a * $out/
     substituteInPlace $out/bin/OpenGrok --replace /bin/uname ${coreutils}/bin/uname
     wrapProgram $out/bin/OpenGrok \
-      --prefix PATH : "${ctags}/bin:${git}/bin" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ ctags git ]}" \
       --set JAVA_HOME "${jre}" \
       --set OPENGROK_TOMCAT_BASE "/var/tomcat"
   '';
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index 5a56933d3ca..b511b7d1948 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -10,12 +10,13 @@ stdenv.mkDerivation rec {
     sha256 = "1g0hivv3wla7z5dgnkcn3ny38p089pjfj36nx6k29zmprgmjinyr";
   };
 
-  buildInputs = [ python cmake llvmPackages.clang boost makeWrapper ];
+  buildInputs = [ python cmake boost makeWrapper ];
 
   propagatedBuildInputs = with pythonPackages; [ waitress frozendict bottle ];
 
   buildPhase = ''
-    python build.py --clang-completer --system-libclang --system-boost
+    export EXTRA_CMAKE_ARGS=-DPATH_TO_LLVM_ROOT=${llvmPackages.clang-unwrapped}
+    python build.py --clang-completer --system-boost
   '';
 
   configurePhase = ":";
diff --git a/pkgs/development/tools/omniorb/default.nix b/pkgs/development/tools/omniorb/default.nix
index 0fe4b191e50..09955ca5d70 100644
--- a/pkgs/development/tools/omniorb/default.nix
+++ b/pkgs/development/tools/omniorb/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "4.2.0";
 
   src = fetchurl rec {
-    url = "http://sourceforge.net/projects/omniorb/files/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
+    url = "mirror://sourceforge/project/omniorb/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
     sha256 = "1g58xcw4641wyisp9wscrkzaqrz0vf123dgy52qq2a3wk7y77hkl";
   };
 
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 2884b23049a..01fe4b73d6c 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -3,21 +3,16 @@
 
 let
   deps = import ./deps.nix { inherit fetchurl; };
-  version = "1.3.0";
+  version = "1.4.0";
   src = fetchurl {
     url = "https://github.com/garbas/pypi2nix/archive/v${version}.tar.gz";
-    sha256 = "0mk9v4s51jdrrcs78v3cm131pz3fdhjkd4cmmfn1kkcfcpqzw6j8";
-    
+    sha256 = "0w5f10p4d4ppwg2plbbrmqwmi1ycgpaidyajza11c9svka014zrb";
   };
 in stdenv.mkDerivation rec {
   name = "pypi2nix-${version}";
   srcs = with deps; [
     src
-    pip
     click
-    setuptools
-    zcbuildout
-    zcrecipeegg
     requests
   ];  # six attrs effect ];
   buildInputs = [ python zip makeWrapper ];
@@ -26,17 +21,13 @@ in stdenv.mkDerivation rec {
   postUnpack = ''
     mkdir -p $out/pkgs
 
-    mv pip-*/pip                        $out/pkgs/pip
     mv click-*/click                    $out/pkgs/click
-    mv setuptools-*/setuptools          $out/pkgs/setuptools
-    mv zc.buildout-*/src/zc             $out/pkgs/zc
-    mv zc.recipe.egg-*/src/zc/recipe    $out/pkgs/zc/recipe
     # mv six-*/six.py                    $out/pkgs/
     # mv attrs-*/src/attr                $out/pkgs/attrs
     # mv effect-*/effect                 $out/pkgs/effect
     mv requests-*/requests              $out/pkgs/
 
-    if [ -z "$IN_NIX_SHELL" ]; then
+    if [ "$IN_NIX_SHELL" != "1" ]; then
       if [ -e git-export ]; then
         mv git-export/src/pypi2nix      $out/pkgs/pypi2nix
       else
@@ -48,9 +39,9 @@ in stdenv.mkDerivation rec {
   commonPhase = ''
     mkdir -p $out/bin
 
-    echo "#!${python}/bin/python3"       >  $out/bin/pypi2nix
-    echo "import pypi2nix.cli"          >> $out/bin/pypi2nix
-    echo "pypi2nix.cli.main()"          >> $out/bin/pypi2nix
+    echo "#!${python.interpreter}" >  $out/bin/pypi2nix
+    echo "import pypi2nix.cli" >> $out/bin/pypi2nix
+    echo "pypi2nix.cli.main()" >> $out/bin/pypi2nix
 
     chmod +x $out/bin/pypi2nix
 
@@ -81,6 +72,5 @@ in stdenv.mkDerivation rec {
     homepage = https://github.com/garbas/pypi2nix;
     description = "A tool that generates nix expressions for your python packages, so you don't have to.";
     maintainers = with stdenv.lib.maintainers; [ garbas ];
-    platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/development/tools/pypi2nix/deps.nix b/pkgs/development/tools/pypi2nix/deps.nix
index 5d6f23c26c0..e67cb51c67c 100644
--- a/pkgs/development/tools/pypi2nix/deps.nix
+++ b/pkgs/development/tools/pypi2nix/deps.nix
@@ -17,6 +17,9 @@ rec {
   zcrecipeeggVersion = "2.0.3";
   zcrecipeeggHash = "69a8ce276029390a36008150444aa0b4";
 
+  buildoutrequirementsVersion = "0.2.2";
+  buildoutrequirementsHash = "0b4e53d871b167eaac0846942221af00";
+
   wheelVersion = "0.29.0";
   wheelHash = "555a67e4507cedee23a0deb9651e452f";
 
@@ -71,6 +74,11 @@ rec {
     md5 = zcrecipeeggHash;
   };
 
+  buildoutrequirements = fetchurl {
+    url = "https://github.com/garbas/buildout.requirements/archive/1e2977e2d254184399401746736d2b17c912b350.tar.gz";
+    md5 = buildoutrequirementsHash;
+  };
+
   wheel = fetchurl {
     url = "https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-${wheelVersion}.tar.gz";
     md5 = wheelHash;
diff --git a/pkgs/development/tools/remarshal/deps.json b/pkgs/development/tools/remarshal/deps.json
index 3b43c0e5ff6..1cc264181c4 100644
--- a/pkgs/development/tools/remarshal/deps.json
+++ b/pkgs/development/tools/remarshal/deps.json
@@ -1,9 +1,20 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/BurntSushi/toml",
-      "gopkg.in/yaml.v2"
-    ]
-  }
+    {
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
+    },
+    {
+        "goPackagePath": "github.com/BurntSushi/toml",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/BurntSushi/toml",
+            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
+            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
+        }
+    }
 ]
diff --git a/pkgs/development/tools/textql/deps.json b/pkgs/development/tools/textql/deps.json
index d2a75b9e45b..01c5de1cdc6 100644
--- a/pkgs/development/tools/textql/deps.json
+++ b/pkgs/development/tools/textql/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/mattn/go-sqlite3"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/mattn/go-sqlite3",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-sqlite3",
+            "rev": "b4142c444a8941d0d92b0b7103a24df9cd815e42",
+            "sha256": "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla"
+        }
+    }
 ]
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index e8438727135..242782161d7 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
-, libxml2, libxslt, coreutils, makeWrapper }:
+, libxml2, libxslt, makeWrapper }:
 
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
@@ -77,6 +77,10 @@ stdenv.mkDerivation rec {
     ln -s ${ruby}/bin/ri opt/vagrant/embedded/bin
     ln -s ${ruby}/bin/ruby opt/vagrant/embedded/bin
 
+    # ruby libs
+    rm -rf opt/vagrant/embedded/lib
+    ln -s ${ruby}/lib opt/vagrant/embedded/lib
+
     # libiconv: iconv
     rm opt/vagrant/embedded/bin/iconv
     ln -s ${libiconv}/bin/iconv opt/vagrant/embedded/bin
@@ -96,11 +100,6 @@ stdenv.mkDerivation rec {
     cp -r opt "$out"
     cp -r usr/bin "$out"
     wrapProgram "$out/bin/vagrant" --prefix LD_LIBRARY_PATH : "$out/opt/vagrant/embedded/lib"
-
-    substituteInPlace $out/opt/vagrant/embedded/lib/ruby/2.2.0/x86_64-linux/rbconfig.rb \
-      --replace '"/bin/mkdir' '"${coreutils}/bin/mkdir'
-    substituteInPlace $out/opt/vagrant/embedded/lib/ruby/2.2.0/x86_64-linux/rbconfig.rb \
-      --replace "'/usr/bin/install" "'${coreutils}/bin/install"
   '';
 
   preFixup = ''
diff --git a/pkgs/development/web/minify/deps.json b/pkgs/development/web/minify/deps.json
index 0b2fe810854..0575578b43c 100644
--- a/pkgs/development/web/minify/deps.json
+++ b/pkgs/development/web/minify/deps.json
@@ -1,15 +1,74 @@
 [
     {
-        "include": "../../libs.json",
-        "packages": [
-            "github.com/tdewolff/buffer",
-            "github.com/tdewolff/parse",
-            "github.com/tdewolff/strconv",
-            "github.com/dustin/go-humanize",
-            "github.com/fsnotify/fsnotify",
-            "github.com/matryer/try",
-            "github.com/ogier/pflag",
-            "golang.org/x/sys"
-        ]
+        "goPackagePath": "golang.org/x/sys",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/sys",
+            "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f",
+            "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"
+        }
+    },
+    {
+        "goPackagePath": "github.com/dustin/go-humanize",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/dustin/go-humanize",
+            "rev": "8929fe90cee4b2cb9deb468b51fb34eba64d1bf0",
+            "sha256": "1g155kxjh6hd3ibx41nbpj6f7h5bh54zgl9dr53xzg2xlxljgjy0"
+        }
+    },
+    {
+        "goPackagePath": "github.com/tdewolff/buffer",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/tdewolff/buffer",
+            "rev": "0edfcb7b750146ff879e95831de2ef53605a5cb5",
+            "sha256": "1mdd4k9byp22mw0a399j3w73zjb5g0vn58g76rjy7ajb0dzm80vl"
+        }
+    },
+    {
+        "goPackagePath": "github.com/tdewolff/parse",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/tdewolff/parse",
+            "rev": "34d5c1160d4503da4b456e5094609f2331d6dde3",
+            "sha256": "0hxf65fgkrc1q4p99p33xxxy1s6wxpn1vfsnqf9p846awwbqsy0v"
+        }
+    },
+    {
+        "goPackagePath": "github.com/tdewolff/strconv",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/tdewolff/strconv",
+            "rev": "3e8091f4417ebaaa3910da63a45ea394ebbfb0e3",
+            "sha256": "00w2mryfjhz3vaqzxvbwvyhi1vgpc1s4xfv1r9hxn8hwa078q5gp"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matryer/try",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matryer/try",
+            "rev": "93d30e50512f879b73829eb79867df38084bcd31",
+            "sha256": "0dmc8iar9685ks1ba3vnycjsx8qxwyqv51jb7677dvwnzbqhgw6f"
+        }
+    },
+    {
+        "goPackagePath": "github.com/fsnotify/fsnotify",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/fsnotify/fsnotify",
+            "rev": "30411dbcefb7a1da7e84f75530ad3abe4011b4f8",
+            "sha256": "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm"
+        }
+    },
+    {
+        "goPackagePath": "github.com/ogier/pflag",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/ogier/pflag",
+            "rev": "45c278ab3607870051a2ea9040bb85fcb8557481",
+            "sha256": "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l"
+        }
     }
 ]
diff --git a/pkgs/development/web/valum/default.nix b/pkgs/development/web/valum/default.nix
index 6348008ab92..21881fe6a31 100644
--- a/pkgs/development/web/valum/default.nix
+++ b/pkgs/development/web/valum/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgconfig, fetchFromGitHub, python, glib, vala, ctpl
+{ stdenv, pkgconfig, fetchFromGitHub, python, glib, vala_0_28, ctpl
 , libgee, libsoup, fcgi }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1lciwqk4k9sf1hl4drl207g0ydlxl906kx9lx5fqhfb8gwcfqh2g";
   };
 
-  buildInputs = [ python pkgconfig glib vala ctpl libgee libsoup fcgi ];
+  buildInputs = [ python pkgconfig glib vala_0_28 ctpl libgee libsoup fcgi ];
 
   configurePhase = ''python waf configure --prefix=$out'';
 
diff --git a/pkgs/games/0ad/default.nix b/pkgs/games/0ad/default.nix
index 482d2b43df3..0a2c342e8ed 100644
--- a/pkgs/games/0ad/default.nix
+++ b/pkgs/games/0ad/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     "-I${xproto}/include/X11"
     "-I${libX11.dev}/include/X11"
     "-I${libXcursor.dev}/include/X11"
-    "-I${SDL}/include/SDL"
+    "-I${SDL.dev}/include/SDL"
     "-I${SDL2}/include/SDL2"
   ];
 
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index 651278b0cf0..0ff04098057 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, mesa, zlib} :
+{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, mesa, zlib }:
 
 let
   versionMajor = "0.2.8";
@@ -13,13 +13,13 @@ stdenv.mkDerivation {
     sha256 = "1s55irhg60fpmhy8wwxpdq7c45r1mqch6zpicyb2wf9ln60xgwnx";
   };
 
-  NIX_LDFLAGS = "-lSDL_image";
+  NIX_LDFLAGS = [ "-lSDL_image" ];
 
-  configureFlags ="--disable-etc";
-  buildInputs = [SDL SDL_image libxml2 libjpeg mesa zlib];
+  configureFlags = [ "--disable-etc" ];
+  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng mesa zlib ];
 
   meta = with stdenv.lib; {
-    homepage = http://armagetronad.org;
+    homepage = "http://armagetronad.org";
     description = "An multiplayer networked arcade racing game in 3D similar to Tron";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix
index 12f8efd7325..b9f78ca364a 100644
--- a/pkgs/games/arx-libertatis/default.nix
+++ b/pkgs/games/arx-libertatis/default.nix
@@ -18,9 +18,11 @@ stdenv.mkDerivation rec {
     optipng imagemagick
   ];
 
-  preConfigure = ''
-    cmakeFlags="-DDATA_DIR_PREFIXES=$out/share"
-  '';
+  cmakeFlags = [
+    "-DDATA_DIR_PREFIXES=$out/share"
+    "-DImageMagick_convert_EXECUTABLE=${imagemagick.out}/bin/convert"
+    "-DImageMagick_mogrify_EXECUTABLE=${imagemagick.out}/bin/mogrify"
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index 134e94d1fc2..73a70f2f37e 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     sed -i Makefile -e 's,LIBTCODDIR=.*,LIBTCODDIR=${libtcod},g' \
-                    -e 's,sdl-config,${SDL}/bin/sdl-config,g'
+                    -e 's,sdl-config,${SDL.dev}/bin/sdl-config,g'
     sed -i src/platform/tcod-platform.c -e "s,fonts/font,$out/share/brogue/fonts/font,g"
     make clean
     rm -rf src/libtcod*
diff --git a/pkgs/games/commandergenius/default.nix b/pkgs/games/commandergenius/default.nix
index a6e7c183fba..ee65bcf307e 100644
--- a/pkgs/games/commandergenius/default.nix
+++ b/pkgs/games/commandergenius/default.nix
@@ -1,44 +1,28 @@
 { lib, stdenv, fetchFromGitHub, SDL2, SDL2_image, pkgconfig
-, libvorbis, libogg, mesa, boost, curl, zlib, cmake }:
+, libvorbis, mesa_noglu, boost, cmake }:
 
 
 stdenv.mkDerivation rec {
   name = "commandergenius-${version}";
-  version = "194beta";
+  version = "1822release";
 
   src = fetchFromGitHub {
     owner = "gerstrong";
     repo = "Commander-Genius";
     rev = "v${version}";
-    sha256 = "0qxqzlmadxklrhxilbqj7y94fmbv0byj6vgpl59lb77lgs4y4x47";
+    sha256 = "07vxg8p1dnnkajzs5nifxpwn4mdd1hxsw05jl25gvaimpl9p2qc8";
   };
 
-  buildInputs = [ SDL2 SDL2_image pkgconfig libvorbis libogg mesa boost curl zlib cmake ];
+  buildInputs = [ SDL2 SDL2_image mesa_noglu boost libvorbis ];
 
-  patchPhase = ''
-    cat >> lib/GsKit/CMakeLists.txt <<EOF
-    execute_process(COMMAND sdl2-config --cflags
-      OUTPUT_VARIABLE CFLAGS)
-    string(REGEX REPLACE "^-I" "" CFLAGS2 \''${CFLAGS})
-    string(REGEX REPLACE " .*" "" SDLINC \''${CFLAGS2})
-    INCLUDE_DIRECTORIES(\''${SDLINC})
-    EOF
-  '';
-
-  configurePhase = ''
-    cmake -DUSE_SDL2=yes -DBUILD_TARGET=LINUX -DCMAKE_INSTALL_PREFIX:PATH=$out -DCPACK_PACKAGE_INSTALL_DIRECTORY=$out
-    sed -i 's_/usr/share_$out_g' cmake_install.cmake
-    sed -i 's_/usr/share_$out_g' src/cmake_install.cmake
-  '';
-
-  installTargets = [ ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp src/CGeniusExe $out/bin
+  postPatch = ''
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(sdl2-config --cflags)"
+    sed -i 's,APPDIR games,APPDIR bin,' src/install.cmake
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Modern Interpreter for the Commander Keen Games";
     longdescription = ''
       Commander Genius is an open-source clone of
@@ -48,8 +32,8 @@ stdenv.mkDerivation rec {
       are required to do so
     '';
     homepage = "https://github.com/gerstrong/Commander-Genius";
-    maintainers = with stdenv.lib.maintainers; [ hce ]; 
-    license = stdenv.lib.licenses.gpl2;
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with maintainers; [ hce ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
index 0e2d335adac..bae82bebfb7 100644
--- a/pkgs/games/crawl/crawl_purify.patch
+++ b/pkgs/games/crawl/crawl_purify.patch
@@ -7,7 +7,7 @@ index b7e2fbf..5ff23db 100644
  
  ifndef CROSSHOST
 -	SQLITE_INCLUDE_DIR := /usr/include
-+	SQLITE_INCLUDE_DIR := ${sqlite}/include
++	SQLITE_INCLUDE_DIR := ${sqlite.dev}/include
  else
  	# This is totally wrong, works only with some old-style setups, and
  	# on some architectures of Debian/new FHS multiarch -- excluding, for
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 32f9afaacf2..edaa3ef1fcc 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -3,15 +3,15 @@
 , tileMode ? false
 }:
 
-let version = "0.18.0";
-in
 stdenv.mkDerivation rec {
   name = "crawl-${version}" + (if tileMode then "-tiles" else "");
+  version = "0.18.1";
+
   src = fetchFromGitHub {
     owner = "crawl-ref";
     repo = "crawl-ref";
     rev = version;
-    sha256 = "0mgg9lzy7lp5bhp8340a6c6qyz7yiz80wb39gknls8hvv0f6i0si";
+    sha256 = "1cg5mxhx0lfhadls6n8avcpkjx08nqf1y085li97zqxl3gjaj64j";
   };
 
   patches = [ ./crawl_purify.patch ];
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index 4eab8290933..64109279060 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -5,7 +5,7 @@ let
   callPackage_i686 = pkgsi686Linux.newScope self;
 
   self = rec {
-    dwarf-fortress-original = callPackage_i686 ./game.nix { };
+    dwarf-fortress-original = callPackage ./game.nix { };
 
     dfhack = callPackage_i686 ./dfhack {
       inherit (pkgsi686Linux.perlPackages) XMLLibXML XMLLibXSLT;
@@ -14,7 +14,7 @@ let
       };
     };
 
-    dwarf-fortress-unfuck = callPackage_i686 ./unfuck.nix { };
+    dwarf-fortress-unfuck = callPackage ./unfuck.nix { };
 
     dwarf-fortress = callPackage ./wrapper {
       themes = {
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 1ee0f829571..17697192007 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -5,8 +5,9 @@
 }:
 
 let
-  dfVersion = "0.42.06";
+  dfVersion = "0.43.03";
   version = "${dfVersion}-r1";
+
   rev = "refs/tags/${version}";
   # revision of library/xml submodule
   xmlRev = "98cc1e01886aaea161d651cf97229ad08e9782b0";
@@ -14,7 +15,7 @@ let
   fakegit = writeScriptBin "git" ''
     #! ${stdenv.shell}
     if [ "$*" = "describe --tags --long" ]; then
-      echo "${dfVersion}-unknown"
+      echo "${version}-unknown"
     elif [ "$*" = "rev-parse HEAD" ]; then
       if [ "$(dirname "$(pwd)")" = "xml" ]; then
         echo "${xmlRev}"
@@ -35,19 +36,20 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "https://github.com/DFHack/dfhack";
     inherit rev;
-    sha256 = "1p234m8r84cdr4bx622hcd13mshnjc5bw7hdxhv18waaxvdpv6jh";
+    sha256 = "0m5kqpaz0ypji4c32w0hhbsicvgvnjh56pqvq7af6pqqnyg1nzcx";
   };
 
   patches = [ ./use-system-libraries.patch ];
-  postPatch = "sed '1i#include <math.h>' -i plugins/3dveins.cpp";
 
   nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
   # we can't use native Lua; upstream uses private headers
   buildInputs = [ zlib jsoncpp protobuf tinyxml ];
 
+  cmakeFlags = [ "-DEXTERNAL_TINYXML=ON" ];
+
   enableParallelBuilding = true;
 
-  passthru = { inherit dfVersion; };
+  passthru = { inherit version dfVersion; };
 
   meta = with stdenv.lib; {
     description = "Memory hacking library for Dwarf Fortress and a set of tools that use it";
diff --git a/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch b/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch
index b6ff92398a5..e33fec9f87e 100644
--- a/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch
+++ b/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch
@@ -1,5 +1,5 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 46fd565..254c3c0 100644
+index 956edfc..fb0e6bc 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -160,8 +160,6 @@ ELSEIF(MSVC)
@@ -11,7 +11,7 @@ index 46fd565..254c3c0 100644
  ADD_DEFINITIONS(-DLUA_BUILD_AS_DLL)
  
  if(APPLE)
-@@ -182,11 +180,8 @@ else()
+@@ -182,10 +180,8 @@ else()
      set(ZLIB_ROOT /usr/lib/i386-linux-gnu)
  endif()
  find_package(ZLIB REQUIRED)
@@ -19,27 +19,31 @@ index 46fd565..254c3c0 100644
  include_directories(depends/lua/include)
  include_directories(depends/md5)
 -include_directories(depends/jsoncpp)
--include_directories(depends/tinyxml)
- include_directories(depends/tthread)
- include_directories(${ZLIB_INCLUDE_DIRS})
- include_directories(depends/clsocket/src)
+ 
+ # Support linking against external tinyxml
+ # If we find an external tinyxml, set the DFHACK_TINYXML variable to "tinyxml"
 diff --git a/depends/CMakeLists.txt b/depends/CMakeLists.txt
-index bf0345b..2a1a852 100644
+index d8442b1..b47dc2a 100644
 --- a/depends/CMakeLists.txt
 +++ b/depends/CMakeLists.txt
-@@ -1,10 +1,7 @@
+@@ -1,7 +1,6 @@
  #list depends here.
  add_subdirectory(lua)
  add_subdirectory(md5)
 -add_subdirectory(protobuf)
--add_subdirectory(tinyxml)
+ 
+ # Don't build tinyxml if it's being externally linked against.
+ if(NOT TinyXML_FOUND)
+@@ -9,7 +8,6 @@ if(NOT TinyXML_FOUND)
+ endif()
+ 
  add_subdirectory(tthread)
 -add_subdirectory(jsoncpp)
  # build clsocket static and only as a dependency. Setting those options here overrides its own default settings.
  OPTION(CLSOCKET_SHARED "Build clsocket lib as shared." OFF)
  OPTION(CLSOCKET_DEP_ONLY "Build for use inside other CMake projects as dependency." ON)
 diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
-index 54300ec..128bfd1 100644
+index d3e3480..5d4b572 100644
 --- a/library/CMakeLists.txt
 +++ b/library/CMakeLists.txt
 @@ -223,10 +223,10 @@ LIST(APPEND PROJECT_SOURCES ${PROJECT_PROTO_SRCS})
@@ -55,24 +59,8 @@ index 54300ec..128bfd1 100644
  )
  
  # Merge headers into sources
-@@ -269,12 +269,12 @@ IF(UNIX)
- ENDIF()
- 
- IF(APPLE)
--  SET(PROJECT_LIBS dl dfhack-md5 dfhack-tinyxml dfhack-tinythread)
-+  SET(PROJECT_LIBS dl dfhack-md5 tinyxml dfhack-tinythread)
- ELSEIF(UNIX)
--  SET(PROJECT_LIBS rt dl dfhack-md5 dfhack-tinyxml dfhack-tinythread)
-+  SET(PROJECT_LIBS rt dl dfhack-md5 tinyxml dfhack-tinythread)
- ELSE(WIN32)
-   #FIXME: do we really need psapi?
--  SET(PROJECT_LIBS psapi dfhack-md5 dfhack-tinyxml dfhack-tinythread)
-+  SET(PROJECT_LIBS psapi dfhack-md5 tinyxml dfhack-tinythread)
- ENDIF()
- 
- ADD_LIBRARY(dfhack-version STATIC DFHackVersion.cpp)
 diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
-index dd1c634..7bd8c17 100644
+index c24b940..afeb888 100644
 --- a/plugins/CMakeLists.txt
 +++ b/plugins/CMakeLists.txt
 @@ -47,11 +47,11 @@ STRING(REPLACE ".proto" ".pb.h" PROJECT_PROTO_HDRS "${PROJECT_PROTOS}")
diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix
index 0665075356c..740125bf442 100644
--- a/pkgs/games/dwarf-fortress/game.nix
+++ b/pkgs/games/dwarf-fortress/game.nix
@@ -3,10 +3,18 @@
 }:
 
 let
-  baseVersion = "42";
-  patchVersion = "06";
+  baseVersion = "43";
+  patchVersion = "05";
   dfVersion = "0.${baseVersion}.${patchVersion}";
   libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ];
+  platform =
+    if stdenv.system == "x86_64-linux" then "linux"
+    else if stdenv.system == "i686-linux" then "linux32"
+    else throw "Unsupported platform";
+  sha256 =
+    if stdenv.system == "x86_64-linux" then "1r0b96yrdf24m9476k5x7rmp3faxr0kfwwdf35agpvlb1qbi6v45"
+    else if stdenv.system == "i686-linux" then "16l1lydpkbnl3zhz4i2snmjk7pps8vmw3zv0bjgr8dncbsrycd03"
+    else throw "Unsupported platform";
 
 in
 
@@ -16,8 +24,8 @@ stdenv.mkDerivation {
   name = "dwarf-fortress-original-${dfVersion}";
 
   src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_linux.tar.bz2";
-    sha256 = "17y9zq9xn1g0a501w4vkinb0n2yjiczsi2g7r6zggr41pxrqxpq3";
+    url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_${platform}.tar.bz2";
+    inherit sha256;
   };
 
   installPhase = ''
@@ -39,11 +47,11 @@ stdenv.mkDerivation {
 
   passthru = { inherit baseVersion patchVersion dfVersion; };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A single-player fantasy game with a randomly generated adventure world";
     homepage = http://www.bay12games.com/dwarves;
-    license = lib.licenses.unfreeRedistributable;
-    platforms = [ "i686-linux" ];
-    maintainers = with lib.maintainers; [ a1russell robbinch roconnor the-kenny abbradar ];
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar ];
   };
 }
diff --git a/pkgs/games/dwarf-fortress/themes/cla.nix b/pkgs/games/dwarf-fortress/themes/cla.nix
index b1a27c7e47b..3933d62b1d3 100644
--- a/pkgs/games/dwarf-fortress/themes/cla.nix
+++ b/pkgs/games/dwarf-fortress/themes/cla.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "cla-theme-${version}";
-  version = "42.06-v22";
+  version = "43.04-v23";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "CLA";
     rev = version;
-    sha256 = "1rr52j1wns17axc27fab0wn0338axzwkqp7cpa690kb3bl1y0pf5";
+    sha256 = "0a88jkcli9iq0prg5w0xh1cyms0b7dnc9rdahn7wy7fyakyp7s27";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.42.06";
+  passthru.dfVersion = "0.43.05";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/themes/phoebus.nix b/pkgs/games/dwarf-fortress/themes/phoebus.nix
index 0022f9dc1c7..01ae192e75e 100644
--- a/pkgs/games/dwarf-fortress/themes/phoebus.nix
+++ b/pkgs/games/dwarf-fortress/themes/phoebus.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "phoebus-theme-${version}";
-  version = "42.06a";
+  version = "43.03";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "Phoebus";
     rev = version;
-    sha256 = "1mkj882mf1lvjs2b7jxfazym9fl1y20slbfi1lgqzbp1872aaxi0";
+    sha256 = "1mga5w3mks3bm6qch7azffr51g3q26za7hnas4qmxfs3m56bjav7";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.42.06";
+  passthru.dfVersion = "0.43.05";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix
index 5b2327c2ff5..89000115f4a 100644
--- a/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/pkgs/games/dwarf-fortress/unfuck.nix
@@ -1,20 +1,18 @@
 { stdenv, fetchFromGitHub, cmake
-, mesa_noglu, SDL, SDL_image, SDL_ttf, glew, openalSoft
+, mesa_noglu, libSM, SDL, SDL_image, SDL_ttf, glew, openalSoft
 , ncurses, glib, gtk2, libsndfile, zlib
 }:
 
 stdenv.mkDerivation {
-  name = "dwarf_fortress_unfuck-2016-04-22";
+  name = "dwarf_fortress_unfuck-2016-07-13";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "dwarf_fortress_unfuck";
-    rev = "dde40a2c619eac119b6db1bcd0c8d8612472f866";
-    sha256 = "12bqh3k4wsk1c0bz2zly8h0ilbsdmsbwr9cdjc6i7liwg9906g7i";
+    rev = "d6a4ee67e7b41bec1caa87548640643db35a6080";
+    sha256 = "17p7jzmwd5z54wn6bxmic0i8y8mma3q359zcy3r9x2mp2wv1yd7p";
   };
 
-  postPatch = "sed '1i#include <math.h>' -i g_src/ttf_manager.cpp";
-
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
     "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
@@ -22,7 +20,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [
-    SDL SDL_image SDL_ttf glew openalSoft
+    libSM SDL SDL_image SDL_ttf glew openalSoft
     ncurses gtk2 libsndfile zlib mesa_noglu
   ];
 
@@ -32,13 +30,13 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  passthru.dfVersion = "0.42.06";
+  passthru.dfVersion = "0.43.05";
 
   meta = with stdenv.lib; {
     description = "Unfucked multimedia layer for Dwarf Fortress";
     homepage = https://github.com/svenstaro/dwarf_fortress_unfuck;
     license = licenses.free;
-    platforms = [ "i686-linux" ];
+    platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/games/factorio/fetch.nix b/pkgs/games/factorio/fetch.nix
index 78c7faf018c..04b31ac10d3 100644
--- a/pkgs/games/factorio/fetch.nix
+++ b/pkgs/games/factorio/fetch.nix
@@ -1,4 +1,4 @@
-{ stdenv, curl, cacert
+{ stdenv, curl, xidel, cacert
 # Begin download parameters
 , username ? ""
 , password ? ""
@@ -18,7 +18,7 @@
 stdenv.mkDerivation {
   name = "factorio.tar.gz";
 
-  buildInputs = [ curl ];
+  buildInputs = [ curl xidel ];
 
   inherit url loginUrl username password cacert;
 
diff --git a/pkgs/games/factorio/fetch.sh b/pkgs/games/factorio/fetch.sh
index d6549c0a676..30d9c9fdefe 100644
--- a/pkgs/games/factorio/fetch.sh
+++ b/pkgs/games/factorio/fetch.sh
@@ -9,23 +9,34 @@ curl="curl \
  --max-redirs 20 \
  --retry 3 \
  --cacert $cacert/etc/ssl/certs/ca-bundle.crt \
+ -b cookies \
+ -c cookies \
  $curlOpts \
  $NIX_CURL_FLAGS"
 
 # We don't want the password to be on any program's argv, as it may be
 # visible in /proc. Writing it to file with echo should be safe, since
 # it's a shell builtin.
-echo "password=$password" > password
+echo -n "$password" > password
 # Might as well hide the username as well.
-echo "username-or-email=$username" > username
+echo -n "$username" > username
+
+# Get a CSRF token.
+csrf=$($curl $loginUrl | xidel - -e '//input[@id="csrf_token"]/@value')
 
 # Log in. We don't especially care about the result, but let's check if login failed.
-$curl -c cookies -d @username -d @password $loginUrl -D headers > /dev/null
+$curl --data-urlencode csrf_token="$csrf" \
+      --data-urlencode username_or_email@username \
+      --data-urlencode password@password \
+      -d action=Login \
+      $loginUrl -D headers > /dev/null
 
-if grep -q 'Location: /' headers; then
+if grep -q 'Location: https://' headers; then
     # Now download. We need --insecure for this, but the sha256 should cover us.
-    $curl -b cookies --insecure --location $url > $out
+    $curl --insecure --location $url > $out
+    set +x
 else
+    set +x
     echo 'Login failed'
     echo 'Please set username and password with config.nix,'
     echo 'or /etc/nix/nixpkgs-config.nix if on NixOS.'
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index 2486d1da470..b9316e2ca70 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/hwengine --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH:${mesa}/lib/:${freeglut}/lib:${physfs}/lib
+    wrapProgram $out/bin/hwengine --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH:${stdenv.lib.makeLibraryPath [ mesa freeglut physfs ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix
index d4f90a906d8..0d419c08b00 100644
--- a/pkgs/games/mnemosyne/default.nix
+++ b/pkgs/games/mnemosyne/default.nix
@@ -1,12 +1,10 @@
 { stdenv
 , fetchurl
-, buildPythonApplication
-, pyqt4
 , pythonPackages
 }:
 let
   version = "2.3.2";
-in buildPythonApplication rec {
+in pythonPackages.buildPythonApplication rec {
   name = "mnemosyne-${version}";
   src = fetchurl {
     url    = "http://sourceforge.net/projects/mnemosyne-proj/files/mnemosyne/${name}/Mnemosyne-${version}.tar.gz";
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 6d123fa8bf7..18e13b8be94 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal
-, giflib, pkgconfig }:
+, giflib, libXt, pkgconfig }:
 
 let
   openscenegraph_ = openscenegraph.override {
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph__ SDL2 unshield openal pkgconfig ];
+  buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph__ SDL2 unshield openal pkgconfig libXt ];
 
   meta = with stdenv.lib; {
     description = "An unofficial open source engine reimplementation of the game Morrowind";
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 7a7571a9fa5..c40337d54f5 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, fetchzip, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig
 , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true
+, withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps
+, writeScriptBin, makeWrapper
 }:
 
 let
@@ -18,6 +20,12 @@ let
     sha256 = "0qnmfzz0v8vxrrvxnm7szphrlrlvhkwn3y92b4iy0b4b6yam0yd4";
   };
 
+  playmidi = writeScriptBin "playmidi" ''
+    #!/bin/sh
+    trap "${procps}/bin/pkill fluidsynth" EXIT
+    ${fluidsynth}/bin/fluidsynth -a ${audioDriver} -i ${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 $*
+  '';
+
 in
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
@@ -28,8 +36,9 @@ stdenv.mkDerivation rec {
     sha256 = "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libpng xz zlib freetype fontconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [ SDL libpng xz zlib freetype fontconfig ]
+    ++ stdenv.lib.optional withFluidSynth [ fluidsynth soundfont-fluid ];
 
   prefixKey = "--prefix-dir=";
 
@@ -52,8 +61,16 @@ stdenv.mkDerivation rec {
       cp ${opensfx}/*.{obs,cat} $out/share/games/openttd/data
     ''}
 
+    mkdir $out/share/games/openttd/baseset/openmsx
+
     ${stdenv.lib.optionalString withOpenMSX ''
-      cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/data
+      cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/baseset/openmsx
+    ''}
+
+    ${stdenv.lib.optionalString withFluidSynth ''
+      wrapProgram $out/bin/openttd \
+        --add-flags -m \
+        --add-flags extmidi:cmd=${playmidi}/bin/playmidi
     ''}
   '';
 
diff --git a/pkgs/games/performous/default.nix b/pkgs/games/performous/default.nix
index faeb11c3781..c73c346512f 100644
--- a/pkgs/games/performous/default.nix
+++ b/pkgs/games/performous/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, gettext
 , glibmm, libxmlxx, pango, librsvg
-, SDL2, glew, boost, libav, portaudio
+, SDL2, glew, boost, libav, portaudio, epoxy
 }:
 
-stdenv.mkDerivation {
-  name = "performous-1.0";
+stdenv.mkDerivation rec {
+  name = "performous-${version}";
+  version = "1.1";
 
   meta = with stdenv.lib; {
     description = "Karaoke, band and dancing game";
@@ -16,14 +17,14 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "performous";
     repo = "performous";
-    rev = "1.0";
-    sha256 = "1wgydwnhadrjkj3mjzrhppfmphrxnqfljs361206imirmvs7s15l";
+    rev = version;
+    sha256 = "08j0qhr65l7qnd5vxl4l07523qpvdwi31h4vzl3lfiinx1zcgr4x";
   };
 
   nativeBuildInputs = [ cmake pkgconfig gettext ];
 
   buildInputs = [
     glibmm libxmlxx pango librsvg
-    SDL2 glew boost libav portaudio
+    SDL2 glew boost libav portaudio epoxy
   ];
 }
diff --git a/pkgs/games/pokerth/default.nix b/pkgs/games/pokerth/default.nix
new file mode 100644
index 00000000000..9daf98dcfb4
--- /dev/null
+++ b/pkgs/games/pokerth/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, lib, fetchFromGitHub, qmake4Hook, qt4, protobuf, boost155, tinyxml2, libgcrypt, sqlite, gsasl, curl, SDL, SDL_mixer, libircclient }:
+
+let boost = boost155;
+in stdenv.mkDerivation rec {
+  name            = "${pname}-${version}";
+  pname           = "pokerth";
+  version         = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner  = pname;
+    repo   = pname;
+    rev    = "7f3c8a860848c16c8c2f78e3929a65a54ef4c04c";
+    sha256 = "1md3sl7pdpn3n42k75pxqbkkl19cz4699g1vdi04qpp0jxx09a2k";
+  };
+
+  buildInputs = [ qmake4Hook qt4 protobuf boost tinyxml2 libgcrypt sqlite gsasl curl SDL SDL_mixer libircclient ];
+
+  outputs = [ "out" "server" ];
+
+  qmakeFlags = [ "pokerth.pro" ];
+
+  postPatch = ''
+    for f in connectivity.pro load.pro pokerth_game.pro pokerth_server.pro
+    do
+      substituteInPlace $f \
+        --replace 'LIB_DIRS =' 'LIB_DIRS = ${boost.out}/lib'
+    done
+  '';
+
+  postInstall = ''
+    install -D -m755 bin/pokerth_server $server/bin/pokerth_server
+  '';
+
+  meta = with stdenv.lib; {
+    homepage    = http://www.pokerth.net/;
+    description = "Open Source Poker client and server";
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ obadz ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/games/quake3/ioquake/default.nix b/pkgs/games/quake3/ioquake/default.nix
index 2fff7e7a026..f03b8dde13e 100644
--- a/pkgs/games/quake3/ioquake/default.nix
+++ b/pkgs/games/quake3/ioquake/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "ioquake3-git-${version}";
-  version = "2016-04-05";
+  version = "2016-08-11";
 
   src = fetchFromGitHub {
     owner = "ioquake";
     repo = "ioq3";
-    rev = "1f6703821f11be9c711c6ee42371ab290dd12776";
-    sha256 = "0jbn4lv85khfcmn1dc3mrx7zxldj3p4cggx85hdfpiwmnsjl4w67";
+    rev = "1cf0b21cda562bade9152958f1525e5ac281ab9c";
+    sha256 = "104yrgi9dnfb493pm9wvk2kn80nazcr1nllb5vd7di66jnvcjks0";
   };
 
   nativeBuildInputs = [ which pkgconfig ];
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 3b7c307330d..5b14e287f2c 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/bin/spring" \
-      --prefix LD_LIBRARY_PATH : "${stdenv.cc.cc.lib}/lib::${systemd}/lib"
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc systemd ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/steam/runtime-generated.nix b/pkgs/games/steam/runtime-generated.nix
index 854796cac3e..260b7a9b8d8 100644
--- a/pkgs/games/steam/runtime-generated.nix
+++ b/pkgs/games/steam/runtime-generated.nix
@@ -1255,6 +1255,15 @@
       };
     }
     rec {
+      name = "libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_amd64";
+      md5 = "4d9ac7966de8160a13817291206b51a4";
+      url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_amd64.deb";
+      source = fetchurl {
+        inherit url md5;
+        name = "libvulkan1.deb";
+      };
+    }
+    rec {
       name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_amd64";
       md5 = "a1e5b4a8f8200feef82dab976f1b4e5d";
       url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_amd64.deb";
@@ -2994,6 +3003,15 @@
       };
     }
     rec {
+      name = "libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_i386";
+      md5 = "de2c787fcc443fb989b1862367a2e0c7";
+      url = "mirror://steamrt/pool/main/v/vulkan-loader/libvulkan1_1.0.3~git20160215-0.1+steamos5+srt1_i386.deb";
+      source = fetchurl {
+        inherit url md5;
+        name = "libvulkan1.deb";
+      };
+    }
+    rec {
       name = "libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_i386";
       md5 = "6265aab9d541aea8aad3496ebcc5908e";
       url = "mirror://steamrt/pool/main/h/heimdal/libwind0-heimdal_1.6~git20120311.dfsg.1-2+srt4_i386.deb";
diff --git a/pkgs/games/steam/runtime.nix b/pkgs/games/steam/runtime.nix
index 9236243427a..fa1da479196 100644
--- a/pkgs/games/steam/runtime.nix
+++ b/pkgs/games/steam/runtime.nix
@@ -9,7 +9,7 @@ let arch = if stdenv.system == "x86_64-linux" then "amd64"
     inputFile = writeText "steam-runtime.json" (builtins.toJSON input);
 
 in stdenv.mkDerivation {
-  name = "steam-runtime-2016-03-03";
+  name = "steam-runtime-2016-08-13";
 
   nativeBuildInputs = [ python2 dpkg binutils ];
 
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 25038f0f740..a1778cc69d7 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,6 +1,6 @@
 { fetchgit, fetchsvn, cmake, stdenv, plib, SDL, openal, freealut, mesa
 , libvorbis, libogg, gettext, libXxf86vm, curl, pkgconfig
-, fribidi, autoconf, automake, libtool, bluez, libjpeg }:
+, fribidi, autoconf, automake, libtool, bluez, libjpeg, libpng }:
 
 stdenv.mkDerivation rec {
   name = "supertuxkart-${version}";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   
   buildInputs = [
     plib SDL openal freealut mesa libvorbis libogg gettext
-    libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake bluez libjpeg
+    libXxf86vm curl pkgconfig fribidi autoconf automake libtool cmake bluez libjpeg libpng
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/the-powder-toy/default.nix b/pkgs/games/the-powder-toy/default.nix
index 14f05f8f1a8..e07117172ce 100644
--- a/pkgs/games/the-powder-toy/default.nix
+++ b/pkgs/games/the-powder-toy/default.nix
@@ -1,21 +1,25 @@
-{ stdenv, fetchFromGitHub, scons, pkgconfig, SDL, lua, fftwFloat }:
+{ stdenv, fetchFromGitHub, scons, pkgconfig, SDL, lua, fftwFloat, zlib, bzip2 }:
 
-let version = "91.3.328";
-in
 stdenv.mkDerivation rec {
   name = "the-powder-toy-${version}";
+  version = "91.5.330";
+
   src = fetchFromGitHub {
     owner = "simtr";
     repo = "The-Powder-Toy";
     rev = "v${version}";
-    sha256 = "0krg4d2m8cnfabm5qq7wr1y53h21i49xjcggzg98xjd0972zvfrk";
+    sha256 = "19m7jyg3pnppymvr6lz454mjiw18hvldpdhi33596m9ji3nrq8x7";
   };
 
   patches = [ ./fix-env.patch ];
 
+  postPatch = ''
+    sed -i 's,lua5.1,lua,g' SConscript
+  '';
+
   nativeBuildInputs = [ scons pkgconfig ];
 
-  buildInputs = [ SDL lua fftwFloat ];
+  buildInputs = [ SDL lua fftwFloat zlib bzip2 ];
 
   buildPhase = "scons DESTDIR=$out/bin --tool='' -j$NIX_BUILD_CORES";
 
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index 26b1f9c9da2..4ce5aa5cf10 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
     cp -r * $out/res
 
     patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \
-             --set-rpath ${stdenv.cc.cc.lib}/lib:${libX11}/lib:${mesa}/lib \
+             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 mesa ]} \
              "$out/res/Tibia"
 
     # We've patchelf'd the files. The main ‘Tibia’ binary is a bit
diff --git a/pkgs/games/wesnoth/dev.nix b/pkgs/games/wesnoth/dev.nix
index 84b135a5df8..a7e621460b6 100644
--- a/pkgs/games/wesnoth/dev.nix
+++ b/pkgs/games/wesnoth/dev.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wesnoth";
-  version = "1.13.4";
+  version = "1.13.5";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
-    sha256 = "1ys25ijwphld11002cad9iz5mc5rqazmjn8866l8gcdfrrhk943s";
+    sha256 = "15hvf06r7086plwmagh89plcxal2zql8k4mg0yf1zgwjvdz284dx";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix
index e93d9cab352..c370f489d2c 100644
--- a/pkgs/games/xpilot/bloodspilot-client.nix
+++ b/pkgs/games/xpilot/bloodspilot-client.nix
@@ -1,20 +1,21 @@
-{stdenv, fetchurl, libX11, SDL, mesa, expat, SDL_ttf, SDL_image}:
-let
-  buildInputs = [
-    libX11 SDL SDL_ttf SDL_image mesa expat
-  ];
-in
+{ stdenv, fetchurl, libX11, SDL, mesa, expat, zlib, SDL_ttf, SDL_image }:
+
 stdenv.mkDerivation rec {
   version = "1.5.0";
   name = "bloodspilot-client-${version}";
-  inherit buildInputs;
+
   src = fetchurl {
     url = "mirror://sourceforge/project/bloodspilot/client-sdl/v${version}/bloodspilot-client-sdl-${version}.tar.gz";
     sha256 = "1qwl95av5an2zl01m7saj6fyy49xpixga7gbn4lwbpgpqs1rbwxj";
   };
-  NIX_LDFLAGS=["-lX11"];
+
+  buildInputs = [
+    libX11 SDL SDL_ttf SDL_image mesa expat zlib
+  ];
+
+  NIX_LDFLAGS = [ "-lX11" ];
+
   meta = {
-    inherit version;
     description = ''A multiplayer space combat game (client part)'';
     homepage = "http://bloodspilot.sf.net/";
     license = stdenv.lib.licenses.gpl2Plus ;
diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix
index fdbfd0f1675..5cfec74d963 100644
--- a/pkgs/games/xpilot/default.nix
+++ b/pkgs/games/xpilot/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, libX11, SDL, mesa, expat, SDL_ttf, SDL_image}:
+{stdenv, fetchurl, libX11, libSM, SDL, mesa, expat, SDL_ttf, SDL_image, zlib}:
 let
   buildInputs = [
-    libX11 SDL SDL_ttf SDL_image mesa expat
+    libX11 libSM SDL SDL_ttf SDL_image mesa expat zlib
   ];
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index 88c3d335f87..6c717037777 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -5,17 +5,17 @@
 
 ### IMPORTANT: before updating cups, make sure the nixos/tests/printing.nix test
 ### works at least for your platform.
-let version = "2.1.3"; in
 
 with stdenv.lib;
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "cups-${version}";
+  version = "2.1.4";
 
   passthru = { inherit version; };
 
   src = fetchurl {
-    url = "https://www.cups.org/software/${version}/cups-${version}-source.tar.bz2";
-    sha256 = "1lyl3z01xhg9xb9c8m42398c6h9kw8qr6jwiv8bjdsjab11hv9rn";
+    url = "https://github.com/apple/cups/releases/download/release-${version}/cups-${version}-source.tar.gz";
+    sha256 = "13bjxw256wd1nff22vj2z25mdhllj2h6d9xypsg55b40661zs52b";
   };
 
   # FIXME: the cups libraries contains some $out/share strings so can't be split.
diff --git a/pkgs/misc/cups/drivers/samsung/default.nix b/pkgs/misc/cups/drivers/samsung/default.nix
index 34b5f58aed5..5f870bf9217 100644
--- a/pkgs/misc/cups/drivers/samsung/default.nix
+++ b/pkgs/misc/cups/drivers/samsung/default.nix
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
 
     my_patchelf \
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-      --set-rpath ${cups}/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib:${stdenv.glibc}/lib \
+      --set-rpath ${cups.out}/lib:$(cat $NIX_CC/nix-support/orig-cc)/lib:${stdenv.glibc}/lib \
       - ${arch}/{pstosecps,rastertospl,smfpnetdiscovery}
 
     mkdir -p $out/etc/sane.d/dll.d/
@@ -52,7 +52,7 @@ in stdenv.mkDerivation rec {
 
     mkdir -p $out/lib/sane
     my_patchelf \
-      --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/lib:${stdenv.glibc}/lib:${libusb}/lib:${libxml2}/lib \
+      --set-rpath $(cat $NIX_CC/nix-support/orig-cc)/lib:${stdenv.lib.makeLibraryPath [ stdenv.glibc libusb libxml2 ] } \
       - ${arch}/libsane-smfp.so*
     install -m755 ${arch}/libsane-smfp.so* $out/lib/sane
     ln -s libsane-smfp.so.1.0.1 $out/lib/sane/libsane-smfp.so.1
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index 7394daefb7c..e4c70e2fe98 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -8,11 +8,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
-  version = "1.5.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
-    sha256 = "0cjrh4wpdhkvmahfkg8f2a2qzilcq12i78q5arwr7dnmx1j8hapj";
+    sha256 = "0x0jxn1hnif92m7dyqrqh015gpsf79dviarb7dfl0zya2drlk1m8";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
       # Ensure that bannertopdf can find the PDF templates in
       # $out. (By default, it assumes that cups and cups-filters are
       # installed in the same prefix.)
-      substituteInPlace config.h --replace ${cups}/share/cups/data $out/share/cups/data
+      substituteInPlace config.h --replace ${cups.out}/share/cups/data $out/share/cups/data
 
       # Ensure that gstoraster can find gs in $PATH.
       substituteInPlace filter/gstoraster.c --replace execve execvpe
diff --git a/pkgs/misc/drivers/hplip/3.15.9.nix b/pkgs/misc/drivers/hplip/3.15.9.nix
index 5c989594b3b..298cba88a9f 100644
--- a/pkgs/misc/drivers/hplip/3.15.9.nix
+++ b/pkgs/misc/drivers/hplip/3.15.9.nix
@@ -3,7 +3,7 @@
 , cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
 , net_snmp, polkit
 , bash, coreutils, utillinux
-, qtSupport ? true, qt4, pyqt4
+, qtSupport ? true, qt4
 , withPlugin ? false
 }:
 
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 32997f98b21..74204cd4e54 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -3,7 +3,7 @@
 , cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
 , net_snmp, openssl, polkit
 , bash, coreutils, utillinux
-, qtSupport ? true, qt4, pyqt4
+, qtSupport ? true, qt4
 , withPlugin ? false
 }:
 
diff --git a/pkgs/misc/drivers/m3d-linux/default.nix b/pkgs/misc/drivers/m33-linux/default.nix
index 0e970e30d58..492488f675f 100644
--- a/pkgs/misc/drivers/m3d-linux/default.nix
+++ b/pkgs/misc/drivers/m33-linux/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation {
-  name = "M3D-Linux-2016-01-20";
+  name = "M33-Linux-2016-06-23";
 
   src = fetchFromGitHub {
     owner = "donovan6000";
     repo = "M3D-Linux";
-    rev = "d0bbb0379c52a88af55740a937edc92af162cdf6";
-    sha256 = "0fwzb9mf04bw5wxabh3js7nir60kfq8iz7kcigw6c233aadwg03i";
+    rev = "5c1b90c13d260771dac970b49fdc9f840fee5f4a";
+    sha256 = "1bvbclkyfcv23vxb4s1zssvygklks1nhp4iwi4v90c1fvyz0356f";
   };
 
   installPhase = ''
-    install -Dm755 m3d-linux $out/bin/m3d-linux
-    install -Dm755 90-m3d-local.rules $out/lib/udev/rules.d/90-m3d-local.rules
+    install -Dm755 m33-linux $out/bin/m33-linux
+    install -Dm755 90-micro-3d-local.rules $out/lib/udev/rules.d/90-micro-3d-local.rules
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/misc/emulators/cdemu/client.nix
index b70e2178844..1cea479fb7b 100644
--- a/pkgs/misc/emulators/cdemu/client.nix
+++ b/pkgs/misc/emulators/cdemu/client.nix
@@ -1,11 +1,11 @@
-{ callPackage, python, dbus_python, intltool, makeWrapper }:
+{ callPackage, pythonPackages, intltool, makeWrapper }:
 let pkg = import ./base.nix {
   version = "3.0.1";
   pkgName = "cdemu-client";
   pkgSha256 = "1kg5m7npdxli93vihhp033hgkvikw5b6fm0qwgvlvdjby7njyyyg";
 };
 in callPackage pkg {
-  buildInputs = [ python dbus_python intltool makeWrapper ];
+  buildInputs = [ pythonPackages.python pythonPackages.dbus-python intltool makeWrapper ];
   drvParams = {
     postFixup = ''
       wrapProgram $out/bin/cdemu \
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index 870f80477ca..b8acf36cfd0 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -11,12 +11,12 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "higan-${version}";
-  version = "100";
+  version = "101";
   sourceName = "higan_v${version}-source";
 
   src = fetchurl {
     urls = [ "http://download.byuu.org/${sourceName}.7z" ];
-    sha256 = "1pp20dxv6y2brb144v8kxfkkn0rcd755rivgrbvzzgn3v9dgjprp";
+    sha256 = "04vr3fp0b3cwq7q8d9v60qmv08zpcsb5gqn1whl4fvwcxcl22by8";
     curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
   };
 
@@ -41,8 +41,12 @@ stdenv.mkDerivation rec {
     install -m 755 icarus/out/icarus $out/bin/
     install -m 755 higan/out/higan $out/bin/
     install -m 644 higan/data/higan.desktop $out/share/applications/
-    install -m 644 higan/data/higan.png $out/share/pixmaps/
-    cp --recursive --no-dereference --preserve='links' --no-preserve='ownership' higan/data/cheats.bml higan/profile/* $out/share/higan/
+    install -m 644 higan/data/higan.png $out/share/pixmaps/higan-icon.png
+    install -m 644 higan/resource/logo/higan.png $out/share/pixmaps/higan-logo.png
+    cp --recursive --no-dereference --preserve='links' --no-preserve='ownership' \
+      higan/data/cheats.bml  $out/share/higan/
+    cp --recursive --no-dereference --preserve='links' --no-preserve='ownership' \
+      higan/systems/* $out/share/higan/
   '';
 
   fixupPhase = ''
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/misc/emulators/retrofe/default.nix
index 3a537aafa76..5f921c5a923 100644
--- a/pkgs/misc/emulators/retrofe/default.nix
+++ b/pkgs/misc/emulators/retrofe/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   configurePhase = ''
     cmake RetroFE/Source -BRetroFE/Build -DCMAKE_BUILD_TYPE=Release \
       -DVERSION_MAJOR=0 -DVERSION_MINOR=0 -DVERSION_BUILD=0 \
-      -DGSTREAMER_BASE_INCLUDE_DIRS='${gst_all_1.gst-plugins-base}/include/gstreamer-1.0'
+      -DGSTREAMER_BASE_INCLUDE_DIRS='${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0'
   '';
 
   buildPhase = ''
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 9a437971e42..92ed55be2de 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -30,9 +30,9 @@ in rec {
   };
 
   unstable = fetchurl rec {
-    version = "1.9.14";
+    version = "1.9.16";
     url = "mirror://sourceforge/wine/wine-${version}.tar.bz2";
-    sha256 = "0b65j8lc2axyc7lpa5rjr7vbjz4y78gkd7hhmvhra78pmwf9dgkz";
+    sha256 = "010gjib4nhrn9j9q12v5irda8df8xp17a6v6qqskkadd79kxc871";
     inherit (stable) mono;
     gecko32 = fetchurl rec {
       version = "2.44";
@@ -48,7 +48,7 @@ in rec {
 
   staging = fetchFromGitHub rec {
     inherit (unstable) version;
-    sha256 = "0582ylrvl7racpb0il3wmbivb2d7lh6n3mymh19yw94qzgifwqrw";
+    sha256 = "0rcy0i36jxv2akczd4sfrdmlsqxmj5v0wzvqb3xl8p2mldk9i8yl";
     owner = "wine-compholio";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix
index 04370424abb..84272992f2b 100644
--- a/pkgs/misc/frescobaldi/default.nix
+++ b/pkgs/misc/frescobaldi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pythonPackages, lilypond, pyqt4, pygame }:
+{ stdenv, fetchurl, pythonPackages, lilypond}:
 
 pythonPackages.buildPythonApplication rec {
   name = "frescobaldi-${version}";
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 66be12fbc43..06389c01ce0 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, pkgconfig, python, makeWrapper
+{ stdenv, fetchFromGitHub, pkgconfig, pythonPackages, makeWrapper
 , bash, libsamplerate, libsndfile, readline, gcc
 
 # Optional Dependencies
-, dbus ? null, pythonDBus ? null, libffado ? null, alsaLib ? null
+, dbus ? null, libffado ? null, alsaLib ? null
 , libopus ? null
 
 # Extra options
@@ -11,12 +11,13 @@
 
 with stdenv.lib;
 let
+  inherit (pythonPackages) python dbus-python;
   shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null;
 
   libOnly = prefix == "lib";
 
   optDbus = shouldUsePkg dbus;
-  optPythonDBus = if libOnly then null else shouldUsePkg pythonDBus;
+  optPythonDBus = if libOnly then null else shouldUsePkg dbus-python;
   optLibffado = if libOnly then null else shouldUsePkg libffado;
   optAlsaLib = if libOnly then null else shouldUsePkg alsaLib;
   optLibopus = shouldUsePkg libopus;
diff --git a/pkgs/misc/jackaudio/git.nix b/pkgs/misc/jackaudio/git.nix
index fb47128595e..7deeaadbb10 100644
--- a/pkgs/misc/jackaudio/git.nix
+++ b/pkgs/misc/jackaudio/git.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, pkgconfig, python, makeWrapper
+{ stdenv, fetchFromGitHub, pkgconfig, pythonPackages, makeWrapper
 , bash, libsamplerate, libsndfile, readline
 
 # Optional Dependencies
-, dbus ? null, pythonDBus ? null, libffado ? null, alsaLib ? null
+, dbus ? null, libffado ? null, alsaLib ? null
 , libopus ? null
 
 # Extra options
@@ -11,12 +11,13 @@
 
 with stdenv.lib;
 let
+  inherit (pythonPackages) python dbus-python;
   shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (x: x == stdenv.system) pkg.meta.platforms then pkg else null;
 
   libOnly = prefix == "lib";
 
   optDbus = shouldUsePkg dbus;
-  optPythonDBus = if libOnly then null else shouldUsePkg pythonDBus;
+  optPythonDBus = if libOnly then null else shouldUsePkg dbus-python;
   optLibffado = if libOnly then null else shouldUsePkg libffado;
   optAlsaLib = if libOnly then null else shouldUsePkg alsaLib;
   optLibopus = shouldUsePkg libopus;
diff --git a/pkgs/misc/long-shebang/default.nix b/pkgs/misc/long-shebang/default.nix
index 17bf0e95fee..2aac5556e2f 100644
--- a/pkgs/misc/long-shebang/default.nix
+++ b/pkgs/misc/long-shebang/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }: let
-  version = "1.0.0";
+  version = "1.1.0";
 in stdenv.mkDerivation {
   name = "long-shebang-${version}";
 
   src = fetchurl {
-    url = "https://github.com/shlevy/long-shebang/releases/download/v1.0.0/long-shebang-1.0.0.tar.xz";
-    sha256 = "15f5rmihj3r53rmalix1bn1agybbzrc3g2a9xzjyd4v3vfd2vckr";
+    url = "https://github.com/shlevy/long-shebang/releases/download/v${version}/long-shebang-${version}.tar.xz";
+    sha256 = "0rlyibf7pczjfsi91nl1n5vri2vqibmvyyy070jaw3wb0wjm565a";
   };
 
   meta = {
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index 16464ab27e3..4404d5d6fec 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, which, automake, autoconf, pkgconfig, curl, libtool, vala, python, intltool, fuse, ccnet}:
+{stdenv, fetchurl, which, automake, autoconf, pkgconfig, curl, libtool, vala_0_23, python, intltool, fuse, ccnet}:
 
 stdenv.mkDerivation rec
 {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec
     sha256 = "ec166c86a41e7ab3b1ae97a56326ab4a2b1ec38686486b956c3d153b8023c670";
   };
 
-  buildInputs = [ which automake autoconf pkgconfig libtool vala python intltool fuse ];
+  buildInputs = [ which automake autoconf pkgconfig libtool vala_0_23 python intltool fuse ];
   propagatedBuildInputs = [ ccnet curl ];
 
   preConfigure = ''
diff --git a/pkgs/misc/themes/greybird/default.nix b/pkgs/misc/themes/greybird/default.nix
index fbf55cfc529..05fc2ab6103 100644
--- a/pkgs/misc/themes/greybird/default.nix
+++ b/pkgs/misc/themes/greybird/default.nix
@@ -1,29 +1,21 @@
-{ stdenv, fetchFromGitHub, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, autoreconfHook, sass, glib, libxml2, gdk_pixbuf, librsvg, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
   pname = "Greybird";
-  version = "2016-03-11";
+  version = "2016-08-16";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     repo = "${pname}";
     owner = "shimmerproject";
-    rev = "77f3cbd94b0c87f502aaeeaa7fd6347283c876cf";
-    sha256 = "1gqq9j61izdw8arly8kzr629wa904rn6mq48cvlaksknimw0hf2h";
+    rev = "fcaa400df68b1a29bb9dc8eb9c772a241f17c9ea";
+    sha256 = "02f2zlkhi2als39ajq3v91iik708g5a9iyl3cvd65n80gr4jifmr";
   };
 
+  nativeBuildInputs = [ autoreconfHook sass glib libxml2 gdk_pixbuf librsvg ];
+
   buildInputs = [ gtk-engine-murrine ];
   
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/share/themes/${pname}{," Bright"," Compact"," a11y"}
-    cp -a * $out/share/themes/${pname}/
-    mv $out/share/themes/${pname}/xfce-notify-4.0_bright $out/share/themes/${pname}" Bright"/xfce-notify-4.0
-    mv $out/share/themes/${pname}/xfwm4-compact $out/share/themes/${pname}" Compact"/xfwm4
-    mv $out/share/themes/${pname}/xfwm4-a11y $out/share/themes/${pname}" a11y"/xfwm4
-  '';
-
   meta = {
     description = "Grey and blue theme (Gtk, Xfce, Emerald, Metacity, Mutter, Unity)";
     homepage = http://shimmerproject.org/our-projects/greybird/;
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index be2b8026817..677eb890a5b 100644
--- a/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "android-udev-rules-${version}";
-  version = "2016-04-26";
+  version = "20160805";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
-    rev = "9af6e552016392db35191142b599a5199cf8a9fa";
-    sha256 = "1lvh7md6qz91q8jy9phnfxlb19s104lvsk75a5r07d8bjc4w9pxb";
+    rev = version;
+    sha256 = "0sdf3insqs73cdzmwl3lqy7nj82f1lprxd3vm0jh3qpf0sd1k93c";
   };
 
   installPhase = ''
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/M0Rf30/android-udev-rules;
+    homepage = "https://github.com/M0Rf30/android-udev-rules";
     description = "Android udev rules list aimed to be the most comprehensive on the net";
     platforms = platforms.linux;
     license = licenses.gpl3;
diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix
index 6ae9d8d2667..4401eb24cb4 100644
--- a/pkgs/os-specific/linux/autofs/default.nix
+++ b/pkgs/os-specific/linux/autofs/default.nix
@@ -1,27 +1,27 @@
-{ stdenv, fetchurl, flex, bison, linuxHeaders }:
+{ stdenv, lib, fetchurl, flex, bison, linuxHeaders, libtirpc, utillinux, nfs-utils, e2fsprogs
+, libxml2 }:
 
 let
-  version = "5.1.1";
+  version = "5.1.2";
   name = "autofs-${version}";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
-    sha256 = "1hr1f11wp538h7r298wpa5khfkhfs8va3p1kdixxhrgkkzpz13z0";
+    sha256 = "031z64hmbzyllgvi72cw87755vnmafvsfwi0w21xksla10wxxdw8";
   };
 
   preConfigure = ''
-    configureFlags="--disable-move-mount --with-path=$PATH"
-    export MOUNT=/var/run/current-system/sw/bin/mount
-    export UMOUNT=/var/run/current-system/sw/bin/umount
-    export MODPROBE=/var/run/current-system/sw/bin/modprobe
-    # Grrr, rpcgen can't find cpp. (NIXPKGS-48)
-    mkdir rpcgen
-    echo "#! $shell" > rpcgen/rpcgen
-    echo "exec $(type -tp rpcgen) -Y $(dirname $(type -tp cpp)) \"\$@\"" >> rpcgen/rpcgen
-    chmod +x rpcgen/rpcgen
-    export RPCGEN=$(pwd)/rpcgen/rpcgen
+    configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH"
+
+    export MOUNT=${lib.getBin utillinux}/bin/mount
+    export MOUNT_NFS=${lib.getBin nfs-utils}/bin/mount.nfs
+    export UMOUNT=${lib.getBin utillinux}/bin/umount
+    export MODPROBE=${lib.getBin utillinux}/bin/modprobe
+    export E2FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext2
+    export E3FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext3
+    export E4FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext4
   '';
 
   installPhase = ''
@@ -29,7 +29,9 @@ in stdenv.mkDerivation {
     #make install SUBDIRS="samples" # impure!
   '';
 
-  buildInputs = [ flex bison linuxHeaders ];
+  buildInputs = [ linuxHeaders libtirpc libxml2 ];
+
+  nativeBuildInputs = [ flex bison ];
 
   meta = {
     inherit version;
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index f29acaa1354..c08a04ae5f5 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python,
-  pythonPackages, pythonDBus, readline, libsndfile, udev, libical,
+{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
+  pythonPackages, readline, libsndfile, udev, libical,
   systemd, enableWiimote ? false }:
 
 assert stdenv.isLinux;
@@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
   };
 
   pythonPath = with pythonPackages;
-    [ pythonDBus pygobject pygobject3 recursivePthLoader ];
+    [ dbus pygobject pygobject3 recursivePthLoader ];
 
   buildInputs =
-    [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython
+    [ pkgconfig dbus glib alsaLib pythonPackages.python pythonPackages.wrapPython
       readline libsndfile udev libical
       # Disables GStreamer; not clear what it gains us other than a
       # zillion extra dependencies.
diff --git a/pkgs/os-specific/linux/bluez/bluez5_28.nix b/pkgs/os-specific/linux/bluez/bluez5_28.nix
index 68db9345bd0..829b383e072 100644
--- a/pkgs/os-specific/linux/bluez/bluez5_28.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5_28.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python,
-  pythonPackages, pythonDBus, readline, libsndfile, udev, libical,
+{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib,
+  pythonPackages, readline, libsndfile, udev, libical,
   systemd, enableWiimote ? false }:
 
 assert stdenv.isLinux;
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python;
+in stdenv.mkDerivation rec {
   name = "bluez-5.28";
    
   src = fetchurl {
@@ -13,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   pythonPath = with pythonPackages;
-    [ pythonDBus pygobject pygobject3 recursivePthLoader ];
+    [ dbus pygobject pygobject3 recursivePthLoader ];
 
   buildInputs =
     [ pkgconfig dbus glib alsaLib python pythonPackages.wrapPython
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index ea979ed0c22..9943a1de6d4 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, makeWrapper
-, pythonDBus, pygobject, readline, libsndfile }:
+{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, pythonPackages, makeWrapper
+, readline, libsndfile }:
 
 assert stdenv.isLinux;
 
 let
-  pythonpath = "${pythonDBus}/lib/${python.libPrefix}/site-packages:"
-    + "${pygobject}/lib/${python.libPrefix}/site-packages";
-in
-   
-stdenv.mkDerivation rec {
+  inherit (pythonPackages) python;
+  pythonpath = "${pythonPackages.dbus}/lib/${python.libPrefix}/site-packages:"
+    + "${pythonPackages.pygobject}/lib/${python.libPrefix}/site-packages";
+in stdenv.mkDerivation rec {
   name = "bluez-4.101";
    
   src = fetchurl {
diff --git a/pkgs/os-specific/linux/btfs/default.nix b/pkgs/os-specific/linux/btfs/default.nix
index f0d1b3d7357..f6b3839c6bc 100644
--- a/pkgs/os-specific/linux/btfs/default.nix
+++ b/pkgs/os-specific/linux/btfs/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "btfs-${version}";
-  version = "2.10";
+  version = "2.11";
 
   src = fetchFromGitHub {
     owner = "johang";
     repo = "btfs";
-    rev = "2eac5e70a1ed22fa0761b6357c54fd90eea02de6";
-    sha256 = "146vgwn79dnbkkn35safga55lkwhvarkmilparmr26hjb56cs1dk";
+    rev = "fe585ca285690579db50b1624cec81ae76279ba2";
+    sha256 = "1vqya2k8cx5x7jfapl9vmmb002brwbsz4j5xs4417kzv3j2bsms9";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index b0f545b2171..ff259dcfbb0 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -3,7 +3,7 @@
 
 # Optional dependencies
 , libjack2 ? null, dbus ? null, dbus_cplusplus ? null, alsaLib ? null
-, pyqt4 ? null, pythonDBus ? null, xdg_utils ? null
+, pyqt4 ? null, dbus-python ? null, xdg_utils ? null
 
 # Other Flags
 , prefix ? ""
@@ -20,7 +20,7 @@ let
   optDbus_cplusplus = shouldUsePkg dbus_cplusplus;
   optAlsaLib = shouldUsePkg alsaLib;
   optPyqt4 = shouldUsePkg pyqt4;
-  optPythonDBus = shouldUsePkg pythonDBus;
+  optPythonDBus = shouldUsePkg dbus-python;
   optXdg_utils = shouldUsePkg xdg_utils;
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix
index 52c839bdedd..7f64ed22771 100644
--- a/pkgs/os-specific/linux/gradm/default.nix
+++ b/pkgs/os-specific/linux/gradm/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name    = "gradm-${version}";
-  version = "3.1-201607172312";
+  version = "3.1-201608131257";
 
   src  = fetchurl {
     url    = "http://grsecurity.net/stable/${name}.tar.gz";
-    sha256 = "1r3fbrfijj8mbh3gl489q5bj2srj35f9f96i04nfmw427qpcg0a2";
+    sha256 = "0y5565rhil5ciprwz7nx4s4ah7dsxx7zrkg42dbq0mcg8m316xrb";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/os-specific/linux/hd-idle/default.nix b/pkgs/os-specific/linux/hd-idle/default.nix
new file mode 100644
index 00000000000..91185438416
--- /dev/null
+++ b/pkgs/os-specific/linux/hd-idle/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "hd-idle-1.05";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/hd-idle/${name}.tgz";
+    sha256 = "031sm996s0rhy3z91b9xvyimsj2yd2fhsww2al2hxda5s5wzxzjf";
+  };
+
+  prePatch = ''
+    substituteInPlace Makefile \
+      --replace "-g root -o root" ""
+  '';
+
+  installFlags = [ "TARGET_DIR=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Spins down external disks after a period of idle time";
+    homepage = http://hd-idle.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.rycee ];
+  };
+}
diff --git a/pkgs/os-specific/linux/hwdata/default.nix b/pkgs/os-specific/linux/hwdata/default.nix
index 1987e914ad9..dc3160af7aa 100644
--- a/pkgs/os-specific/linux/hwdata/default.nix
+++ b/pkgs/os-specific/linux/hwdata/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "hwdata-0.276";
+stdenv.mkDerivation rec {
+  name = "hwdata-${version}";
+  version = "0.291";
 
   src = fetchurl {
-    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-0.276.tar.xz";
-    sha256 = "0pg0ms6kb2mm25mdklsb0xn2spcwi2mhygzc7bkpji72qq8srzsh";
+    url = "https://git.fedorahosted.org/cgit/hwdata.git/snapshot/hwdata-${version}.tar.xz";
+    sha256 = "121qixrdhdncva1cnj7m7jlqvi1kbj85dpi844jiis3a8hgpzw5a";
   };
 
   preConfigure = "patchShebangs ./configure";
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index f591bdf13d6..509fb281195 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -321,6 +321,7 @@ with stdenv.lib;
   DVB_DYNAMIC_MINORS? y # we use udev
   EFI_STUB y # EFI bootloader in the bzImage itself
   FHANDLE y # used by systemd
+  SECCOMP y # used by systemd >= 231
   FRONTSWAP y
   FUSION y # Fusion MPT device support
   IDE n # deprecated IDE support
diff --git a/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix b/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix
index 67bad8aeb40..4c81cd5b6ad 100644
--- a/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix
+++ b/pkgs/os-specific/linux/kernel/grsecurity-nixos-config.nix
@@ -13,6 +13,8 @@ GRKERNSEC_CONFIG_VIRT_EPT y
 GRKERNSEC_CONFIG_VIRT_KVM y
 GRKERNSEC_CONFIG_PRIORITY_SECURITY y
 
+PAX_SOFTMODE y
+
 PAX_PT_PAX_FLAGS y
 PAX_XATTR_PAX_FLAGS y
 PAX_EI_PAX n
@@ -20,7 +22,7 @@ PAX_EI_PAX n
 GRKERNSEC_PROC_GID 0
 
 PAX_LATENT_ENTROPY n
-PAX_SIZE_OVERFLOW n
+
 GRKERNSEC_HIDESYM n
 GRKERNSEC_RANDSTRUCT n
 GRKERNSEC_PROC n
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index 478e0d7ce24..9b23d370775 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.27";
+  version = "4.1.30";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "02gkmn3j15wih6aq94p6mbivv996lr7zcj6vz4wh8wr7wmmy1kmv";
+    sha256 = "1iljmpr3b07fwhzzxkmx0pqz6ja8cnkx4fv52glcjrp6rjpfl8lx";
   };
 
   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 56ab62e95e5..ef2bf819539 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.17";
+  version = "4.4.18";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "10ags1n345irx1bi3fyal326b3m5myndz19v0klbvxhd3i3m350m";
+    sha256 = "0b2pna9l8hl2dc07faii3i0ixy382476pmh50wl1j8v1bz50rfg6";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.5.nix b/pkgs/os-specific/linux/kernel/linux-4.5.nix
deleted file mode 100644
index 63db1779014..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-4.5.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "4.5.7";
-  extraMeta.branch = "4.5";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0azvh7lf9kak1xcs5f9smlvx4gkf45vyandizmxhx0zyjlhacw60";
-  };
-
-  kernelPatches = args.kernelPatches;
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.6.nix b/pkgs/os-specific/linux/kernel/linux-4.6.nix
index 0559df72ae6..6bca1bfe718 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.6.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.6.5";
+  version = "4.6.7";
   extraMeta.branch = "4.6";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1i8ksv8w6dn86q54gzk230gxrylqx3m55x789d29q5balg456bby";
+    sha256 = "107acpq6jk48ng25jlyv905zslrrv77yxwr46mqbq5lxg8rdg7fh";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.7.nix b/pkgs/os-specific/linux/kernel/linux-4.7.nix
index 53fa5de5bb6..bd54c5352a5 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.7.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.7.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.7";
-  modDirVersion = "4.7.0";
+  version = "4.7.2";
   extraMeta.branch = "4.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "5190c3d1209aeda04168145bf50569dc0984f80467159b1dc50ad731e3285f10";
+    sha256 = "1234z4wzvrbyzql6cc8i4bq7bbbjgaxhys4fcnqzm14lavk3wjaq";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index 0559df72ae6..bd54c5352a5 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.6.5";
-  extraMeta.branch = "4.6";
+  version = "4.7.2";
+  extraMeta.branch = "4.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1i8ksv8w6dn86q54gzk230gxrylqx3m55x789d29q5balg456bby";
+    sha256 = "1234z4wzvrbyzql6cc8i4bq7bbbjgaxhys4fcnqzm14lavk3wjaq";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
index 981e6a97c2a..b39514d45dd 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  mptcpVersion = "0.90.1";
-  modDirVersion = "3.18.25";
+  mptcpVersion = "0.91";
+  modDirVersion = "4.1.26";
   version = "${modDirVersion}-mptcp_v${mptcpVersion}";
 
   extraMeta = {
-    branch = "3.18";
+    branch = "4.1";
     maintainers = stdenv.lib.maintainers.layus;
   };
 
   src = fetchurl {
     url = "https://github.com/multipath-tcp/mptcp/archive/v${mptcpVersion}.tar.gz";
-    sha256 = "088cpxl960xzrsz7x2lkq28ksa4gzjb1hp5yf8hxshihyhdaspwl";
+    sha256 = "0rbvgz89j5wk781y201qdxy2kz4gmlamb72wdbxj8mxv92x56lh3";
   };
 
+  kernelPatches = args.kernelPatches;
+
   extraConfig = ''
     IPV6 y
     MPTCP y
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 8da8f20eae2..c5a4ba2b18a 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -93,7 +93,7 @@ let
             echo "stripping FHS paths in \`$mf'..."
             sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g'
         done
-        sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|'
+        sed -i Makefile -e 's|= depmod|= ${kmod}/bin/depmod|'
       '';
 
       configurePhase = ''
@@ -188,7 +188,7 @@ let
         find -empty -type d -delete
 
         # Remove reference to kmod
-        sed -i Makefile -e 's|= ${kmod}/sbin/depmod|= depmod|'
+        sed -i Makefile -e 's|= ${kmod}/bin/depmod|= depmod|'
       '' else optionalString installsFirmware ''
         make firmware_install $makeFlags "''${makeFlagsArray[@]}" \
           $installFlags "''${installFlagsArray[@]}"
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 56963d89efa..26311c326fb 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -93,9 +93,9 @@ rec {
   grsecurity_4_4 = throw "grsecurity stable is no longer supported";
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.6.5";
-      grrev  = "201607312210";
-      sha256 = "17dnp6w092kvqxqxbdgjpl4mrsn2wkb7z8q5d8ck7dfanpmqap0w";
+    { kver   = "4.7.2";
+      grrev  = "201608211829";
+      sha256 = "1a7pvmb57w7j9s4ww8xvzzijlpnr2i7nhm7jhgfz4n5w3jvxcny3";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
@@ -136,10 +136,6 @@ rec {
     { name = "mfd_fix_dependency";
       patch = ./chromiumos-patches/mfd-fix-dependency.patch;
     };
-  qat_common_Makefile =
-    { name = "qat_common_Makefile";
-      patch = ./qat_common_Makefile.patch;
-    };
 
   hiddev_CVE_2016_5829 =
     { name = "hiddev_CVE_2016_5829";
diff --git a/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch b/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch
deleted file mode 100644
index 2d4476a7fe5..00000000000
--- a/pkgs/os-specific/linux/kernel/qat_common_Makefile.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/drivers/crypto/qat/qat_common/Makefile
-+++ b/drivers/crypto/qat/qat_common/Makefile
-@@ -2,6 +2,7 @@
- 			     $(obj)/qat_rsapubkey-asn1.h
- $(obj)/qat_rsaprivkey-asn1.o: $(obj)/qat_rsaprivkey-asn1.c \
- 			      $(obj)/qat_rsaprivkey-asn1.h
-+$(obj)/qat_asym_algs.o: $(obj)/qat_rsaprivkey-asn1.h $(obj)/qat_rsapubkey-asn1.h
- 
- clean-files += qat_rsapubkey-asn1.c qat_rsapubkey-asn1.h
- clean-files += qat_rsaprivkey-asn1.c qat_rsapvivkey-asn1.h
diff --git a/pkgs/os-specific/linux/kmod/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix
index 161af38ff60..88069ba4bf1 100644
--- a/pkgs/os-specific/linux/kmod/aggregator.nix
+++ b/pkgs/os-specific/linux/kmod/aggregator.nix
@@ -21,7 +21,7 @@ buildEnv {
       # kernel version number, otherwise depmod will use `uname -r'.
       if test -w $out/lib/modules/$kernelVersion; then
           rm -f $out/lib/modules/$kernelVersion/modules.*
-          ${kmod}/sbin/depmod -b $out -a $kernelVersion
+          ${kmod}/bin/depmod -b $out -a $kernelVersion
       fi
     '';
 }
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 12449a0a7dd..322df73e404 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,25 +1,37 @@
-{ stdenv, fetchurl, xz, zlib, pkgconfig, libxslt }:
+{ stdenv, lib, fetchurl, autoreconfHook, xz, zlib, pkgconfig, libxslt }:
 
-stdenv.mkDerivation rec {
-  name = "kmod-22";
+let
+  systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
+  modulesDirs = lib.concatMapStringsSep ":" (x: "${x}/lib/modules") systems;
+
+in stdenv.mkDerivation rec {
+  name = "kmod-${version}";
+  version = "23";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
-    sha256 = "10lzfkmnpq6a43a3gkx7x633njh216w0bjwz31rv8a1jlgg1sfxs";
+    sha256 = "0mc12sx06p8il1ym3hdmgxxb37apn9yv7xij26gddjdfkx8xa0yk";
   };
 
-  buildInputs = [ pkgconfig libxslt xz /* zlib */ ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig libxslt ];
+  buildInputs = [ xz /* zlib */ ];
 
-  configureFlags = [ "--sysconfdir=/etc" "--with-xz" /* "--with-zlib" */ ];
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--with-xz"
+    "--with-modulesdirs=${modulesDirs}"
+    # "--with-zlib"
+  ];
 
   patches = [ ./module-dir.patch ];
 
   postInstall = ''
-    ln -s kmod $out/bin/lsmod
-    mkdir -p $out/sbin
-    for prog in rmmod insmod modinfo modprobe depmod; do
-      ln -sv $out/bin/kmod $out/sbin/$prog
+    for prog in rmmod insmod lsmod modinfo modprobe depmod; do
+      ln -sv $out/bin/kmod $out/bin/$prog
     done
+
+    # Backwards compatibility
+    ln -s bin $out/sbin
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/kmod/module-dir.patch b/pkgs/os-specific/linux/kmod/module-dir.patch
index 0c4ab4bd4c4..f7432e3756e 100644
--- a/pkgs/os-specific/linux/kmod/module-dir.patch
+++ b/pkgs/os-specific/linux/kmod/module-dir.patch
@@ -1,7 +1,46 @@
-diff -ru -x '*~' kmod-17-orig/libkmod/libkmod.c kmod-17/libkmod/libkmod.c
---- kmod-17-orig/libkmod/libkmod.c	2014-04-01 12:40:37.161940089 +0200
-+++ kmod-17/libkmod/libkmod.c	2014-04-17 13:47:15.871441987 +0200
-@@ -201,7 +201,7 @@
+diff --git a/Makefile.am b/Makefile.am
+index d4eeb7e..5c9f603 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -19,6 +19,7 @@ AM_CPPFLAGS = \
+ 	-include $(top_builddir)/config.h \
+ 	-I$(top_srcdir) \
+ 	-DSYSCONFDIR=\""$(sysconfdir)"\" \
++	-DMODULESDIRS=\""$(shell echo $(modulesdirs) | $(SED) 's|:|\\",\\"|g')"\" \
+ 	${zlib_CFLAGS}
+ 
+ AM_CFLAGS = $(OUR_CFLAGS)
+diff --git a/configure.ac b/configure.ac
+index 23510c8..66490cf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -202,6 +202,12 @@ GTK_DOC_CHECK([1.14],[--flavour no-tmpl-flat])
+ ], [
+ AM_CONDITIONAL([ENABLE_GTK_DOC], false)])
+ 
++AC_ARG_WITH([modulesdirs],
++	AS_HELP_STRING([--with-modulesdirs=DIRS], [Kernel modules directories, separated by :]),
++	[],
++	[with_modulesdirs=/lib/modules])
++AC_SUBST([modulesdirs], [$with_modulesdirs])
++
+ 
+ #####################################################################
+ # Default CFLAGS and LDFLAGS
+diff --git a/libkmod/libkmod.c b/libkmod/libkmod.c
+index 69fe431..d37da32 100644
+--- a/libkmod/libkmod.c
++++ b/libkmod/libkmod.c
+@@ -206,12 +206,15 @@ static int log_priority(const char *priority)
+ 	return 0;
+ }
+ 
+-static const char *dirname_default_prefix = "/lib/modules";
++static const char *dirname_default_prefixes[] = {
++	MODULESDIRS,
++	NULL
++};
+ 
  static char *get_kernel_release(const char *dirname)
  {
  	struct utsname u;
@@ -10,51 +49,109 @@ diff -ru -x '*~' kmod-17-orig/libkmod/libkmod.c kmod-17/libkmod/libkmod.c
  
  	if (dirname != NULL)
  		return path_make_absolute_cwd(dirname);
-@@ -209,7 +209,10 @@
+@@ -219,8 +222,42 @@ static char *get_kernel_release(const char *dirname)
  	if (uname(&u) < 0)
  		return NULL;
  
 -	if (asprintf(&p, "%s/%s", dirname_default_prefix, u.release) < 0)
-+	if ((dirname_prefix = getenv("MODULE_DIR")) == NULL)
-+		dirname_prefix = dirname_default_prefix;
+-		return NULL;
++	if ((dirname_prefix = getenv("MODULE_DIR")) != NULL) {
++		if(asprintf(&p, "%s/%s", dirname_prefix, u.release) < 0)
++			return NULL;
++	} else {
++		size_t i;
++		char buf[PATH_MAX];
 +
-+	if (asprintf(&p, "%s/%s", dirname_prefix, u.release) < 0)
- 		return NULL;
++		for (i = 0; dirname_default_prefixes[i] != NULL; i++) {
++			int plen;
++			struct stat dirstat;
++
++			plen = snprintf(buf, sizeof(buf), "%s/%s", dirname_default_prefixes[i], u.release);
++			if (plen < 0)
++				return NULL;
++			else if (plen >= PATH_MAX)
++				continue;
++
++			if (dirname_default_prefixes[i + 1] != NULL) {
++				if (stat(buf, &dirstat) < 0) {
++					if (errno == ENOENT)
++						continue;
++					else
++						return NULL;
++				}
++
++				if (!S_ISDIR(dirstat.st_mode))
++					continue;
++			}
++
++			p = malloc(plen + 1);
++			if (p == NULL)
++				return NULL;
++			memcpy(p, buf, plen + 1);
++			break;
++		}
++	}
  
  	return p;
-diff -ru -x '*~' kmod-17-orig/tools/static-nodes.c kmod-17/tools/static-nodes.c
---- kmod-17-orig/tools/static-nodes.c	2013-12-17 22:05:42.159047316 +0100
-+++ kmod-17/tools/static-nodes.c	2014-04-17 13:51:17.945974320 +0200
-@@ -159,6 +159,7 @@
+ }
+diff --git a/tools/static-nodes.c b/tools/static-nodes.c
+index 8d2356d..2ed306d 100644
+--- a/tools/static-nodes.c
++++ b/tools/static-nodes.c
+@@ -29,10 +29,11 @@
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+-#include <sys/utsname.h>
+ 
+ #include <shared/util.h>
+ 
++#include <libkmod/libkmod.h>
++
+ #include "kmod.h"
+ 
+ struct static_nodes_format {
+@@ -154,8 +155,8 @@ static void help(void)
+ 
+ static int do_static_nodes(int argc, char *argv[])
+ {
+-	struct utsname kernel;
+ 	char modules[PATH_MAX], buf[4096];
++	struct kmod_ctx *ctx;
+ 	const char *output = "/dev/stdout";
  	FILE *in = NULL, *out = NULL;
  	const struct static_nodes_format *format = &static_nodes_format_human;
- 	int r, ret = EXIT_SUCCESS;
-+	char *dirname_prefix;
+@@ -206,22 +207,25 @@ static int do_static_nodes(int argc, char *argv[])
+ 		}
+ 	}
  
- 	for (;;) {
- 		int c, idx = 0, valid;
-@@ -211,16 +212,19 @@
+-	if (uname(&kernel) < 0) {
+-		fputs("Error: uname failed!\n", stderr);
++	ctx = kmod_new(NULL, NULL);
++	if (ctx == NULL) {
++		fprintf(stderr, "Error: failed to create kmod context\n");
+ 		ret = EXIT_FAILURE;
  		goto finish;
  	}
- 
+-
 -	snprintf(modules, sizeof(modules), "/lib/modules/%s/modules.devname", kernel.release);
-+	if ((dirname_prefix = getenv("MODULE_DIR")) == NULL)
-+		dirname_prefix = "/lib/modules";
-+
-+	snprintf(modules, sizeof(modules), "%s/%s/modules.devname", dirname_prefix, kernel.release);
++	if (snprintf(modules, sizeof(modules), "%s/modules.devname", kmod_get_dirname(ctx)) < 0) {
++		fprintf(stderr, "Error: path to modules.devname is too long\n");
++		ret = EXIT_FAILURE;
++		goto finish;
++	}
++	kmod_unref(ctx);
  	in = fopen(modules, "re");
  	if (in == NULL) {
  		if (errno == ENOENT) {
 -			fprintf(stderr, "Warning: /lib/modules/%s/modules.devname not found - ignoring\n",
 -				kernel.release);
-+			fprintf(stderr, "Warning: %s/%s/modules.devname not found - ignoring\n",
-+				dirname_prefix, kernel.release);
++			fprintf(stderr, "Warning: %s not found - ignoring\n", modules);
  			ret = EXIT_SUCCESS;
  		} else {
 -			fprintf(stderr, "Error: could not open /lib/modules/%s/modules.devname - %m\n",
 -				kernel.release);
-+			fprintf(stderr, "Error: could not open %s/%s/modules.devname - %m\n",
-+				dirname_prefix, kernel.release);
++			fprintf(stderr, "Error: could not open %s - %m\n", modules);
  			ret = EXIT_FAILURE;
  		}
  		goto finish;
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index ea9ff1d58d1..6fa947fea17 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "microcode-intel-${version}";
-  version = "20150121";
+  version = "20160714";
 
   src = fetchurl {
-    url = "http://downloadmirror.intel.com/24661/eng/microcode-${version}.tgz";
-    sha256 = "1cznv3f25cxkwxdc930ab0ifvq0c76fryppadi4p26a2pf9knd93";
+    url = "http://downloadmirror.intel.com/26156/eng/microcode-${version}.tgz";
+    sha256 = "03l4pkymrgbd5y9m5ys7kq85zvckmjbw7xr6pkzg2nr7jgycdagk";
   };
 
   buildInputs = [ libarchive ];
diff --git a/pkgs/os-specific/linux/pam_pgsql/default.nix b/pkgs/os-specific/linux/pam_pgsql/default.nix
index 8e34028e078..42949a3557a 100644
--- a/pkgs/os-specific/linux/pam_pgsql/default.nix
+++ b/pkgs/os-specific/linux/pam_pgsql/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Support to authenticate against PostgreSQL for PAM-enabled appliations";
-    homepage = https://github.com/pam-pgsql/pam-pgsql;
+    homepage = "https://github.com/pam-pgsql/pam-pgsql";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/os-specific/linux/pam_usb/default.nix b/pkgs/os-specific/linux/pam_usb/default.nix
index 67d9894a2a0..a96e951bf9b 100644
--- a/pkgs/os-specific/linux/pam_usb/default.nix
+++ b/pkgs/os-specific/linux/pam_usb/default.nix
@@ -1,8 +1,9 @@
-{stdenv, fetchurl, makeWrapper, useSetUID, dbus, libxml2, pam, pkgconfig, pmount, python, pythonDBus}:
+{stdenv, fetchurl, makeWrapper, useSetUID, dbus, libxml2, pam, pkgconfig, pmount, pythonPackages}:
 
 let
   pmountBin = useSetUID pmount "/bin/pmount";
   pumountBin = useSetUID pmount "/bin/pumount";
+  inherit (pythonPackages) python dbus-python;
 in
 
 stdenv.mkDerivation rec {
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
     for prog in $out/bin/pamusb-conf $out/bin/pamusb-agent; do
       substituteInPlace $prog --replace '/usr/bin/env python' '/bin/python'
       wrapProgram $prog \
-        --prefix PYTHONPATH : "$(toPythonPath ${pythonDBus})"
+        --prefix PYTHONPATH : "$(toPythonPath ${dbus-python})"
     done
   '';
 
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 91fce8f2aa2..45926228b6c 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, stdenv, autoconf, automake, libtool, coreutils, gawk
+{ fetchFromGitHub, stdenv, autoreconfHook, coreutils, gawk
 , configFile ? "all"
 
 # Kernel dependencies
@@ -28,14 +28,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./const.patch ./install_prefix.patch ];
 
-  buildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   preConfigure = ''
-    ./autogen.sh
-
     substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod mknod
-
     substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
     substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
     substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
diff --git a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
index 3d617ece1c0..dc0a23be98f 100644
--- a/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
+++ b/pkgs/os-specific/linux/systemd/cryptsetup-generator.nix
@@ -18,10 +18,10 @@ stdenv.lib.overrideDerivation systemd (p: {
   # For some reason systemd-cryptsetup-generator is a wrapper-script
   # with the current release of systemd. We want the real one.
 
-  # TODO: Revert 3efadce when the wrapper-script is gone
+  # TODO: Remove `.libs` prefix when the wrapper-script is gone
   installPhase = ''
     mkdir -p $out/lib/systemd/
-    cp systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup
+    cp .libs/systemd-cryptsetup $out/lib/systemd/systemd-cryptsetup
     cp .libs/*.so $out/lib/
 
     mkdir -p $out/lib/systemd/system-generators/
diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix
index 0fda5d6b9d5..84f67bfd8cf 100644
--- a/pkgs/os-specific/linux/wireguard/default.nix
+++ b/pkgs/os-specific/linux/wireguard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, libmnl, kernel ? null }:
+{ stdenv, fetchurl, libmnl, kernel ? null }:
 
 # module requires Linux >= 4.1 https://www.wireguard.io/install/#kernel-requirements
 assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "4.1";
@@ -6,19 +6,20 @@ assert kernel != null -> stdenv.lib.versionAtLeast kernel.version "4.1";
 let
   name = "wireguard-unstable-${version}";
 
-  version = "2016-07-22";
+  version = "2016-08-08";
 
-  src = fetchgit {
-    url    = "https://git.zx2c4.com/WireGuard";
-    rev    = "8e8bf6f848c324603827c0e57f0856d5866ac32d";
-    sha256 = "11qrf9fxm6mkwjnjq7dgbisdric5w22cyfkqc6zx9fla2dz99mxk";
+  src = fetchurl {
+    url    = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-experimental-0.0.20160808.tar.xz";
+    sha256 = "0z9s9xi8dzkmjnki7ialf2haxb0mn2x5676sjwmjij1jfi9ypxhw";
   };
 
   meta = with stdenv.lib; {
-    homepage    = https://www.wireguard.io/;
-    description = "Fast, modern, secure VPN tunnel";
-    license     = licenses.gpl2;
-    platforms   = platforms.linux;
+    homepage     = https://www.wireguard.io/;
+    downloadPage = https://git.zx2c4.com/WireGuard/refs/;
+    description  = "Fast, modern, secure VPN tunnel";
+    maintainers  = with maintainers; [ ericsagnes ];
+    license      = licenses.gpl2;
+    platforms    = platforms.linux;
   };
 
   module = stdenv.mkDerivation {
@@ -33,7 +34,6 @@ let
     INSTALL_MOD_PATH = "\${out}";
 
     buildPhase = "make module";
-
   };
 
   tools = stdenv.mkDerivation {
@@ -50,7 +50,6 @@ let
     ];
 
     buildPhase = "make tools";
-
   };
 
 in if kernel == null
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index be9410d3048..418286d81f6 100755
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -11,6 +11,10 @@ let
               scalaVersion = "2.11";
               sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
             };
+    "0.10" = { kafkaVersion = "0.10.0.1";
+               scalaVersion = "2.11";
+               sha256 = "0bdhzbhmm87a47162hyazcjmfibqg9r3ryzfjag7r0nxxmd64wrd";
+             };
   };
 in
 
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index 68ce9440f4f..51b4694b630 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -1,18 +1,24 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "caddy-${version}";
-  version = "0.8.3";
-  rev = "e2234497b79603388b58ba226abb157aa4aaf065";
+  version = "v0.9.1";
 
   goPackagePath = "github.com/mholt/caddy";
 
+  subPackages = [ "caddy" ];
+
   src = fetchFromGitHub {
-    inherit rev;
     owner = "mholt";
     repo = "caddy";
-    sha256 = "1snijkbz02yr7wij7bcmrj4257709sbklb3nhb5qmy95b9ssffm6";
+    rev = version;
+    sha256 = "0slh4nf5pd42mgj1j9hzywqpc3p6d211dm6pdlhb6lyn8f6nprgp";
   };
 
+  buildFlagsArray = ''
+    -ldflags=
+      -X github.com/mholt/caddy/caddy/caddymain.gitTag=${version}
+  '';
+
   goDeps = ./deps.json;
 }
diff --git a/pkgs/servers/caddy/deps.json b/pkgs/servers/caddy/deps.json
index dfe81f20ba8..6a6638b44b4 100644
--- a/pkgs/servers/caddy/deps.json
+++ b/pkgs/servers/caddy/deps.json
@@ -1,23 +1,182 @@
 [
   {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/BurntSushi/toml",
-      "github.com/flynn/go-shlex",
-      "github.com/hashicorp/go-syslog",
-      "gopkg.in/yaml.v2",
-      "github.com/xenolf/lego",
-      "golang.org/x/crypto",
-      "gopkg.in/natefinch/lumberjack.v2",
-      "github.com/shurcooL/sanitized_anchor_name",
-      "gopkg.in/square/go-jose.v1",
-      "github.com/mholt/archiver",
-      "github.com/dustin/go-humanize",
-      "github.com/gorilla/websocket",
-      "github.com/jimstudt/http-authentication",
-      "github.com/miekg/dns",
-      "golang.org/x/net",
-      "github.com/russross/blackfriday"
-    ]
+    "goPackagePath": "github.com/BurntSushi/toml",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/BurntSushi/toml",
+      "rev": "99064174e013895bbd9b025c31100bd1d9b590ca",
+      "sha256": "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9"
+    }
+  },
+  {
+    "goPackagePath": "github.com/dustin/go-humanize",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/dustin/go-humanize",
+      "rev": "2fcb5204cdc65b4bec9fd0a87606bb0d0e3c54e8",
+      "sha256": "1m2qgn5vh5m66ggmclgikvwc05np2r7sxgpvlj2jip5d61x29j5k"
+    }
+  },
+  {
+    "goPackagePath": "github.com/flynn/go-shlex",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/flynn/go-shlex",
+      "rev": "3f9db97f856818214da2e1057f8ad84803971cff",
+      "sha256": "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia"
+    }
+  },
+  {
+    "goPackagePath": "github.com/gorilla/websocket",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/gorilla/websocket",
+      "rev": "a69d25be2fe2923a97c2af6849b2f52426f68fc0",
+      "sha256": "1z09mff5yfdrw8vbylrgrick5m5hczjy8m2x6swdq8v062s45g3v"
+    }
+  },
+  {
+    "goPackagePath": "github.com/hashicorp/go-syslog",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/hashicorp/go-syslog",
+      "rev": "315de0c1920b18b942603ffdc2229e2af4803c17",
+      "sha256": "1z0kinqp8hbl7hw856jhx41ys97rc6hflcgwrkfyxj5fdx60xis6"
+    }
+  },
+  {
+    "goPackagePath": "github.com/jimstudt/http-authentication",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/jimstudt/http-authentication",
+      "rev": "3eca13d6893afd7ecabe15f4445f5d2872a1b012",
+      "sha256": "1drw3bhrxpjzwryqz9nq5s0yyjqyd42iym3bh1zjs5qsh401cq08"
+    }
+  },
+  {
+    "goPackagePath": "github.com/lucas-clemente/aes12",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/lucas-clemente/aes12",
+      "rev": "5a3c52721c1e81aa8162601ac2342486525156d5",
+      "sha256": "16z4h752na2d4sskjvbgi9bpwx874lpnzn6i13n33xjz599nps4y"
+    }
+  },
+  {
+    "goPackagePath": "github.com/lucas-clemente/fnv128a",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/lucas-clemente/fnv128a",
+      "rev": "393af48d391698c6ae4219566bfbdfef67269997",
+      "sha256": "1cvq0p0k86p668yz9rb3z98fz3f9phvbvqp6ilbasiy4y2x5w184"
+    }
+  },
+  {
+    "goPackagePath": "github.com/lucas-clemente/quic-go",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/lucas-clemente/quic-go",
+      "rev": "c2af049b8af811a546bfa6b11f362c9c1e706343",
+      "sha256": "178w1qzpkyrkcnix093lj6dhgg5nylxg0aqmiff6f9ww2xknlw47"
+    }
+  },
+  {
+    "goPackagePath": "github.com/lucas-clemente/quic-go-certificates",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/lucas-clemente/quic-go-certificates",
+      "rev": "4904164a1a6479e3b509f616ccd31a7b0e705d52",
+      "sha256": "1kpl8j4lqwq1xqkyikbczq8dwrybbgz4m9ny21a88v0da6r2bcfk"
+    }
+  },
+  {
+    "goPackagePath": "github.com/mholt/caddy",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/mholt/caddy",
+      "rev": "c5aa5843d92a27eaf521e28684111030135d9cdc",
+      "sha256": "0slh4nf5pd42mgj1j9hzywqpc3p6d211dm6pdlhb6lyn8f6nprgp"
+    }
+  },
+  {
+    "goPackagePath": "github.com/miekg/dns",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/miekg/dns",
+      "rev": "db96a2b759cdef4f11a34506a42eb8d1290c598e",
+      "sha256": "0h5n4psd0p7q55jadgsgz2a1aj791yanrfj76avalh6aawvdpcm6"
+    }
+  },
+  {
+    "goPackagePath": "github.com/russross/blackfriday",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/russross/blackfriday",
+      "rev": "93622da34e54fb6529bfb7c57e710f37a8d9cbd8",
+      "sha256": "19y4cx4afm3fjj7w83g0wklbzqdjm7m1j5nq64l4yq8bi50y2iv2"
+    }
+  },
+  {
+    "goPackagePath": "github.com/shurcooL/sanitized_anchor_name",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/shurcooL/sanitized_anchor_name",
+      "rev": "10ef21a441db47d8b13ebcc5fd2310f636973c77",
+      "sha256": "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"
+    }
+  },
+  {
+    "goPackagePath": "github.com/xenolf/lego",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/xenolf/lego",
+      "rev": "823436d61175269716a88cd6627bfa603812f10c",
+      "sha256": "1j6nkw00d09ys0p4i7k4xad1fxczg3klvnw4x48wr1zaygnpaw7q"
+    }
+  },
+  {
+    "goPackagePath": "golang.org/x/crypto",
+    "fetch": {
+      "type": "git",
+      "url": "https://go.googlesource.com/crypto",
+      "rev": "b3cc7317554b3e708b116d997899e612bab100d6",
+      "sha256": "1mcrgsvqmghhvf9z99prm15flx9l3irpm20z2zmdmhsprhc0nr5v"
+    }
+  },
+  {
+    "goPackagePath": "golang.org/x/net",
+    "fetch": {
+      "type": "git",
+      "url": "https://go.googlesource.com/net",
+      "rev": "7394c112eae4dba7e96bfcfe738e6373d61772b4",
+      "sha256": "1p8wsxnbsp2lq6hbza2n0zgv4sgpxzzjjlrmcngkhxj47kp3hin7"
+    }
+  },
+  {
+    "goPackagePath": "gopkg.in/natefinch/lumberjack.v2",
+    "fetch": {
+      "type": "git",
+      "url": "https://gopkg.in/natefinch/lumberjack.v2",
+      "rev": "514cbda263a734ae8caac038dadf05f8f3f9f738",
+      "sha256": "1v92v8vkip36l2fs6l5dpp655151hrijjc781cif658r8nf7xr82"
+    }
+  },
+  {
+    "goPackagePath": "gopkg.in/square/go-jose.v1",
+    "fetch": {
+      "type": "git",
+      "url": "https://gopkg.in/square/go-jose.v1",
+      "rev": "a3927f83df1b1516f9e9dec71839c93e6bcf1db0",
+      "sha256": "0zbsy6hbv3p0ahcf4hviyv1vnpdywyf1hdspz8l6vj897myd019f"
+    }
+  },
+  {
+    "goPackagePath": "gopkg.in/yaml.v2",
+    "fetch": {
+      "type": "git",
+      "url": "https://gopkg.in/yaml.v2",
+      "rev": "e4d366fc3c7938e2958e662b4258c7a89e1f0e3e",
+      "sha256": "1himz6569rcgn27q6sdrwvdldx45q2spgjb5cfihgb80zww8di8x"
+    }
   }
-]
+]
\ No newline at end of file
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index f898034719f..2078e2e2d42 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -1,17 +1,17 @@
 { fetchurl, stdenv, libtool, gettext, zlib, readline, gsasl
-, guile, python, pcre, libffi }:
+, guile, python, pcre, libffi, groff }:
 
 stdenv.mkDerivation rec {
-  name = "dico-2.2";
+  name = "dico-2.3";
 
   src = fetchurl {
     url = "mirror://gnu/dico/${name}.tar.xz";
-    sha256 = "04pjks075x20d19l623mj50bw64g8i41s63z4kzzqcbg9qg96x64";
+    sha256 = "13by0zimx90v2j8v7n4k9y3xwmh4q9jdc2f4f8yjs3x7f5bzm2pk";
   };
 
   # XXX: Add support for GNU SASL.
   buildInputs =
-    [ libtool gettext zlib readline gsasl guile python pcre libffi ];
+    [ libtool gettext zlib readline gsasl guile python pcre libffi groff ];
 
   # dicod fails to load modules, so the tests fail
   doCheck = false;
diff --git a/pkgs/servers/elasticmq/default.nix b/pkgs/servers/elasticmq/default.nix
index 9e0335ed441..c1216becaf3 100644
--- a/pkgs/servers/elasticmq/default.nix
+++ b/pkgs/servers/elasticmq/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       cp bin/run.sh $out/bin/elasticmq
       substituteInPlace $out/bin/elasticmq --replace '-DBASEDIR=$BASEDIR' '-DBASEDIR=''${ELASTICMQ_DATA_PREFIX:-.}'
 
-      wrapProgram $out/bin/elasticmq --prefix PATH : "${which}/bin:${jre}/bin"
+      wrapProgram $out/bin/elasticmq --prefix PATH : "${stdenv.lib.makeBinPath [ which jre ]}"
     '';
 
   meta = {
diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix
index 1cad76bbf20..71cc5865fb8 100644
--- a/pkgs/servers/emby/default.nix
+++ b/pkgs/servers/emby/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "emby-${version}";
-  version = "3.0.6030";
+  version = "3.0.6070";
 
   src = fetchurl {
     url = "https://github.com/MediaBrowser/Emby/archive/${version}.tar.gz";
-    sha256 = "14fmgb8pwj11n57c1rm002ylwqapdqywbpsv7z6skairbaf6ny09";
+    sha256 = "1szxqyr1pj90dfz9ga8ddcipzidm3ajinyp1vngzvwqcsdb7dxc5";
   };
 
   propagatedBuildInputs = with pkgs; [
diff --git a/pkgs/servers/etcd/deps.json b/pkgs/servers/etcd/deps.json
index b5977a85551..310f51963f2 100644
--- a/pkgs/servers/etcd/deps.json
+++ b/pkgs/servers/etcd/deps.json
@@ -1,9 +1,20 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/olekukonko/tablewriter",
-      "github.com/mattn/go-runewidth"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/olekukonko/tablewriter",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/olekukonko/tablewriter",
+            "rev": "cca8bbc0798408af109aaaa239cbd2634846b340",
+            "sha256": "0f9ph3z7lh6p6gihbl1461j9yq5qiaqxr9mzdkp512n18v89ml48"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-runewidth",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-runewidth",
+            "rev": "d6bea18f789704b5f83375793155289da36a3c7f",
+            "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"
+        }
+    }
 ]
diff --git a/pkgs/servers/gotty/deps.json b/pkgs/servers/gotty/deps.json
index ff0016df623..81983165dcd 100644
--- a/pkgs/servers/gotty/deps.json
+++ b/pkgs/servers/gotty/deps.json
@@ -1,15 +1,74 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/kr/pty",
-      "github.com/braintree/manners",
-      "github.com/codegangsta/cli",
-      "github.com/elazarl/go-bindata-assetfs",
-      "github.com/fatih/structs",
-      "github.com/gorilla/websocket",
-      "github.com/hashicorp/hcl",
-      "github.com/hashicorp/go-multierror"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/gorilla/websocket",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gorilla/websocket",
+            "rev": "a622679ebd7a3b813862379232f645f8e690e43f",
+            "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kr/pty",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kr/pty",
+            "rev": "67e2db24c831afa6c64fc17b4a143390674365ef",
+            "sha256": "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d"
+        }
+    },
+    {
+        "goPackagePath": "github.com/braintree/manners",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/braintree/manners",
+            "rev": "cab36f97339b1925cd89e158632728025557e550",
+            "sha256": "1q508c62iiklghkhwqz9c0zsn9hrij7kqb93gdywzj7ms7x6hlfh"
+        }
+    },
+    {
+        "goPackagePath": "github.com/codegangsta/cli",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/codegangsta/cli",
+            "rev": "71f57d300dd6a780ac1856c005c4b518cfd498ec",
+            "sha256": "1fxznirkvank5461789dm5aw5z8aqi0jvwligvz44659rfl376p3"
+        }
+    },
+    {
+        "goPackagePath": "github.com/elazarl/go-bindata-assetfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/elazarl/go-bindata-assetfs",
+            "rev": "d5cac425555ca5cf00694df246e04f05e6a55150",
+            "sha256": "636ce247ff6f85c14f38a421f46662fa77bdc29762692e1f72b3cd1f9d7a1d17"
+        }
+    },
+    {
+        "goPackagePath": "github.com/fatih/structs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/fatih/structs",
+            "rev": "a9f7daa9c2729e97450c2da2feda19130a367d8f",
+            "sha256": "0pyrc7svc826g37al3db19n5l4r2m9h1mlhjh3hz2r41xfaqia50"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/hcl",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/hcl",
+            "rev": "54864211433d45cb780682431585b3e573b49e4a",
+            "sha256": "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/go-multierror",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/go-multierror",
+            "rev": "56912fb08d85084aa318edcf2bba735b97cf35c5",
+            "sha256": "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r"
+        }
+    }
 ]
diff --git a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index 5bad8b7dc53..67648f9d4f2 100644
--- a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ apacheHttpd autoconf autoreconfHook automake curl glib lasso libtool libxml2 libxslt openssl pkgconfig xmlsec ];
 
-  configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs" "--exec-prefix=$out"];
+  configureFlags = ["--with-apxs2=${apacheHttpd.dev}/bin/apxs" "--exec-prefix=$out"];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
index 40bd37ce40b..eef935f7374 100644
--- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   preBuild = ''
     cp Makefile.AP2 Makefile
-    makeFlags="top_dir=${apacheHttpd}/share prefix=$out"
+    makeFlags="top_dir=${apacheHttpd.dev}/share prefix=$out"
   '';
 
   meta = {
diff --git a/pkgs/servers/http/redstore/default.nix b/pkgs/servers/http/redstore/default.nix
index c47449ce6bd..a4fd046e569 100644
--- a/pkgs/servers/http/redstore/default.nix
+++ b/pkgs/servers/http/redstore/default.nix
@@ -2,24 +2,28 @@
   , librdf_rasqal }:
 
 stdenv.mkDerivation rec {
-  name = "redstore-0.5.2";
+  name = "redstore-0.5.4";
 
   src = fetchurl {
     url = "http://www.aelius.com/njh/redstore/${name}.tar.gz";
-    sha256 = "fdbe499a7bbe8c8a756ecb738b83ea375e96af16a1d74245b75600d4d40adb7d";
+    sha256 = "0hc1fjfbfvggl72zqx27v4wy84f5m7bp4dnwd8g41aw8lgynbgaq";
   };
 
   buildInputs = [ gmp pkgconfig redland zlib librdf_raptor2 librdf_rasqal ];
-     
+
   preConfigure = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${librdf_raptor2}/include/raptor2"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${librdf_rasqal}/include/rasqal"
+    # Define _XOPEN_SOURCE to enable, e.g., getaddrinfo.
+    configureFlagsArray+=(
+      "CFLAGS=-D_XOPEN_SOURCE=600 -I${librdf_raptor2}/include/raptor2 -I${librdf_rasqal}/include/rasqal"
+    )
   '';
 
   meta = {
     description = "An HTTP interface to Redland RDF store";
+    homepage = https://www.aelius.com/njh/redstore/;
     maintainers = [ stdenv.lib.maintainers.raskin ];
     platforms = with stdenv.lib.platforms;
       linux ++ freebsd ++ gnu;
+    license = stdenv.lib.licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/servers/interlock/deps.json b/pkgs/servers/interlock/deps.json
index a501a3087d7..10bb3106c5c 100644
--- a/pkgs/servers/interlock/deps.json
+++ b/pkgs/servers/interlock/deps.json
@@ -1,14 +1,65 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/Sirupsen/logrus",
-      "github.com/agl/ed25519",
-      "github.com/golang/protobuf",
-      "github.com/janimo/textsecure",
-      "golang.org/x/crypto",
-      "golang.org/x/net",
-      "gopkg.in/yaml.v2"
-    ]
-  }
+    {
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/Sirupsen/logrus",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/Sirupsen/logrus",
+            "rev": "be52937128b38f1d99787bb476c789e2af1147f1",
+            "sha256": "1m6vvd4pg4lwglhk54lv5mf6cc8h7bi0d9zb3gar4crz531r66y4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/agl/ed25519",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/agl/ed25519",
+            "rev": "278e1ec8e8a6e017cd07577924d6766039146ced",
+            "sha256": "165d89cc6dl28j4hkn86pny0jz3sa6hamzdvpvwdj4iha3x6lzc9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/janimo/textsecure",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/janimo/textsecure",
+            "rev": "c38f429e48d6b2776d17b4171f216f132185b0f6",
+            "sha256": "191pwgfgphr0x04dwpvniax4wilpv52l25bw7d3igvnw302y7i94"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    }
 ]
diff --git a/pkgs/servers/mail/dspam/default.nix b/pkgs/servers/mail/dspam/default.nix
index 6f52e62aab7..0c3ed84deff 100644
--- a/pkgs/servers/mail/dspam/default.nix
+++ b/pkgs/servers/mail/dspam/default.nix
@@ -99,7 +99,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = http://dspam.nuclearelephant.com/;
+    homepage = "http://nuclearelephant.com/";
     description = "Community Driven Antispam Filter";
     license = licenses.agpl3;
     platforms = platforms.linux;
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 99371f41b0f..c4d46ff49e9 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -75,9 +75,9 @@ in stdenv.mkDerivation rec {
     cp -rv installdir/etc $out
     sed -e '/^PATH=/d' -i $out/libexec/postfix/post-install
     wrapProgram $out/libexec/postfix/post-install \
-      --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin
+      --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep ]}
     wrapProgram $out/libexec/postfix/postfix-script \
-      --prefix PATH ":" ${coreutils}/bin:${findutils}/bin:${gnugrep}/bin:${gawk}/bin:${gnused}/bin
+      --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep gawk gnused ]}
   '';
 
   meta = {
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
new file mode 100644
index 00000000000..977df396755
--- /dev/null
+++ b/pkgs/servers/mattermost/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mattermost-${version}";
+  version = "3.3.0";
+
+  src = fetchurl {
+    url = "https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz";
+    sha256 = "16mp75hv4lzkj99lj18c5vyqsmk9kqk5r81hirq41fgb6bdqx509";
+  };
+
+  installPhase = ''
+    mkdir -p $out
+    mv * $out/
+    ln -s ./platform $out/bin/mattermost-platform
+  '';
+
+  postFixup = ''
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/platform
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open-Source, self-hosted Slack-alternative";
+    homepage = "https://www.mattermost.org";
+    license = with licenses; [ agpl3 asl20 ];
+    maintainers = with maintainers; [ fpletz ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/servers/mattermost/matterircd.nix b/pkgs/servers/mattermost/matterircd.nix
new file mode 100644
index 00000000000..f3b20add96d
--- /dev/null
+++ b/pkgs/servers/mattermost/matterircd.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "matterircd-${version}";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "42wim";
+    repo = "matterircd";
+    rev = "v${version}";
+    sha256 = "1sh34vwi8ycmdsgpzqwa7gcjzb0rn46aig6n40hxy6q1lk2l6m3c";
+  };
+
+  goPackagePath = "github.com/42vim/matterircd";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Minimal IRC server bridge to Mattermost";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/mesos-dns/deps.json b/pkgs/servers/mesos-dns/deps.json
index 8ac9d705841..4df002888c4 100644
--- a/pkgs/servers/mesos-dns/deps.json
+++ b/pkgs/servers/mesos-dns/deps.json
@@ -1,18 +1,101 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/gogo/protobuf",
-      "github.com/golang/glog",
-      "github.com/mesos/mesos-go",
-      "github.com/pmezard/go-difflib",
-      "github.com/samuel/go-zookeeper",
-      "github.com/stretchr/objx",
-      "github.com/davecgh/go-spew",
-      "github.com/emicklei/go-restful",
-      "github.com/stretchr/testify",
-      "github.com/miekg/dns",
-      "golang.org/x/net"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    },
+    {
+        "goPackagePath": "github.com/miekg/dns",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/miekg/dns",
+            "rev": "7e024ce8ce18b21b475ac6baf8fa3c42536bf2fa",
+            "sha256": "0hlwb52lnnj3c6papjk9i5w5cjdw6r7c891v4xksnfvk1f9cy9kl"
+        }
+    },
+    {
+        "goPackagePath": "github.com/gogo/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gogo/protobuf",
+            "rev": "7883e1468d48d969e1c3ce4bcde89b6a7dd4adc4",
+            "sha256": "16ja7lqq96q0pnzgnbwnh0j8qzvqgns1nfk8ndxgkg4sg93bg372"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/glog",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/glog",
+            "rev": "fca8c8854093a154ff1eb580aae10276ad6b1b5f",
+            "sha256": "1nr2q0vas0a2f395f4shjxqpas18mjsf8yhgndsav7svngpbbpg8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mesos/mesos-go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mesos/mesos-go",
+            "rev": "aaa5b2fecf0e2db463f4f996c89617d6766b2969",
+            "sha256": "1pk1fpxksjln6kqvgm1igw3582jgrn14fwa8bdj5cwbpy6skjdvk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/pmezard/go-difflib",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/pmezard/go-difflib",
+            "rev": "d8ed2627bdf02c080bf22230dbb337003b7aba2d",
+            "sha256": "0w1jp4k4zbnrxh3jvh8fgbjgqpf2hg31pbj8fb32kh26px9ldpbs"
+        }
+    },
+    {
+        "goPackagePath": "github.com/samuel/go-zookeeper",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/samuel/go-zookeeper",
+            "rev": "5bb5cfc093ad18a28148c578f8632cfdb4d802e4",
+            "sha256": "1kpx1ymh7rds0b2km291idnyqi0zck74nd8hnk72crgz7wmpqv6z"
+        }
+    },
+    {
+        "goPackagePath": "github.com/stretchr/objx",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/stretchr/objx",
+            "rev": "cbeaeb16a013161a98496fad62933b1d21786672",
+            "sha256": "1xn7iibjik77h6h0jilfvcjkkzaqz45baf44p3rb2i03hbmkqkp1"
+        }
+    },
+    {
+        "goPackagePath": "github.com/davecgh/go-spew",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/davecgh/go-spew",
+            "rev": "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d",
+            "sha256": "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/emicklei/go-restful",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/emicklei/go-restful",
+            "rev": "892402ba11a2e2fd5e1295dd633481f27365f14d",
+            "sha256": "0gr9f53vayc6501a1kaw4p3h9pgf376cgxsfnr3f2dvp0xacvw8x"
+        }
+    },
+    {
+        "goPackagePath": "github.com/stretchr/testify",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/stretchr/testify",
+            "rev": "089c7181b8c728499929ff09b62d3fdd8df8adff",
+            "sha256": "03dzxkxbs298pvfsjz4kdadfaf9jkzsdhshqmg4p12wbyaj09s4p"
+        }
+    }
 ]
diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix
index a1502b4d6c4..0511c822ebe 100644
--- a/pkgs/servers/misc/taskserver/default.nix
+++ b/pkgs/servers/misc/taskserver/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
       echo wrapping $i
       makeWrapper  $pkipath/$i $out/bin/taskd-pki-$i \
-        --prefix PATH : ${gnutls}/bin/
+        --prefix PATH : ${stdenv.lib.makeBinPath [ gnutls ]}
     done
   '';
 
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 6da7d8cf85b..c7eec4b91b3 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for f in $out/lib/*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do
-      sed 's|-L${openssl}|-L${openssl.out}|g' -i $f
+      sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f
     done
   '';
 
diff --git a/pkgs/servers/monitoring/prometheus/cli_deps.json b/pkgs/servers/monitoring/prometheus/cli_deps.json
index 506263b51f2..57384dba31c 100644
--- a/pkgs/servers/monitoring/prometheus/cli_deps.json
+++ b/pkgs/servers/monitoring/prometheus/cli_deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/prometheus/client_golang"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/collectd-exporter_deps.json b/pkgs/servers/monitoring/prometheus/collectd-exporter_deps.json
index ea82d4900ff..1ff93e411f8 100644
--- a/pkgs/servers/monitoring/prometheus/collectd-exporter_deps.json
+++ b/pkgs/servers/monitoring/prometheus/collectd-exporter_deps.json
@@ -1,14 +1,65 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "github.com/prometheus/procfs",
-      "bitbucket.org/ww/goautoneg",
-      "github.com/beorn7/perks",
-      "github.com/golang/protobuf",
-      "github.com/matttproud/golang_protobuf_extensions"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/haproxy-exporter_deps.json b/pkgs/servers/monitoring/prometheus/haproxy-exporter_deps.json
index 20a46eb370c..1ff93e411f8 100644
--- a/pkgs/servers/monitoring/prometheus/haproxy-exporter_deps.json
+++ b/pkgs/servers/monitoring/prometheus/haproxy-exporter_deps.json
@@ -1,14 +1,65 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/prometheus/procfs",
-      "github.com/beorn7/perks",
-      "github.com/golang/protobuf",
-      "bitbucket.org/ww/goautoneg"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/mesos-exporter_deps.json b/pkgs/servers/monitoring/prometheus/mesos-exporter_deps.json
index c250fb0495e..a0b80e0ff14 100644
--- a/pkgs/servers/monitoring/prometheus/mesos-exporter_deps.json
+++ b/pkgs/servers/monitoring/prometheus/mesos-exporter_deps.json
@@ -1,16 +1,83 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/golang/glog",
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "github.com/antonlindstrom/mesos_stats",
-      "github.com/beorn7/perks",
-      "github.com/golang/protobuf",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/prometheus/procfs",
-      "bitbucket.org/ww/goautoneg"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/glog",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/glog",
+            "rev": "fca8c8854093a154ff1eb580aae10276ad6b1b5f",
+            "sha256": "1nr2q0vas0a2f395f4shjxqpas18mjsf8yhgndsav7svngpbbpg8"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    },
+    {
+        "goPackagePath": "github.com/antonlindstrom/mesos_stats",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/antonlindstrom/mesos_stats",
+            "rev": "0c6ea494c19bedc67ebb85ce3d187ec21050e920",
+            "sha256": "18ggyjf4nyn77gkn16wg9krp4dsphgzdgcr3mdflv6mvbr482ar4"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter_deps.json b/pkgs/servers/monitoring/prometheus/mysqld-exporter_deps.json
index 42e2f263c53..77d4c301bf8 100644
--- a/pkgs/servers/monitoring/prometheus/mysqld-exporter_deps.json
+++ b/pkgs/servers/monitoring/prometheus/mysqld-exporter_deps.json
@@ -1,15 +1,74 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/prometheus/procfs",
-      "github.com/beorn7/perks",
-      "github.com/golang/protobuf",
-      "bitbucket.org/ww/goautoneg",
-      "github.com/go-sql-driver/mysql"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    },
+    {
+        "goPackagePath": "github.com/go-sql-driver/mysql",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/go-sql-driver/mysql",
+            "rev": "fb7299726d2e68745a8805b14f2ff44b5c2cfa84",
+            "sha256": "185af0x475hq2wmm2zdvxjyslkplf8zzqijdxa937zqxq63qiw4w"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.json b/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.json
index c7a2b3d1f6c..2a86511ef99 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.json
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter_deps.json
@@ -1,16 +1,83 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/prometheus/log",
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "github.com/prometheus/procfs",
-      "github.com/Sirupsen/logrus",
-      "github.com/beorn7/perks",
-      "github.com/golang/protobuf",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "bitbucket.org/ww/goautoneg"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/Sirupsen/logrus",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/Sirupsen/logrus",
+            "rev": "be52937128b38f1d99787bb476c789e2af1147f1",
+            "sha256": "1m6vvd4pg4lwglhk54lv5mf6cc8h7bi0d9zb3gar4crz531r66y4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/log",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/log",
+            "rev": "439e5db48fbb50ebbaf2c816030473a62f505f55",
+            "sha256": "1fl23gsw2hn3c1y91qckr661sybqcw2gqnd1gllxn3hp6p2w6hxv"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/prom2json_deps.json b/pkgs/servers/monitoring/prometheus/prom2json_deps.json
index a8569d8a25f..b716d41b2c1 100644
--- a/pkgs/servers/monitoring/prometheus/prom2json_deps.json
+++ b/pkgs/servers/monitoring/prometheus/prom2json_deps.json
@@ -1,11 +1,38 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/golang/protobuf",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/pushgateway_deps.json b/pkgs/servers/monitoring/prometheus/pushgateway_deps.json
index 15e2815e0e2..c5ece41a52e 100644
--- a/pkgs/servers/monitoring/prometheus/pushgateway_deps.json
+++ b/pkgs/servers/monitoring/prometheus/pushgateway_deps.json
@@ -1,15 +1,74 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/julienschmidt/httprouter",
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "bitbucket.org/ww/goautoneg",
-      "github.com/golang/protobuf",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/prometheus/procfs",
-      "github.com/beorn7/perks"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    },
+    {
+        "goPackagePath": "github.com/julienschmidt/httprouter",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/julienschmidt/httprouter",
+            "rev": "6aacfd5ab513e34f7e64ea9627ab9670371b34e7",
+            "sha256": "00rrjysmq898qcrf2hfwfh9s70vwvmjx2kp5w03nz1krxa4zhrkl"
+        }
+    }
 ]
diff --git a/pkgs/servers/monitoring/prometheus/statsd-bridge_deps.json b/pkgs/servers/monitoring/prometheus/statsd-bridge_deps.json
index cda65257317..4c0bc142c88 100644
--- a/pkgs/servers/monitoring/prometheus/statsd-bridge_deps.json
+++ b/pkgs/servers/monitoring/prometheus/statsd-bridge_deps.json
@@ -1,15 +1,74 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/howeyc/fsnotify",
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "bitbucket.org/ww/goautoneg",
-      "github.com/beorn7/perks",
-      "github.com/golang/protobuf",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/prometheus/procfs"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    },
+    {
+        "goPackagePath": "github.com/howeyc/fsnotify",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/fsnotify/fsnotify",
+            "rev": "ea925a0a47d225b2ca7f9932b01d2ed4f3ec74f6",
+            "sha256": "15wqjpkfzsxnaxbz6y4r91hw6812g3sc4ipagxw1bya9klbnkdc9"
+        }
+    }
 ]
diff --git a/pkgs/servers/neard/default.nix b/pkgs/servers/neard/default.nix
index b96fa684bfa..665e2ee8ed5 100644
--- a/pkgs/servers/neard/default.nix
+++ b/pkgs/servers/neard/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ autoreconfHook pkgconfig systemd glib dbus libnl pythonPackages.python pythonPackages.wrapPython ];
-  pythonPath = [ pythonPackages.pygobject pythonPackages.dbus pythonPackages.pygtk ];
+  pythonPath = [ pythonPackages.pygobject pythonPackages.dbus-python pythonPackages.pygtk ];
 
   configureFlags = [ "--disable-debug" "--enable-tools" "--enable-ese" "--with-systemdsystemunitdir=$out/lib/systemd/system" ];
 
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index f0eb408cbc1..20c4d699dd4 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -11,7 +11,7 @@ buildGoPackage rec {
 
   # Generated with the `gdm2nix.rb` script and the `Godeps` file from the
   # influxdb repo root.
-  goDeps = ./deps.json;
+  goDeps = ./. + builtins.toPath "/deps-${version}.json";
 
   meta = with lib; {
     description = "An open-source distributed time series database";
diff --git a/pkgs/servers/nosql/influxdb/deps.json b/pkgs/servers/nosql/influxdb/deps-0.13.0.json
index 33388cc0fb7..33388cc0fb7 100644
--- a/pkgs/servers/nosql/influxdb/deps.json
+++ b/pkgs/servers/nosql/influxdb/deps-0.13.0.json
diff --git a/pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.json b/pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.json
new file mode 100644
index 00000000000..fe72249ea26
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/deps-1.0.0-beta3.json
@@ -0,0 +1,155 @@
+[
+  {
+    "goPackagePath": "collectd.org",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/collectd/go-collectd.git",
+      "rev": "9fc824c70f713ea0f058a07b49a4c563ef2a3b98",
+      "sha256": "0kjal6bsjpnppfnlqbg7g56xwssaj2ani499yykyj817zq56hi0w"
+    }
+  },
+  {
+    "goPackagePath": "github.com/BurntSushi/toml",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/BurntSushi/toml.git",
+      "rev": "a4eecd407cf4129fc902ece859a0114e4cf1a7f4",
+      "sha256": "1l74zvd534k2fs73gmaq4mgl48p1i9559k1gwq4vakca727z5sgf"
+    }
+  },
+  {
+    "goPackagePath": "github.com/bmizerany/pat",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/bmizerany/pat.git",
+      "rev": "b8a35001b773c267eb260a691f4e5499a3531600",
+      "sha256": "11zxd45rvjm6cn3wzbi18wy9j4vr1r1hgg6gzlqnxffiizkycxmz"
+    }
+  },
+  {
+    "goPackagePath": "github.com/boltdb/bolt",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/boltdb/bolt.git",
+      "rev": "2f846c3551b76d7710f159be840d66c3d064abbe",
+      "sha256": "0cvpcgmzlrn87jqrflwf4pciz6i25ri1r83sq7v1z9zry1ah16r5"
+    }
+  },
+  {
+    "goPackagePath": "github.com/davecgh/go-spew",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/davecgh/go-spew.git",
+      "rev": "fc32781af5e85e548d3f1abaf0fa3dbe8a72495c",
+      "sha256": "1dwwd4va0qnyr256i7n8d4g24d7yyvwd0975y6v4dy06qpwir232"
+    }
+  },
+  {
+    "goPackagePath": "github.com/dgrijalva/jwt-go",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/dgrijalva/jwt-go.git",
+      "rev": "a2c85815a77d0f951e33ba4db5ae93629a1530af",
+      "sha256": "1m7011hdr4qa400awbdagj2m5zwfbvhinq8p5hq7ysn14xpaq5vw"
+    }
+  },
+  {
+    "goPackagePath": "github.com/dgryski/go-bits",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/dgryski/go-bits.git",
+      "rev": "86c69b3c986f9d40065df5bd8f765796549eef2e",
+      "sha256": "08i3p8lcisr88gmwvi8qdc8bgksxh5ydjspgfbi4aba9msybp78b"
+    }
+  },
+  {
+    "goPackagePath": "github.com/dgryski/go-bitstream",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/dgryski/go-bitstream.git",
+      "rev": "27cd5973303fde7d914860be1ea4b927a6be0c92",
+      "sha256": "12ji4vcfy0cz12yq43cz0w1f1k4c1kg0vwpsk1iy47kc38kzdkc6"
+    }
+  },
+  {
+    "goPackagePath": "github.com/gogo/protobuf",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/gogo/protobuf.git",
+      "rev": "74b6e9deaff6ba6da1389ec97351d337f0d08b06",
+      "sha256": "0045fz4bx72rikm2ggx9j1h3yrq518299qwaizrgy5jvxzj1707b"
+    }
+  },
+  {
+    "goPackagePath": "github.com/golang/snappy",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/golang/snappy.git",
+      "rev": "5979233c5d6225d4a8e438cdd0b411888449ddab",
+      "sha256": "0i0pvwc2a4xgsns6mr3xbc6p0sra34qsaagd7yf7v1as0z7ydl3s"
+    }
+  },
+  {
+    "goPackagePath": "github.com/influxdata/usage-client",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/influxdata/usage-client.git",
+      "rev": "475977e68d79883d9c8d67131c84e4241523f452",
+      "sha256": "0yhywablqqpd2x70rax1kf7yaw1jpvrc2gks8360cwisda57d3qy"
+    }
+  },
+  {
+    "goPackagePath": "github.com/jwilder/encoding",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/jwilder/encoding.git",
+      "rev": "b421ab402545ef5a119f4f827784c6551d9bfc37",
+      "sha256": "0sjz2cl8kpni0mh0y4269k417dj06gn2y0ppi25i3wh9p4j4i4fq"
+    }
+  },
+  {
+    "goPackagePath": "github.com/kimor79/gollectd",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/kimor79/gollectd.git",
+      "rev": "61d0deeb4ffcc167b2a1baa8efd72365692811bc",
+      "sha256": "0als2v4d5hlw0sqam670p3fi471ikgl3l81bp31mf3s3jssdxwfs"
+    }
+  },
+  {
+    "goPackagePath": "github.com/paulbellamy/ratecounter",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/paulbellamy/ratecounter.git",
+      "rev": "5a11f585a31379765c190c033b6ad39956584447",
+      "sha256": "137p62imi91zhkjcjigdd64n7f9z6djjpsxcyifgrcxs41jj9ra0"
+    }
+  },
+  {
+    "goPackagePath": "github.com/peterh/liner",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/peterh/liner.git",
+      "rev": "82a939e738b0ee23e84ec7a12d8e216f4d95c53f",
+      "sha256": "1187c1rqmh9k9ap5bz3p9hbjp3ad5hysykh58kgv5clah1jbkg04"
+    }
+  },
+  {
+    "goPackagePath": "github.com/rakyll/statik",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/rakyll/statik.git",
+      "rev": "274df120e9065bdd08eb1120e0375e3dc1ae8465",
+      "sha256": "0llk7bxmk66wdiy42h32vj1jfk8zg351xq21hwhrq7gkfljghffp"
+    }
+  },
+  {
+    "goPackagePath": "golang.org/x/crypto",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/golang/crypto.git",
+      "rev": "1f22c0103821b9390939b6776727195525381532",
+      "sha256": "1acy12f396sr3lrnbcnym5q72qnlign5bagving41qijzjnc219m"
+    }
+  }
+]
\ No newline at end of file
diff --git a/pkgs/servers/nosql/influxdb/v1.nix b/pkgs/servers/nosql/influxdb/v1.nix
new file mode 100644
index 00000000000..f50d38180e9
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/v1.nix
@@ -0,0 +1,13 @@
+{ lib, buildGoPackage, fetchFromGitHub }@args:
+
+import ./default.nix (args // rec {
+  
+  version = "1.0.0-beta3";
+
+  src = fetchFromGitHub {
+    owner = "influxdata";
+    repo = "influxdb";
+    rev = "v${version}";
+    sha256 = "1hj9wl2bfd1llc11jrv8bq18wl2y9n6fl3w6052wb530j7gsivsq";
+  };
+}) 
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index f94ca52259e..75838ebbe5d 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -23,9 +23,9 @@ stdenv.mkDerivation rec {
 
     mkdir -p "$out/bin"
     makeWrapper "$out/share/neo4j/bin/neo4j" "$out/bin/neo4j" \
-        --prefix PATH : "${jre}/bin:${which}/bin:${gnused}/bin"
+        --prefix PATH : "${stdenv.lib.makeBinPath [ jre which gnused ]}"
     makeWrapper "$out/share/neo4j/bin/neo4j-shell" "$out/bin/neo4j-shell" \
-        --prefix PATH : "${jre}/bin:${which}/bin:${gnused}/bin"
+        --prefix PATH : "${stdenv.lib.makeBinPath [ jre which gnused ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/nsq/deps.json b/pkgs/servers/nsq/deps.json
index e23d3e15f66..c6a8392d919 100644
--- a/pkgs/servers/nsq/deps.json
+++ b/pkgs/servers/nsq/deps.json
@@ -1,16 +1,83 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/mreiferson/go-snappystream",
-      "github.com/bitly/go-nsq",
-      "github.com/bitly/go-simplejson",
-      "github.com/blang/semver",
-      "github.com/bmizerany/perks",
-      "github.com/BurntSushi/toml",
-      "github.com/bitly/go-hostpool",
-      "github.com/bitly/timer_metrics",
-      "github.com/mreiferson/go-options"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/mreiferson/go-snappystream",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mreiferson/go-snappystream",
+            "rev": "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504",
+            "sha256": "0jdd5whp74nvg35d9hzydsi3shnb1vrnd7shi9qz4wxap7gcrid6"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bitly/go-nsq",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bitly/go-nsq",
+            "rev": "22a8bd48c443ec23bb559675b6df8284bbbdab29",
+            "sha256": "06hrkwk84w8rshkanvfgmgbiml7n06ybv192dvibhwgk2wz2dl46"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bitly/go-simplejson",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bitly/go-simplejson",
+            "rev": "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a",
+            "sha256": "0lj9cxyncchlw6p35j0yym5q5waiz0giw6ri41qdwm8y3dghwwiy"
+        }
+    },
+    {
+        "goPackagePath": "github.com/blang/semver",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/blang/semver",
+            "rev": "9bf7bff48b0388cb75991e58c6df7d13e982f1f2",
+            "sha256": "11sinbf942dpyc9wdpidkhmqn438cfp5n8x3xqnmq9aszkld9hy7"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bmizerany/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bmizerany/perks",
+            "rev": "6cb9d9d729303ee2628580d9aec5db968da3a607",
+            "sha256": "0cdh84hmn21is6hvv6dy9qjdcg9w3l2k8avlk0881a8cqm09s90j"
+        }
+    },
+    {
+        "goPackagePath": "github.com/BurntSushi/toml",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/BurntSushi/toml",
+            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
+            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bitly/go-hostpool",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bitly/go-hostpool",
+            "rev": "d0e59c22a56e8dadfed24f74f452cea5a52722d2",
+            "sha256": "14ph12krn5zlg00vh9g6g08lkfjxnpw46nzadrfb718yl1hgyk3g"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bitly/timer_metrics",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bitly/timer_metrics",
+            "rev": "afad1794bb13e2a094720aeb27c088aa64564895",
+            "sha256": "1b717vkwj63qb5kan4b92kx4rg6253l5mdb3lxpxrspy56a6rl0c"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mreiferson/go-options",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mreiferson/go-options",
+            "rev": "7c174072188d0cfbe6f01bb457626abb22bdff52",
+            "sha256": "0ksyi2cb4k6r2fxamljg42qbz5hdcb9kv5i7y6cx4ajjy0xznwgm"
+        }
+    }
 ]
diff --git a/pkgs/servers/oauth2_proxy/deps.json b/pkgs/servers/oauth2_proxy/deps.json
index ac8ac3d8ca2..56f27b6b4e5 100644
--- a/pkgs/servers/oauth2_proxy/deps.json
+++ b/pkgs/servers/oauth2_proxy/deps.json
@@ -1,16 +1,83 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "google.golang.org/api",
-      "google.golang.org/cloud",
-      "golang.org/x/oauth2",
-      "github.com/18F/hmacauth",
-      "github.com/mreiferson/go-options",
-      "github.com/BurntSushi/toml",
-      "github.com/bitly/go-simplejson",
-      "golang.org/x/net",
-      "gopkg.in/fsnotify.v1"
-    ]
-  }
+    {
+        "goPackagePath": "gopkg.in/fsnotify.v1",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/fsnotify.v1",
+            "rev": "96c060f6a6b7e0d6f75fddd10efeaca3e5d1bcb0",
+            "sha256": "1308z1by82fbymcra26wjzw7lpjy91kbpp2skmwqcq4q1iwwzvk2"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/net",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/net",
+            "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4",
+            "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"
+        }
+    },
+    {
+        "goPackagePath": "github.com/bitly/go-simplejson",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/bitly/go-simplejson",
+            "rev": "18db6e68d8fd9cbf2e8ebe4c81a78b96fd9bf05a",
+            "sha256": "0lj9cxyncchlw6p35j0yym5q5waiz0giw6ri41qdwm8y3dghwwiy"
+        }
+    },
+    {
+        "goPackagePath": "github.com/BurntSushi/toml",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/BurntSushi/toml",
+            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
+            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mreiferson/go-options",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mreiferson/go-options",
+            "rev": "7c174072188d0cfbe6f01bb457626abb22bdff52",
+            "sha256": "0ksyi2cb4k6r2fxamljg42qbz5hdcb9kv5i7y6cx4ajjy0xznwgm"
+        }
+    },
+    {
+        "goPackagePath": "google.golang.org/api",
+        "fetch": {
+            "type": "git",
+            "url": "https://code.googlesource.com/google-api-go-client",
+            "rev": "a5c3e2a4792aff40e59840d9ecdff0542a202a80",
+            "sha256": "1kigddnbyrl9ddpj5rs8njvf1ck54ipi4q1282k0d6b3am5qfbj8"
+        }
+    },
+    {
+        "goPackagePath": "google.golang.org/cloud",
+        "fetch": {
+            "type": "git",
+            "url": "https://code.googlesource.com/gocloud",
+            "rev": "6335269abf9002cf5a84613c13cda6010842b834",
+            "sha256": "15xrqxna5ms0r634k3bfzyymn431dvqcjwbsap8ay60x371kzbwf"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/oauth2",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/oauth2",
+            "rev": "397fe7649477ff2e8ced8fc0b2696f781e53745a",
+            "sha256": "0fza0l7iwh6llkq2yzqn7dxi138vab0da64lnghfj1p71fprjzn8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/18F/hmacauth",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/18F/hmacauth",
+            "rev": "9232a6386b737d7d1e5c1c6e817aa48d5d8ee7cd",
+            "sha256": "056mcqrf2bv0g9gn2ixv19srk613h4sasl99w9375mpvmadb3pz1"
+        }
+    }
 ]
diff --git a/pkgs/servers/openpts/default.nix b/pkgs/servers/openpts/default.nix
index 7d82af72b55..b1f33ff99cf 100644
--- a/pkgs/servers/openpts/default.nix
+++ b/pkgs/servers/openpts/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-tss" "--with-aru" "--with-tboot" "--enable-tnc" "--with-aide" ];
 
-  NIX_CFLAGS_COMPILE = "-I${trousers}/include/trousers -I${trousers}/include/tss";
+  NIX_CFLAGS_COMPILE = "-I${trousers}/include/trousers -I${trousers}/include/tss -Wno-deprecated-declarations";
 
   preInstall = ''
     mkdir -p $out
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     description = "TCG Platform Trust Service (PTS)";
     homepage = "ttp://sourceforge.jp/projects/openpts";
     license = stdenv.lib.licenses.cpl10;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ tstrobel ];
   };
 }
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 7cb2c5a0c38..ba2e1447ffe 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
     description = "ONC RPC portmapper";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    homepage = http://sourceforge.net/projects/rpcbind/;
+    homepage = "http://sourceforge.net/projects/rpcbind/";
     maintainers = with maintainers; [ abbradar ];
     longDescription = ''
       Universal addresses to RPC program number mapper.
diff --git a/pkgs/servers/serf/deps.json b/pkgs/servers/serf/deps.json
index 3f13d068479..ffd872c6287 100644
--- a/pkgs/servers/serf/deps.json
+++ b/pkgs/servers/serf/deps.json
@@ -1,23 +1,137 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/armon/go-metrics",
-      "github.com/mattn/go-isatty",
-      "github.com/hashicorp/logutils",
-      "github.com/armon/go-radix",
-      "github.com/bgentry/speakeasy",
-      "github.com/hashicorp/go-syslog",
-      "github.com/hashicorp/memberlist",
-      "github.com/mitchellh/mapstructure",
-      "github.com/armon/circbuf",
-      "github.com/hashicorp/go-msgpack",
-      "github.com/hashicorp/go.net",
-      "github.com/hashicorp/mdns",
-      "github.com/mitchellh/cli",
-      "github.com/ryanuber/columnize",
-      "github.com/miekg/dns",
-      "golang.org/x/crypto"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/miekg/dns",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/miekg/dns",
+            "rev": "7e024ce8ce18b21b475ac6baf8fa3c42536bf2fa",
+            "sha256": "0hlwb52lnnj3c6papjk9i5w5cjdw6r7c891v4xksnfvk1f9cy9kl"
+        }
+    },
+    {
+        "goPackagePath": "github.com/armon/go-metrics",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/armon/go-metrics",
+            "rev": "b2d95e5291cdbc26997d1301a5e467ecbb240e25",
+            "sha256": "1jvdf98jlbyzbb9w159nifvv8fihrcs66drnl8pilqdjpmkmyyck"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-isatty",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-isatty",
+            "rev": "ae0b1f8f8004be68d791a576e3d8e7648ab41449",
+            "sha256": "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/logutils",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/logutils",
+            "rev": "0dc08b1671f34c4250ce212759ebd880f743d883",
+            "sha256": "0rynhjwvacv9ibl2k4fwz0xy71d583ac4p33gm20k9yldqnznc7r"
+        }
+    },
+    {
+        "goPackagePath": "github.com/armon/go-radix",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/armon/go-radix",
+            "rev": "fbd82e84e2b13651f3abc5ffd26b65ba71bc8f93",
+            "sha256": "16y64r1v054c2ln0bi5mrqq1cmvy6d6pnxk1glb8lw2g31ksa80c"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/go-syslog",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/go-syslog",
+            "rev": "42a2b573b664dbf281bd48c3cc12c086b17a39ba",
+            "sha256": "1j53m2wjyczm9m55znfycdvm4c8vfniqgk93dvzwy8vpj5gm6sb3"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/memberlist",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/memberlist",
+            "rev": "6025015f2dc659ca2c735112d37e753bda6e329d",
+            "sha256": "01s2gwnbgvwz4wshz9d4za0p12ji4fnapnlmz3jwfcmcwjpyqfb7"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mitchellh/mapstructure",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mitchellh/mapstructure",
+            "rev": "281073eb9eb092240d33ef253c404f1cca550309",
+            "sha256": "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh"
+        }
+    },
+    {
+        "goPackagePath": "github.com/armon/circbuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/armon/circbuf",
+            "rev": "f092b4f207b6e5cce0569056fba9e1a2735cb6cf",
+            "sha256": "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/mdns",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/mdns",
+            "rev": "2b439d37011456df8ff83a70ffd1cd6046410113",
+            "sha256": "17zwk212zmyramnjylpvvrvbbsz0qb5crkhly6yiqkyll3qzpb96"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mitchellh/cli",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mitchellh/cli",
+            "rev": "8102d0ed5ea2709ade1243798785888175f6e415",
+            "sha256": "08mj1l94pww72jy34gk9a483hpic0rrackskfw13r3ycy997w7m2"
+        }
+    },
+    {
+        "goPackagePath": "github.com/ryanuber/columnize",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/ryanuber/columnize",
+            "rev": "44cb4788b2ec3c3d158dd3d1b50aba7d66f4b59a",
+            "sha256": "1qrqr76cw58x2hkjic6h88na5ihgvkmp8mqapj8kmjcjzdxkzhr9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/go-msgpack",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/ugorji/go",
+            "rev": "03e33114d4d60a1f37150325e15f51b0fa6fc4f6",
+            "sha256": "01kdzgx23cgb4k867m1pvsw14hhdr9jf2frqy6i4j4221055m57v"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hashicorp/go.net",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hashicorp/go.net",
+            "rev": "104dcad90073cd8d1e6828b2af19185b60cf3e29",
+            "sha256": "0pfi09h4q6w2x833qxr8r609ml4kw1flqm265j752sb08sbf3zwf"
+        }
+    }
 ]
diff --git a/pkgs/servers/skydns/deps.json b/pkgs/servers/skydns/deps.json
index 446f60f3279..5706ab2fc95 100644
--- a/pkgs/servers/skydns/deps.json
+++ b/pkgs/servers/skydns/deps.json
@@ -1,21 +1,128 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/miekg/dns",
-      "github.com/prometheus/client_golang",
-      "github.com/prometheus/client_model",
-      "bitbucket.org/ww/goautoneg",
-      "github.com/prometheus/common",
-      "github.com/prometheus/procfs",
-      "github.com/coreos/go-systemd",
-      "github.com/matttproud/golang_protobuf_extensions",
-      "github.com/ugorji/go",
-      "github.com/golang/protobuf",
-      "github.com/stathat/go",
-      "github.com/beorn7/perks",
-      "github.com/coreos/go-etcd",
-      "github.com/rcrowley/go-metrics"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/coreos/go-systemd",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/coreos/go-systemd",
+            "rev": "a606a1e936df81b70d85448221c7b1c6d8a74ef1",
+            "sha256": "0fhan564swp982dnzzspb6jzfdl453489c0qavh65g3shy5x8x28"
+        }
+    },
+    {
+        "goPackagePath": "github.com/rcrowley/go-metrics",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/rcrowley/go-metrics",
+            "rev": "1ce93efbc8f9c568886b2ef85ce305b2217b3de3",
+            "sha256": "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_model",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_model",
+            "rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6",
+            "sha256": "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/common",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/common",
+            "rev": "40456948a47496dc22168e6af39297a2f8fbf38c",
+            "sha256": "15700w18pifng0l2isa6v25y91r5rb7yfgljqw2g2gqrvac6sr5l"
+        }
+    },
+    {
+        "goPackagePath": "github.com/beorn7/perks",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/beorn7/perks",
+            "rev": "b965b613227fddccbfffe13eae360ed3fa822f8d",
+            "sha256": "1p8zsj4r0g61q922khfxpwxhdma2dx4xad1m5qx43mfn28kxngqk"
+        }
+    },
+    {
+        "goPackagePath": "github.com/coreos/go-etcd",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/coreos/go-etcd",
+            "rev": "9847b93751a5fbaf227b893d172cee0104ac6427",
+            "sha256": "1ihq01ayqzxvn6hca5j00vl189vi5lm78f0fy2wpk5mrm3xi01l4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/matttproud/golang_protobuf_extensions",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/matttproud/golang_protobuf_extensions",
+            "rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a",
+            "sha256": "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/client_golang",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/client_golang",
+            "rev": "6dbab8106ed3ed77359ac85d9cf08e30290df864",
+            "sha256": "1i3g5h2ncdb8b67742kfpid7d0a1jas1pyicglbglwngfmzhpkna"
+        }
+    },
+    {
+        "goPackagePath": "github.com/stathat/go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/stathat/go",
+            "rev": "91dfa3a59c5b233fef9a346a1460f6e2bc889d93",
+            "sha256": "105ql5v8r4hqcsq0ag7asdxqg9n7rvf83y1q1dj2nfjyn4manv6r"
+        }
+    },
+    {
+        "goPackagePath": "github.com/ugorji/go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/ugorji/go",
+            "rev": "03e33114d4d60a1f37150325e15f51b0fa6fc4f6",
+            "sha256": "01kdzgx23cgb4k867m1pvsw14hhdr9jf2frqy6i4j4221055m57v"
+        }
+    },
+    {
+        "goPackagePath": "github.com/miekg/dns",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/miekg/dns",
+            "rev": "7e024ce8ce18b21b475ac6baf8fa3c42536bf2fa",
+            "sha256": "0hlwb52lnnj3c6papjk9i5w5cjdw6r7c891v4xksnfvk1f9cy9kl"
+        }
+    },
+    {
+        "goPackagePath": "github.com/prometheus/procfs",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/prometheus/procfs",
+            "rev": "c91d8eefde16bd047416409eb56353ea84a186e4",
+            "sha256": "0pj3gzw9b58l72w0rkpn03ayssglmqfmyxghhfad6mh0b49dvj3r"
+        }
+    },
+    {
+        "goPackagePath": "bitbucket.org/ww/goautoneg",
+        "fetch": {
+            "type": "hg",
+            "url": "bitbucket.org/ww/goautoneg",
+            "rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675",
+            "sha256": "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi"
+        }
+    }
 ]
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 1d3b4e92cce..97b7a90892a 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -49,6 +49,16 @@ common = rec { # attributes common to both builds
     "-DWITH_ZLIB=system"
     "-DWITH_SSL=system"
     "-DWITH_PCRE=system"
+
+    # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but
+    # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides
+    # to pass in java explicitly. This should have no effect on Linux.
+    "-DCONNECT_WITH_JDBC=OFF"
+
+    # Same as above. Somehow on Darwin CMake decides that we support GSS even though we aren't provding the
+    # library through Nix, and then breaks later on. This should have no effect on Linux.
+    "-DPLUGIN_AUTH_GSSAPI=NO"
+    "-DPLUGIN_AUTH_GSSAPI_CLIENT=NO"
   ]
     ++ optional stdenv.isDarwin "-DCURSES_LIBRARY=${ncurses.out}/lib/libncurses.dylib"
     ;
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index baeb3042735..b58ca5f44b9 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -74,33 +74,33 @@ let
 in {
 
   postgresql91 = common {
-    version = "9.1.21";
+    version = "9.1.23";
     psqlSchema = "9.1";
-    sha256 = "14xkvv7ph7yh399wppqpil9lgh1vw53nyg5ynk5a8j9idw3yjvnn";
+    sha256 = "1mgnfm65fspkq62skfy48rjkprnxcfhydw0x3ipp4sdkngl72x3z";
   };
 
   postgresql92 = common {
-    version = "9.2.16";
+    version = "9.2.18";
     psqlSchema = "9.2";
-    sha256 = "048vfkq58kkhcrw5vj4vplgvxia1k0lrbhbi30b2iy3bf2w4q5nj";
+    sha256 = "1x1mxbwqvgj9s4y8pb4vv6fmmr36z5zl3b2ggb84ckdfhvakganp";
   };
 
   postgresql93 = common {
-    version = "9.3.12";
+    version = "9.3.14";
     psqlSchema = "9.3";
-    sha256 = "0rrf24mw68lwxjjnbbaayizhhcylwnr7ij5d60vpzl467yi9wczk";
+    sha256 = "1783kl0abf9az90mvs08pdh63d33cv2njc1q515zz89bqkqj4hsw";
   };
 
   postgresql94 = common {
-    version = "9.4.7";
+    version = "9.4.9";
     psqlSchema = "9.4";
-    sha256 = "1q41bwwa4x1ff2qzlrsfia25ys5gfrihbqwib1z6j3mk6mn5wyfc";
+    sha256 = "1jg1l6vrfwhfyqrx07bgcpqxb5zcp8zwm8qd2vcj0k11j0pac861";
   };
 
   postgresql95 = common {
-    version = "9.5.3";
+    version = "9.5.4";
     psqlSchema = "9.5";
-    sha256 = "1d500d2qsdzysnis6qi84xchnz5xh8kx8sjfmkbsijwaqlfw11bk";
+    sha256 = "1l3fqxlpxgl6nrcd4h6lpi2hsiv56yg83n3xrn704rmdch8mfpng";
   };
 
 
diff --git a/pkgs/servers/uftp/default.nix b/pkgs/servers/uftp/default.nix
new file mode 100644
index 00000000000..32dcb98b20e
--- /dev/null
+++ b/pkgs/servers/uftp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "uftp-${version}";
+  version = "4.9.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/uftp-multicast/source-tar/uftp-${version}.tar.gz";
+    sha256 = "0pra2sm8rdscyqkagi2v99az1vxbcch47wkdnz9wv4qg1x5phpmr";
+  };
+
+  buildInputs = [
+    openssl
+  ];
+
+  outputs = [ "out" "doc" ];
+
+  patchPhase = ''
+    substituteInPlace makefile --replace gcc cc
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $doc/share/man/man1
+    cp {uftp,uftpd,uftp_keymgt,uftpproxyd} $out/bin/
+    cp {uftp.1,uftpd.1,uftp_keymgt.1,uftpproxyd.1} $doc/share/man/man1
+  '';
+
+  meta = {
+    description = "Encrypted UDP based FTP with multicast";
+    homepage = http://uftp-multicast.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.fadenb ];
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index 3bec62ebe03..dd6eeff616f 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_LINK = [ "-lsystemd" ];
 
   meta = with stdenv.lib; {
-    homepage = http://uwsgi-docs.readthedocs.org/en/latest/;
+    homepage = "http://uwsgi-docs.readthedocs.org/en/latest/";
     description = "A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C";
     license = licenses.gpl2;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 4a2ac2469d8..da74fcb4ca6 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1678,6 +1678,17 @@ let
     meta.platforms = stdenv.lib.platforms.unix;
   }) // {inherit ;};
 
+  xf86videoamdgpu = (mkDerivation "xf86videoamdgpu" {
+    name = "xf86-video-amdgpu-1.1.0";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/driver/xf86-video-amdgpu-1.1.0.tar.bz2;
+      sha256 = "0cbrqpmi1hgbsi0i93v0yp7lv3wf4s0vbdlrj19cxmglv7gd1xb9";
+    };
+    buildInputs = [pkgconfig fontsproto mesa libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
+    meta.platforms = stdenv.lib.platforms.unix;
+  }) // {inherit fontsproto mesa libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+
   xf86videoark = (mkDerivation "xf86videoark" {
     name = "xf86-video-ark-0.7.5";
     builder = ./builder.sh;
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index c6f28bcb645..ebd09e3096e 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -323,6 +323,10 @@ in
     ];
   };
 
+  xf86videoamdgpu = attrs: attrs // {
+    configureFlags = [ "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" ];
+  };
+
   xf86videoati = attrs: attrs // {
     NIX_CFLAGS_COMPILE = "-I${xorg.xorgserver}/include/xorg";
   };
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 3dae9846335..8a512144fdc 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -127,6 +127,7 @@ mirror://xorg/individual/driver/xf86-input-mouse-1.9.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.8.3.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2
+mirror://xorg/individual/driver/xf86-video-amdgpu-1.1.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ati-7.7.0.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xcb-util-xrm.nix b/pkgs/servers/x11/xorg/xcb-util-xrm.nix
new file mode 100644
index 00000000000..9eb8add6856
--- /dev/null
+++ b/pkgs/servers/x11/xorg/xcb-util-xrm.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, m4, libxcb, xcbutil, libX11 }:
+
+stdenv.mkDerivation rec {
+  version = "1.0";
+  name = "xcb-util-xrm-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Airblader/xcb-util-xrm/releases/download/v${version}/${name}.tar.bz2";
+    sha256 = "1h5vxwpd37dqfw9yj1l4zd9c5dj30r3g0szgysr6kd7xrqgaq04l";
+  };
+
+  buildInputs = [ pkgconfig m4 libxcb xcbutil ]
+    ++ stdenv.lib.optional doCheck [ libX11 ];
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "XCB utility functions for the X resource manager";
+    homepage = https://github.com/Airblader/xcb-util-xrm;
+    license = licenses.mit; # X11 variant
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index b830567e303..7fc2a5f7143 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -23,12 +23,12 @@ let
   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
 
 in stdenv.mkDerivation rec {
-  version = "16.04";
+  version = "16.08";
   name = "ejabberd-${version}";
 
   src = fetchurl {
     url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
-    sha256 = "1hrcswk03x5x6f6xy8sac4ihhi6jcmsfp6449k3570j39vklz5ix";
+    sha256 = "0dqikg0xgph8xjvaxc9r6cyq7k7c8l5jiqr3kyhricziyak9hmdl";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -48,7 +48,7 @@ in stdenv.mkDerivation rec {
 
     inherit src;
 
-    configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite}" ];
+    configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite.dev}" ];
 
     buildInputs = [ git erlang openssl expat libyaml sqlite pam zlib elixir ];
 
@@ -74,7 +74,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "08s1j0xa65xkrqw810wzgssngs67sz722jsvj7p02v4ra8jcl31f";
+    outputHash = "040l336570lwxsvlli7kqaa18pz92jbf9105mx394ib62z72vvlp";
   };
 
   configureFlags =
@@ -95,6 +95,7 @@ in stdenv.mkDerivation rec {
   preBuild = ''
     cp -r $deps deps
     chmod -R +w deps
+    patchShebangs deps
   '';
 
   postInstall = ''
diff --git a/pkgs/shells/elvish/deps.json b/pkgs/shells/elvish/deps.json
index 827614a4268..d1a4ceebe99 100644
--- a/pkgs/shells/elvish/deps.json
+++ b/pkgs/shells/elvish/deps.json
@@ -1,9 +1,20 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/mattn/go-sqlite3",
-      "github.com/elves/getopt"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/elves/getopt",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/elves/getopt",
+            "rev": "f91a7bf920995832d55a1182f26657bc975b9c24",
+            "sha256": "0wz5dz0iq1b1c2w30mmcgll9xidsrnlvs2906jw9szy0h67310za"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-sqlite3",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-sqlite3",
+            "rev": "b4142c444a8941d0d92b0b7103a24df9cd815e42",
+            "sha256": "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla"
+        }
+    }
 ]
diff --git a/pkgs/shells/oh/deps.json b/pkgs/shells/oh/deps.json
index a0e67ed42dc..5aabd0e6dba 100644
--- a/pkgs/shells/oh/deps.json
+++ b/pkgs/shells/oh/deps.json
@@ -1,10 +1,29 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/michaelmacinnis/adapted",
-      "github.com/peterh/liner",
-      "golang.org/x/sys"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/sys",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/sys",
+            "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f",
+            "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"
+        }
+    },
+    {
+        "goPackagePath": "github.com/michaelmacinnis/adapted",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/michaelmacinnis/adapted",
+            "rev": "0dd5fa34d6f9d74c7c0deed1fc224f9a87e02978",
+            "sha256": "16n3a87m33pqx4qih713q3gw2j6ksj1q3ngjax6bpn5b11rqvikv"
+        }
+    },
+    {
+        "goPackagePath": "github.com/peterh/liner",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/peterh/liner",
+            "rev": "ad1edfd30321d8f006ccf05f1e0524adeb943060",
+            "sha256": "0c24d9j1gnq7r982h1l2isp3d37379qw155hr8ihx9i2mhpfz317"
+        }
+    }
 ]
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index deefb6bbad2..0216acee659 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -2,7 +2,9 @@
 
 with import ../../.. { inherit system; };
 
-rec {
+let
+  llvmPackages = llvmPackages_38;
+in rec {
   coreutils_ = coreutils.override (args: {
     # We want coreutils without ACL support.
     aclSupport = false;
@@ -79,11 +81,11 @@ rec {
 
       cp -rL ${llvmPackages.clang-unwrapped}/lib/clang $out/lib
 
-      cp -d ${libcxx}/lib/libc++*.dylib $out/lib
-      cp -d ${libcxxabi}/lib/libc++abi*.dylib $out/lib
+      cp -d ${llvmPackages.libcxx}/lib/libc++*.dylib $out/lib
+      cp -d ${llvmPackages.libcxxabi}/lib/libc++abi*.dylib $out/lib
 
       mkdir $out/include
-      cp -rd ${libcxx}/include/c++     $out/include
+      cp -rd ${llvmPackages.libcxx}/include/c++     $out/include
 
       cp -d ${icu.out}/lib/libicu*.dylib $out/lib
       cp -d ${zlib.out}/lib/libz.*       $out/lib
diff --git a/pkgs/tools/X11/go-sct/deps.json b/pkgs/tools/X11/go-sct/deps.json
index 7a7ce4989d3..227db99338e 100644
--- a/pkgs/tools/X11/go-sct/deps.json
+++ b/pkgs/tools/X11/go-sct/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/cpucycle/astrotime"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/cpucycle/astrotime",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/cpucycle/astrotime",
+            "rev": "9c7d514efdb561775030eaf8f1a9ae6bddb3a2ca",
+            "sha256": "024sc7g55v4s54irssm5wsn74sr2k2ynsm6z16w47q66cxhgvby1"
+        }
+    }
 ]
diff --git a/pkgs/tools/X11/primus/lib.nix b/pkgs/tools/X11/primus/lib.nix
index 2ecf91edba5..fccd01eaead 100644
--- a/pkgs/tools/X11/primus/lib.nix
+++ b/pkgs/tools/X11/primus/lib.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation {
-  name = "primus-lib-20151204";
+  name = "primus-lib-2015-04-28";
 
   src = fetchFromGitHub {
     owner = "amonakov";
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Low-overhead client-side GPU offloading";
-    homepage = https://github.com/amonakov/primus;
+    homepage = "https://github.com/amonakov/primus";
     platforms = platforms.linux;
     license = licenses.bsd2;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/tools/X11/virtualgl/lib.nix b/pkgs/tools/X11/virtualgl/lib.nix
index 6b93c6432c3..5707679c03c 100644
--- a/pkgs/tools/X11/virtualgl/lib.nix
+++ b/pkgs/tools/X11/virtualgl/lib.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://www.virtualgl.org/;
+    homepage = "http://www.virtualgl.org/";
     description = "X11 GL rendering in a remote computer with full 3D hw acceleration";
     license = licenses.free; # many parts under different free licenses
     platforms = platforms.linux;
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index d75e3a16313..1e5cc846513 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages
-, python, cython, pkgconfig
-, xorg, gtk, glib, pango, cairo, gdk_pixbuf, atk, pycairo
+{ stdenv, fetchurl, pythonPackages, pkgconfig
+, xorg, gtk, glib, pango, cairo, gdk_pixbuf, atk
 , makeWrapper, xkbcomp, xorgserver, getopt, xauth, utillinux, which, fontsConf, xkeyboard_config
 , ffmpeg, x264, libvpx, libwebp
 , libfakeXinerama }:
 
-buildPythonApplication rec {
+let
+  inherit (pythonPackages) python cython buildPythonApplication;
+in buildPythonApplication rec {
   name = "xpra-0.17.4";
   namePrefix = "";
   src = fetchurl {
@@ -29,7 +30,7 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with pythonPackages; [
-    pillow pygtk pygobject rencode pycrypto cryptography pycups lz4 dbus
+    pillow pygtk pygobject rencode pycrypto cryptography pycups lz4 dbus-python
   ];
 
   preBuild = ''
@@ -50,7 +51,7 @@ buildPythonApplication rec {
       --set XPRA_LOG_DIR "\$HOME/.xpra" \
       --set XPRA_INSTALL_PREFIX "$out" \
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
   '';
 
   preCheck = "exit 0";
@@ -59,7 +60,7 @@ buildPythonApplication rec {
   #postFixup = ''
   #  sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra
   #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra
+  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
   #'';
 
 
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
index f30c0751c3f..aece94234a8 100644
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ b/pkgs/tools/X11/xpra/gtk3.nix
@@ -54,7 +54,7 @@ buildPythonApplication rec {
       --set XKB_BINDIR "${xkbcomp}/bin" \
       --set FONTCONFIG_FILE "${fontsConf}" \
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
   '';
 
   preCheck = "exit 0";
@@ -64,7 +64,7 @@ buildPythonApplication rec {
   #postFixup = ''
   #  sed -i '2iexport XKB_BINDIR="${xkbcomp}/bin"' $out/bin/xpra
   #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${getopt}/bin:${xorgserver.out}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin\${PATH:+:}\$PATH' $out/bin/xpra
+  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
   #'';
 
 
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 657d08026e4..9ef9755d6bc 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, gobjectIntrospection
 , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
 , libffi, cyrus_sasl, intltool, perl, perlPackages, libpulseaudio
-, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt, gtk3, vala
+, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt, gtk3, vala_0_23
 , pygobject3, libogg, enableGTK3 ? false, libgpgerror }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     python gnutls cairo libtool pkgconfig glib libffi libgcrypt
     intltool cyrus_sasl libpulseaudio perl perlPackages.TextCSV
     gobjectIntrospection libogg libgpgerror
-  ] ++ (if enableGTK3 then [ gtk3 vala pygobject3 ] else [ gtk pygtk pygobject ]);
+  ] ++ (if enableGTK3 then [ gtk3 vala_0_23 pygobject3 ] else [ gtk pygtk pygobject ]);
 
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   configureFlags = [
diff --git a/pkgs/tools/admin/lxd/deps.json b/pkgs/tools/admin/lxd/deps.json
index 3e9a811acce..1a0e2d3245f 100644
--- a/pkgs/tools/admin/lxd/deps.json
+++ b/pkgs/tools/admin/lxd/deps.json
@@ -1,26 +1,173 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/golang/protobuf",
-      "github.com/gorilla/websocket",
-      "github.com/syndtr/gocapability",
-      "gopkg.in/inconshreveable/log15.v2",
-      "github.com/gorilla/mux",
-      "github.com/pborman/uuid",
-      "golang.org/x/crypto",
-      "gopkg.in/flosch/pongo2.v3",
-      "gopkg.in/tomb.v2",
-      "github.com/olekukonko/tablewriter",
-      "github.com/mattn/go-sqlite3",
-      "gopkg.in/lxc/go-lxc.v2",
-      "gopkg.in/yaml.v2",
-      "github.com/mattn/go-runewidth",
-      "github.com/coreos/go-systemd",
-      "github.com/dustinkirkland/golang-petname",
-      "github.com/gorilla/context",
-      "github.com/mattn/go-colorable",
-      "github.com/gosexy/gettext"
-    ]
-  }
+    {
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/tomb.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/tomb.v2",
+            "rev": "14b3d72120e8d10ea6e6b7f87f7175734b1faab8",
+            "sha256": "1nza31jvkpka5431c4bdbirvjdy36b1b55sbzljqhqih25jrcjx5"
+        }
+    },
+    {
+        "goPackagePath": "github.com/gorilla/websocket",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gorilla/websocket",
+            "rev": "a622679ebd7a3b813862379232f645f8e690e43f",
+            "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"
+        }
+    },
+    {
+        "goPackagePath": "github.com/syndtr/gocapability",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/syndtr/gocapability",
+            "rev": "2c00daeb6c3b45114c80ac44119e7b8801fdd852",
+            "sha256": "1x7jdcg2r5pakjf20q7bdiidfmv7vcjiyg682186rkp2wz0yws0l"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/inconshreveable/log15.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/inconshreveable/log15.v2",
+            "rev": "b105bd37f74e5d9dc7b6ad7806715c7a2b83fd3f",
+            "sha256": "18rldvi60i7b3lljfrsqgcc24gdkw2pcixxydznyggaqhh96l6a8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/gorilla/mux",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gorilla/mux",
+            "rev": "8096f47503459bcc74d1f4c487b7e6e42e5746b5",
+            "sha256": "0163fm9jsh54df471mx9kfhdg0070klqhw9ja0qwdzqibxq791b9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/pborman/uuid",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/pborman/uuid",
+            "rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4",
+            "sha256": "0rcx669bbjkkwdlw81spnra4ffgzd4rbpywnrj3w41m9vq6mk1gn"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/flosch/pongo2.v3",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/flosch/pongo2.v3",
+            "rev": "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9",
+            "sha256": "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/olekukonko/tablewriter",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/olekukonko/tablewriter",
+            "rev": "cca8bbc0798408af109aaaa239cbd2634846b340",
+            "sha256": "0f9ph3z7lh6p6gihbl1461j9yq5qiaqxr9mzdkp512n18v89ml48"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-sqlite3",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-sqlite3",
+            "rev": "b4142c444a8941d0d92b0b7103a24df9cd815e42",
+            "sha256": "0xq2y4am8dz9w9aaq24s1npg1sn8pf2gn4nki73ylz2fpjwq9vla"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/lxc/go-lxc.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/lxc/go-lxc.v2",
+            "rev": "8f9e220b36393c03854c2d224c5a55644b13e205",
+            "sha256": "1dc1n2561k3pxbm2zzh3qwlh30bcb2k9v22ghvr7ps2j9lmhs0ip"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-runewidth",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-runewidth",
+            "rev": "d6bea18f789704b5f83375793155289da36a3c7f",
+            "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"
+        }
+    },
+    {
+        "goPackagePath": "github.com/coreos/go-systemd",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/coreos/go-systemd",
+            "rev": "a606a1e936df81b70d85448221c7b1c6d8a74ef1",
+            "sha256": "0fhan564swp982dnzzspb6jzfdl453489c0qavh65g3shy5x8x28"
+        }
+    },
+    {
+        "goPackagePath": "github.com/dustinkirkland/golang-petname",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/dustinkirkland/golang-petname",
+            "rev": "2182cecef7f257230fc998bc351a08a5505f5e6c",
+            "sha256": "1xagj34y5rxl7rykhil8iqxlls9rbgcxgdvgfp7kg39pinw83arl"
+        }
+    },
+    {
+        "goPackagePath": "github.com/gorilla/context",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gorilla/context",
+            "rev": "215affda49addc4c8ef7e2534915df2c8c35c6cd",
+            "sha256": "1ybvjknncyx1f112mv28870n0l7yrymsr0861vzw10gc4yn1h97g"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mattn/go-colorable",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mattn/go-colorable",
+            "rev": "3dac7b4f76f6e17fb39b768b89e3783d16e237fe",
+            "sha256": "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6"
+        }
+    },
+    {
+        "goPackagePath": "github.com/gosexy/gettext",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gosexy/gettext",
+            "rev": "305f360aee30243660f32600b87c3c1eaa947187",
+            "sha256": "0sm7ziv56ms0lrk30ipbl6i17azar3a44dd2xvr011442zs5ym09"
+        }
+    }
 ]
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index 0cd10fcab92..8ea3e648c31 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -34,7 +34,7 @@ pythonPackages.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace "salt/utils/rsax931.py" \
-      --subst-var-by "libcrypto" "${openssl}/lib/libcrypto.so"
+      --subst-var-by "libcrypto" "${openssl.out}/lib/libcrypto.so"
   '';
 
   # The tests fail due to socket path length limits at the very least;
diff --git a/pkgs/tools/archivers/unar/default.nix b/pkgs/tools/archivers/unar/default.nix
new file mode 100644
index 00000000000..520742a1b3c
--- /dev/null
+++ b/pkgs/tools/archivers/unar/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, gnustep, unzip, bzip2, zlib, icu, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "unar";
+  version = "1.10.1";
+
+  src = fetchurl {
+    url = "http://unarchiver.c3.cx/downloads/${pname}${version}_src.zip";
+    sha256 = "0aq9zlar5vzr5qxphws8dm7ax60bsfsw77f4ciwa5dq5lla715j0";
+  };
+
+  buildInputs = [
+    gnustep.make unzip gnustep.base bzip2.dev
+    zlib.dev icu.dev openssl.dev
+  ];
+
+  postPatch = ''
+    substituteInPlace Makefile.linux \
+      --replace "CC = gcc" "CC=cc" \
+      --replace "CXX = g++" "CXX=c++" \
+      --replace "OBJCC = gcc" "OBJCC=cc" \
+      --replace "OBJCXX = g++" "OBJCXX=c++"
+
+    substituteInPlace ../UniversalDetector/Makefile.linux \
+      --replace "CC = gcc" "CC=cc" \
+      --replace "CXX = g++" "CXX=c++" \
+      --replace "OBJCC = gcc" "OBJCC=c" \
+      --replace "OBJCXX = g++" "OBJCXX=c++"
+  '';
+
+  makefile = "Makefile.linux";
+
+  sourceRoot = "./The Unarchiver/XADMaster";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp lsar $out/bin
+    cp unar $out/bin
+
+    mkdir -p $out/share/man/man1
+    cp ../Extra/lsar.1 $out/share/man/man1
+    cp ../Extra/unar.1 $out/share/man/man1
+
+    mkdir -p $out/etc/bash_completion.d
+    cp ../Extra/lsar.bash_completion $out/etc/bash_completion.d/lsar
+    cp ../Extra/unar.bash_completion $out/etc/bash_completion.d/unar
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://unarchiver.c3.cx/unarchiver;
+    description = "An archive unpacker program";
+    longDescription = ''
+      The Unarchiver is an archive unpacker program with support for the popular \
+      zip, RAR, 7z, tar, gzip, bzip2, LZMA, XZ, CAB, MSI, NSIS, EXE, ISO, BIN, \
+      and split file formats, as well as the old Stuffit, Stuffit X, DiskDouble, \
+      Compact Pro, Packit, cpio, compress (.Z), ARJ, ARC, PAK, ACE, ZOO, LZH, \
+      ADF, DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old formats. 
+    '';
+    license = with licenses; [ lgpl21Plus ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/audio/darkice/default.nix b/pkgs/tools/audio/darkice/default.nix
index 8ac9039b57e..d9e1d196915 100644
--- a/pkgs/tools/audio/darkice/default.nix
+++ b/pkgs/tools/audio/darkice/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "darkice-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/darkice/${version}/darkice-${version}.tar.gz";
-    sha256 = "0m5jzmja7a9x15zl1634bhxrg3rccph9rkar0rmz6wlw5nzakyxk";
+    sha256 = "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c";
   };
 
   configureFlags = [
@@ -40,6 +40,10 @@ in stdenv.mkDerivation rec {
 #    "--with-twolame-prefix=${twolame}" ### missing: twolame
   ];
 
+  patches = [ ./fix-undeclared-memmove.patch ];
+
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://darkice.org/;
     description = "Live audio streamer";
diff --git a/pkgs/tools/audio/darkice/fix-undeclared-memmove.patch b/pkgs/tools/audio/darkice/fix-undeclared-memmove.patch
new file mode 100644
index 00000000000..9b8baf9701d
--- /dev/null
+++ b/pkgs/tools/audio/darkice/fix-undeclared-memmove.patch
@@ -0,0 +1,13 @@
+diff --git a/src/FaacEncoder.cpp b/src/FaacEncoder.cpp
+index 1100226..3ab1805 100644
+--- a/src/FaacEncoder.cpp
++++ b/src/FaacEncoder.cpp
+@@ -36,7 +36,7 @@
+ // compile the whole file only if faac support configured in
+ #ifdef HAVE_FAAC_LIB
+ 
+-
++#include <string.h>
+ 
+ #include "Exception.h"
+ #include "Util.h"
diff --git a/pkgs/tools/audio/mpdris2/default.nix b/pkgs/tools/audio/mpdris2/default.nix
index 82ddc85fd88..beb69db8581 100644
--- a/pkgs/tools/audio/mpdris2/default.nix
+++ b/pkgs/tools/audio/mpdris2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoreconfHook, intltool
-, python, wrapPython, mpd, pygtk, dbus, pynotify
+, pythonPackages, pythonFull
 }:
 
 stdenv.mkDerivation rec {
@@ -11,9 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0zdmamj2ldhr6y3s464w8y2x3yizda784jnlrg3j3myfabssisvz";
   };
 
-  buildInputs = [ intltool autoreconfHook ];
-  propagatedBuildInputs = [ python wrapPython ];
-  pythonPath = [ mpd pygtk dbus pynotify ];
+  buildInputs = [ intltool autoreconfHook pythonPackages.wrapPython ];
+  propagatedBuildInputs = with pythonPackages; [ pythonFull  pygtk dbus-python ];
+  pythonPath = with pythonPackages; [ mpd pygtk dbus-python notify ];
   postInstall = "wrapPythonPrograms";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
index cf44d0e9c26..79da3f8cf9b 100644
--- a/pkgs/tools/backup/bareos/default.nix
+++ b/pkgs/tools/backup/bareos/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     ++ optional (openssl != null) "--with-openssl=${openssl.dev}"
     ++ optional (sqlite != null) "--with-sqlite3=${sqlite.dev}"
     ++ optional (postgresql != null) "--with-postgresql=${postgresql}"
-    ++ optional (libmysql != null) "--with-mysql=${libmysql}"
+    ++ optional (libmysql != null) "--with-mysql=${libmysql.dev}"
     ++ optional (zlib != null) "--with-zlib=${zlib.dev}"
     ++ optional (lzo != null) "--with-lzo=${lzo}"
     ++ optional (jansson != null) "--with-jansson=${jansson}"
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index d4e058d143f..5faeb926c06 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/sbin/btrbk \
       --set PERL5LIB $PERL5LIB \
-      --prefix PATH ':' "${btrfs-progs}/bin:${bash}/bin/"
+      --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index da847c0d31b..85b4a1e1a8f 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,11 +1,10 @@
-{ stdenv, fetchurl, python, librsync, ncftp, gnupg, boto, makeWrapper
-, lockfile, setuptools, paramiko, pycrypto, ecdsa
+{ stdenv, fetchurl, pythonPackages, librsync, ncftp, gnupg, makeWrapper
 }:
 
 let
   version = "0.7.07.1";
-in
-stdenv.mkDerivation {
+  inherit (pythonPackages) boto ecdsa lockfile paramiko pycrypto python setuptools;
+in stdenv.mkDerivation {
   name = "duplicity-${version}";
 
   src = fetchurl {
@@ -17,7 +16,7 @@ stdenv.mkDerivation {
     python setup.py install --prefix=$out
     wrapProgram $out/bin/duplicity \
       --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pycrypto}):$(toPythonPath ${ecdsa}):$(toPythonPath ${paramiko}):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})" \
-      --prefix PATH : "${gnupg}/bin:${ncftp}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ gnupg ncftp ]}"
     wrapProgram $out/bin/rdiffdir \
       --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pycrypto}):$(toPythonPath ${ecdsa}):$(toPythonPath ${paramiko}):$(toPythonPath ${boto}):$(toPythonPath ${lockfile})"
   '';
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 0df9fa9d39f..048321ea2e5 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -1,18 +1,16 @@
-{ stdenv, fetchurl, python, pythonPackages, pycrypto, attr }:
+{ stdenv, fetchurl, pythonPackages, attr }:
 
 pythonPackages.buildPythonApplication rec {
   name = "obnam-${version}";
   version = "1.19.1";
 
-  namePrefix = "";
-
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.xz";
     sha256 = "096abbvz2c9vm8r7zm82yqrd7zj04pb1xzlv6z0dspkngd0cfdqc";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
-  propagatedBuildInputs = [ pycrypto pythonPackages.paramiko pythonPackages.tracing pythonPackages.ttystatus pythonPackages.cliapp pythonPackages.larch pythonPackages.pyyaml pythonPackages.fuse ];
+  propagatedBuildInputs = with pythonPackages; [ pycrypto paramiko tracing ttystatus cliapp larch pyyaml fuse ];
 
   doCheck = false;
 
diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix
index 9329cd23e83..80ff97f097d 100644
--- a/pkgs/tools/backup/store-backup/default.nix
+++ b/pkgs/tools/backup/store-backup/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     for p in $out/bin/*
       do wrapProgram "$p" \
       --prefix PERL5LIB ":" "${perlPackages.DBFile}/lib/perl5/site_perl" \
-      --prefix PATH ":" "${which}/bin:${bzip2.bin}/bin"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ which bzip2 ]}"
     done
 
     patchShebangs $out
diff --git a/pkgs/tools/backup/znapzend/default.nix b/pkgs/tools/backup/znapzend/default.nix
index d4658132930..311df908689 100644
--- a/pkgs/tools/backup/znapzend/default.nix
+++ b/pkgs/tools/backup/znapzend/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, zfs, mbuffer, perl, perlPackages, wget, autoconf, automake }:
 
 let
-  version = "0.15.5";
-  checksum = "09cf9n5i1wxlkhq8ky9npg1a6qiz4blizhbb9390gy0m0wl9l7zw";
+  version = "0.15.7";
+  checksum = "1xb94kxfq9sm3g0s6wpyyz6h2aihgca5gyybg0a5r8sar7yz97j0";
 in
 stdenv.mkDerivation rec {
   name = "znapzend-${version}";
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index def096a571d..6a668f77794 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -21,10 +21,10 @@ in stdenv.mkDerivation rec {
                 ++ lib.optional withPulseAudio libpulseaudio;
 
   postPatch = lib.optionalString withPulseAudio ''
-    sed -i 's,CDLL(",CDLL("${libpulseaudio}/lib/,g' blueman/main/PulseAudioUtils.py
+    sed -i 's,CDLL(",CDLL("${libpulseaudio.out}/lib/,g' blueman/main/PulseAudioUtils.py
   '';
 
-  pythonPath = with pythonPackages; [ dbus pygobject3 ];
+  pythonPath = with pythonPackages; [ dbus-python pygobject3 ];
 
   propagatedUserEnvPkgs = [ obex_data_server dconf ];
 
@@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = https://github.com/blueman-project;
+    homepage = "https://github.com/blueman-project/blueman";
     description = "GTK+-based Bluetooth Manager";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index bf8cefd057e..7d4a341f555 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     cp unetbootin.desktop $out/share/applications
 
     wrapProgram $out/bin/unetbootin \
-      --prefix PATH : ${which}/bin:${p7zip}/bin:${mtools}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ which p7zip mtools ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix
index 14d8d282c81..288cd14c16b 100644
--- a/pkgs/tools/filesystems/bcache-tools/default.nix
+++ b/pkgs/tools/filesystems/bcache-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, utillinux, kmod }:
+{ stdenv, fetchurl, pkgconfig, utillinux }:
 
 stdenv.mkDerivation rec {
   name = "bcache-tools-${version}";
diff --git a/pkgs/tools/filesystems/fuseiso/default.nix b/pkgs/tools/filesystems/fuseiso/default.nix
index 161425ad137..7ea5d581a59 100644
--- a/pkgs/tools/filesystems/fuseiso/default.nix
+++ b/pkgs/tools/filesystems/fuseiso/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "fuseiso-20070708";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/fuseiso/files/fuseiso/20070708/fuseiso-20070708.tar.bz2";
+    url = "mirror://sourceforge/project/fuseiso/fuseiso/20070708/fuseiso-20070708.tar.bz2";
     sha1 = "fe142556ad35dd7e5dc31a16183232a6e2da7692";  
   };
 
diff --git a/pkgs/tools/filesystems/go-mtpfs/deps.json b/pkgs/tools/filesystems/go-mtpfs/deps.json
index cc2ce33ac30..9960293f090 100644
--- a/pkgs/tools/filesystems/go-mtpfs/deps.json
+++ b/pkgs/tools/filesystems/go-mtpfs/deps.json
@@ -1,17 +1,20 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/hanwen/go-fuse"
-    ]
-  },
-  {
-    "goPackagePath": "github.com/hanwen/usb",
-    "fetch": {
-      "type": "git",
-      "url": "https://github.com/hanwen/usb",
-      "rev": "69aee4530ac705cec7c5344418d982aaf15cf0b1",
-      "sha256": "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky"
+    {
+        "goPackagePath": "github.com/hanwen/go-fuse",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hanwen/go-fuse",
+            "rev": "bd746dd8bcc8c059a9d953a786a6156eb83f398e",
+            "sha256": "1dvvclp418j3d02v9717sfqhl6fw6yyddr9r3j8gsiv8nb62ib56"
+        }
+    },
+    {
+        "goPackagePath": "github.com/hanwen/usb",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/hanwen/usb",
+            "rev": "69aee4530ac705cec7c5344418d982aaf15cf0b1",
+            "sha256": "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky"
+        }
     }
-  }
 ]
diff --git a/pkgs/tools/filesystems/lizardfs/default.nix b/pkgs/tools/filesystems/lizardfs/default.nix
index ac20b735abc..b956083840b 100644
--- a/pkgs/tools/filesystems/lizardfs/default.nix
+++ b/pkgs/tools/filesystems/lizardfs/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     sha256 = "18p2pj9crjqgxxxzdfcs3j3fqhinmwi7qxcf71jsw17syqwyygh8";
   };
 
-  buildInputs = [ cmake fuse asciidoc libxml2 libxslt zlib boost pkgconfig judy pam makeWrapper ];
+  buildInputs = [ cmake fuse asciidoc libxml2.bin libxslt.bin zlib boost pkgconfig judy pam makeWrapper ];
 
   patches = [ ./412.patch ];
 
diff --git a/pkgs/tools/graphics/imgurbash2/default.nix b/pkgs/tools/graphics/imgurbash2/default.nix
index 5a655b9ff16..847b3b81749 100644
--- a/pkgs/tools/graphics/imgurbash2/default.nix
+++ b/pkgs/tools/graphics/imgurbash2/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
-    homepage = https://github.com/ram-on/imgurbash2;
+    homepage = "https://github.com/ram-on/imgurbash2";
   };
 }
diff --git a/pkgs/tools/graphics/pdfread/default.nix b/pkgs/tools/graphics/pdfread/default.nix
index a4184fd9514..3c43935e950 100644
--- a/pkgs/tools/graphics/pdfread/default.nix
+++ b/pkgs/tools/graphics/pdfread/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     cp -R *.py pylrs $PYDIR
 
     wrapProgram $out/bin/pdfread.py --prefix PYTHONPATH : $PYTHONPATH:${pillow}/$LIBSUFFIX/PIL:$PYDIR \
-      --prefix PATH : ${ghostscript}/bin:${pngnq}/bin:${djvulibre.bin}/bin:${unrar}/bin:${optipng}/bin
+      --prefix PATH : ${stdenv.lib.makeBinPath [ ghostscript pngnq djvulibre unrar optipng ]}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix
index 40ef0b33aea..227e17347c1 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-table-other/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, fcitx, gettext }:
+{ stdenv, fetchurl, fetchpatch, cmake, fcitx, gettext }:
 
 stdenv.mkDerivation rec {
   name = "fcitx-table-other-${version}";
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake fcitx gettext ];
 
+  patches = [
+    (fetchpatch { url = https://sources.debian.net/data/main/f/fcitx-table-other/0.2.3-3/debian/patches/0001-table-other-fix-build.patch;
+                  sha256 = "06n1df9szfgfjm5al8r1mvp4cib5h0cm601kwngl6k1vqyyjzg1j";
+                })
+  ];
+
   preInstall = ''
    substituteInPlace tables/cmake_install.cmake \
       --replace ${fcitx} $out
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-unikey/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-unikey/default.nix
new file mode 100644
index 00000000000..b2cd71d1816
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-unikey/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake, fcitx, gettext, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "fcitx-unikey-${version}";
+  version = "0.2.5";
+
+  src = fetchurl {
+    url = "http://download.fcitx-im.org/fcitx-unikey/${name}.tar.xz";
+    sha256 = "063vc29v7ycaai98v3z4q319sv9sm91my17pmhblw1vifxnw02wf";
+  };
+
+  buildInputs = [ cmake fcitx gettext pkgconfig ];
+
+  preInstall = ''
+    substituteInPlace src/cmake_install.cmake \
+      --replace ${fcitx} $out
+    substituteInPlace data/cmake_install.cmake \
+      --replace ${fcitx} $out
+  '';
+  
+  meta = with stdenv.lib; {
+    isFcitxEngine = true;
+    homepage      = "https://github.com/fcitx/fcitx-unikey";
+    downloadPage  = "http://download.fcitx-im.org/fcitx-table-other/";
+    description   = "Fcitx wrapper for unikey";
+    license       = licenses.gpl3Plus;
+    platforms     = platforms.linux;
+    maintainers   = with maintainers; [ ericsagnes ];
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 8b830c257f0..8720674d3af 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -34,10 +34,12 @@ stdenv.mkDerivation rec {
   buildInputs = [
     python3 pygobject3
     intltool isocodes pkgconfig
-    gtk2 gtk3 dconf glib
+    gtk2 gtk3 dconf
     dbus libnotify gobjectIntrospection wayland
   ];
 
+  propagatedBuildInputs = [ glib ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/asciinema/default.nix b/pkgs/tools/misc/asciinema/default.nix
index cee4ec925c0..da96bde2fd5 100644
--- a/pkgs/tools/misc/asciinema/default.nix
+++ b/pkgs/tools/misc/asciinema/default.nix
@@ -1,16 +1,29 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ lib, python3Packages, fetchFromGitHub }:
 
-buildGoPackage rec {
+let
+  pythonPackages = python3Packages;
+in pythonPackages.buildPythonApplication rec {
   name = "asciinema-${version}";
-  version = "20160520-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "6683bdaa263d0ce3645b87fe54aa87276b89988a";
+  version = "1.3.0";
 
-  
-  goPackagePath = "github.com/asciinema/asciinema";
+  buildInputs = with pythonPackages; [ nose ];
+  propagatedBuildInputs = with pythonPackages; [ requests2 ];
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/asciinema/asciinema";
-    sha256 = "08jyvnjpd5jdgyvkly9fswac4p10bqim5v4rhmivpg4y8pbcmxkz";
+  src = fetchFromGitHub {
+    owner = "asciinema";
+    repo = "asciinema";
+    rev = "v${version}";
+    sha256 = "1hx7xipyy9w72iwlawldlif9qk3f7b8jx8c1wcx114pqbjz5d347";
+  };
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = {
+    description = "Terminal session recorder and the best companion of asciinema.org";
+    homepage = https://asciinema.org/;
+    license = with lib.licenses; [ gpl3 ];
   };
 }
+
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index ea56e59ba89..ece9c5ed382 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -1,10 +1,13 @@
 {stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile
-, FileDesktopEntry, libxslt, docbook_xsl, python3, setuptools, makeWrapper
+, FileDesktopEntry, libxslt, docbook_xsl, makeWrapper
+, python3Packages
 , perlPackages, curl, gnupg, diffutils
 , sendmailPath ? "/var/setuid-wrappers/sendmail"
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python3Packages) python setuptools;
+in stdenv.mkDerivation rec {
   version = "2.16.6";
   name = "debian-devscripts-${version}";
 
@@ -14,13 +17,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile 
-    FileDesktopEntry libxslt python3 setuptools makeWrapper
+    FileDesktopEntry libxslt python setuptools makeWrapper
     perlPackages.ParseDebControl perlPackages.LWPProtocolHttps
     curl gnupg diffutils ];
 
   preConfigure = ''
     export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}";
-    tgtpy="$out/lib/${python3.libPrefix}/site-packages"
+    tgtpy="$out/lib/${python.libPrefix}/site-packages"
     mkdir -p "$tgtpy"
     export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy"
     find po4a scripts -type f -exec sed -r \
diff --git a/pkgs/tools/misc/disper/default.nix b/pkgs/tools/misc/disper/default.nix
index 793fb8a04d8..27bb62c582a 100644
--- a/pkgs/tools/misc/disper/default.nix
+++ b/pkgs/tools/misc/disper/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
       wrapProgram $out/bin/disper \
-        --prefix "LD_LIBRARY_PATH" : "${xorg.libXrandr.out}/lib:${xorg.libX11.out}/lib"
+        --prefix "LD_LIBRARY_PATH" : "${stdenv.lib.makeLibraryPath [ xorg.libXrandr xorg.libX11 ]}"
   '';
 
   src = fetchurl {
diff --git a/pkgs/tools/misc/gawp/deps.json b/pkgs/tools/misc/gawp/deps.json
index 28b9216ca00..a51c1725353 100644
--- a/pkgs/tools/misc/gawp/deps.json
+++ b/pkgs/tools/misc/gawp/deps.json
@@ -1,10 +1,29 @@
 [
     {
-        "include": "../../../../development/go-modules/libs.json",
-        "packages": [
-            "golang.org/x/sys",
-            "gopkg.in/yaml.v2",
-            "gopkg.in/fsnotify.v1"
-        ]
+        "goPackagePath": "golang.org/x/sys",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/sys",
+            "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f",
+            "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/fsnotify.v1",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/fsnotify.v1",
+            "rev": "96c060f6a6b7e0d6f75fddd10efeaca3e5d1bcb0",
+            "sha256": "1308z1by82fbymcra26wjzw7lpjy91kbpp2skmwqcq4q1iwwzvk2"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
     }
 ]
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index 3aa2c41546b..d73def7ab9b 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/sbin/gparted \
       --prefix PATH : "${procps}/bin"
     wrapProgram $out/sbin/gpartedbin \
-      --prefix PATH : "${gpart}/bin:${hdparm}/bin:${utillinux}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm utillinux ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/grub4dos/default.nix b/pkgs/tools/misc/grub4dos/default.nix
index 94a0b3289dd..ec784d8e1a4 100644
--- a/pkgs/tools/misc/grub4dos/default.nix
+++ b/pkgs/tools/misc/grub4dos/default.nix
@@ -6,13 +6,13 @@ let arch =
   else abort "Unknown architecture";
 in stdenv.mkDerivation rec {
   name = "grub4dos-${version}";
-  version = "0.4.6a-2016-04-26";
+  version = "0.4.6a-2016-08-06";
 
   src = fetchFromGitHub {
     owner = "chenall";
     repo = "grub4dos";
-    rev = "61d8229375c679436d56376518456723b2025e1a";
-    sha256 = "1r4jmvykk5cvpf1kysykvksa9vfy7p29q20x72inw2pbhipj0f10";
+    rev = "99d6ddbe7611f942d2708d77a620d6aa94a284d1";
+    sha256 = "0gnllk0qkx6d0azf7v9cr0b23gp577avksz0f4dl3v3ldgi0dksq";
   };
 
   nativeBuildInputs = [ nasm ];
diff --git a/pkgs/tools/misc/i3cat/deps.json b/pkgs/tools/misc/i3cat/deps.json
index cd4c703aed6..0db944a8361 100644
--- a/pkgs/tools/misc/i3cat/deps.json
+++ b/pkgs/tools/misc/i3cat/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/vincent-petithory/structfield"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/vincent-petithory/structfield",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/vincent-petithory/structfield",
+            "rev": "01a738558a47fbf16712994d1737fb31c77e7d11",
+            "sha256": "1kyx71z13mf6hc8ly0j0b9zblgvj5lzzvgnc3fqh61wgxrsw24dw"
+        }
+    }
 ]
diff --git a/pkgs/tools/misc/mongodb-tools/deps.json b/pkgs/tools/misc/mongodb-tools/deps.json
index 1489b9e57ad..c1cc7f96f75 100644
--- a/pkgs/tools/misc/mongodb-tools/deps.json
+++ b/pkgs/tools/misc/mongodb-tools/deps.json
@@ -1,12 +1,47 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/howeyc/gopass",
-      "github.com/jessevdk/go-flags",
-      "golang.org/x/crypto",
-      "gopkg.in/mgo.v2",
-      "gopkg.in/tomb.v2"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/howeyc/gopass",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/howeyc/gopass",
+            "rev": "2c70fa70727c953c51695f800f25d6b44abb368e",
+            "sha256": "152lrkfxk205rlxiign0w5wb0fmfh910yz4jhlv4f4l1qr1h2lx8"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/mgo.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/mgo.v2",
+            "rev": "c6a7dce14133ccac2dcac3793f1d6e2ef048503a",
+            "sha256": "0rg232q1bkq3y3kd5816hgk1jpf7i38aha5q5ia7j6p9xashz7vj"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/tomb.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/tomb.v2",
+            "rev": "14b3d72120e8d10ea6e6b7f87f7175734b1faab8",
+            "sha256": "1nza31jvkpka5431c4bdbirvjdy36b1b55sbzljqhqih25jrcjx5"
+        }
+    },
+    {
+        "goPackagePath": "github.com/jessevdk/go-flags",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/jessevdk/go-flags",
+            "rev": "1b89bf73cd2c3a911d7b2a279ab085c4a18cf539",
+            "sha256": "027nglc5xx1cm03z9sisg0iqrhwcj6gh5z254rrpl8p4fwrxx680"
+        }
+    }
 ]
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 4ef8cbd757a..d1b5481ad01 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl.bin}/bin:${spidermonkey.out}/bin"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${stdenv.lib.makeBinPath [ curl spidermonkey ]}"
     done
   '';
 
diff --git a/pkgs/tools/misc/profile-cleaner/default.nix b/pkgs/tools/misc/profile-cleaner/default.nix
index 2c1f3d77def..a55485953a8 100644
--- a/pkgs/tools/misc/profile-cleaner/default.nix
+++ b/pkgs/tools/misc/profile-cleaner/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     PREFIX=\"\" DESTDIR=$out make install
     wrapProgram $out/bin/profile-cleaner \
-      --prefix PATH : "${parallel}/bin:${sqlite.bin}/bin"
+      --prefix PATH : "${stdenv.lib.makeBinPath [ parallel sqlite ]}"
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index 7848abcf14d..1169752b9ca 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchFromGitHub, makeWrapper, python, perl, zip
-, rtmpdump, nose, mock, pycrypto, requests2, substituteAll }:
+{ stdenv, fetchFromGitHub, makeWrapper, pythonPackages, perl, zip
+, rtmpdump, substituteAll }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python nose pycrypto requests2 mock;
+in stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
   version = "1.1";
 
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
       --replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
   '';
 
-  makeFlags = "PREFIX=$(out) SYSCONFDIR=$(out)/etc PYTHON=${python}/bin/python";
+  makeFlags = "PREFIX=$(out) SYSCONFDIR=$(out)/etc PYTHON=${python.interpreter}";
 
   postInstall = ''
     wrapProgram "$out/bin/svtplay-dl" \
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index d16fdd4e605..67ec9585c7a 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
     ];
 
   pythonPath = with pythonPackages;
-    [ pycups pycurl dbus pygobject3 requests2 ];
+    [ pycups pycurl dbus-python pygobject3 requests2 ];
 
   configureFlags =
     [ "--with-udev-rules"
diff --git a/pkgs/tools/misc/upower-notify/deps.json b/pkgs/tools/misc/upower-notify/deps.json
index 3a254084ae3..96db25d0c7d 100644
--- a/pkgs/tools/misc/upower-notify/deps.json
+++ b/pkgs/tools/misc/upower-notify/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/godbus/dbus"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/godbus/dbus",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/godbus/dbus",
+            "rev": "32c6cc29c14570de4cf6d7e7737d68fb2d01ad15",
+            "sha256": "0v401f761l88yapiaw23pxvxviqrwl2r2vfd6lq02044i7x4i5r3"
+        }
+    }
 ]
diff --git a/pkgs/tools/networking/ccnet/default.nix b/pkgs/tools/networking/ccnet/default.nix
index d7aaa0f77fc..bab8cbc8639 100644
--- a/pkgs/tools/networking/ccnet/default.nix
+++ b/pkgs/tools/networking/ccnet/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala, python, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}:
+{stdenv, fetchurl, which, automake, autoconf, pkgconfig, libtool, vala_0_23, python, libsearpc, libzdb, libuuid, libevent, sqlite, openssl}:
 
 stdenv.mkDerivation rec
 {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec
     sha256 = "1e1c670a85619b174328a15925a050c7a8b323fecd13434992332f5c15e05de1";
   };
 
-  buildInputs = [ which automake autoconf pkgconfig libtool vala  python ];
+  buildInputs = [ which automake autoconf pkgconfig libtool vala_0_23 python ];
   propagatedBuildInputs = [ libsearpc libzdb libuuid libevent sqlite openssl ];
 
   preConfigure = ''
diff --git a/pkgs/tools/networking/connman-notify/default.nix b/pkgs/tools/networking/connman-notify/default.nix
index 07066690172..4f70888fca6 100644
--- a/pkgs/tools/networking/connman-notify/default.nix
+++ b/pkgs/tools/networking/connman-notify/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pythonPackages.python
-    pythonPackages.dbus
+    pythonPackages.dbus-python
     pythonPackages.pygobject
     pythonPackages.pygtk
     pythonPackages.notify
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index eb9edc96bac..c3cdaffcc27 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ perl makeWrapper openldap bind ];
 
   configureFlags = [
-    "--with-libbind=${bind}"
+    "--with-libbind=${bind.dev}"
     "--enable-failover"
     "--enable-execute"
     "--enable-tracing"
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index bf39c36e02b..23b0d241d17 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gnutls readline zlib libidn ];
 
   configureFlags = [
-    "--with-readline=${readline}"
+    "--with-readline=${readline.dev}"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/logmein-hamachi/default.nix b/pkgs/tools/networking/logmein-hamachi/default.nix
index 28fb39db571..7b441c72cbf 100644
--- a/pkgs/tools/networking/logmein-hamachi/default.nix
+++ b/pkgs/tools/networking/logmein-hamachi/default.nix
@@ -10,16 +10,17 @@ let
     else if stdenv.system == "i686-linux" then "x86"
     else abort "Unsupported architecture";
   sha256 =
-    if stdenv.system == "x86_64-linux" then "1j9sba5prpihlmxr98ss3vls2qjfc6hypzlakr1k97z0a8433nif"
-    else if stdenv.system == "i686-linux" then "100x6gib2np72wrvcn1yhdyn4fplf5x8xm4x0g77izyfdb3yjg8h"
+    if stdenv.system == "x86_64-linux" then "0l8y8z8fqvxrypx3dp83mm3qr9shgpcn5h7x2k2z13gp4aq0yw6g"
+    else if stdenv.system == "i686-linux" then "00nl442k4pij9fm8inlk4qrcvbnz55fbwf3sm3dgbzvd5jcgsa0f"
     else abort "Unsupported architecture";
   libraries = stdenv.lib.makeLibraryPath [ stdenv.cc.cc ];
 
 in stdenv.mkDerivation rec {
-  name = "logmein-hamachi-2.1.0.139";
+  name = "logmein-hamachi-${version}";
+  version = "2.1.0.165";
 
   src = fetchurl {
-    url = "https://secure.logmein.com/labs/${name}-${arch}.tgz";
+    url = "https://www.vpn.net/installers/${name}-${arch}.tgz";
     inherit sha256;
   };
 
@@ -37,7 +38,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A hosted VPN service that lets you securely extend LAN-like networks to distributed teams";
-    homepage = https://secure.logmein.com/products/hamachi/;
+    homepage = "https://secure.logmein.com/products/hamachi/";
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 9a7737e0195..8a4f7e2dbe6 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -2,30 +2,21 @@
 , makeWrapper, perl, openssl, autoreconfHook, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "mosh-1.2.5";
+  name = "mosh-1.2.6";
 
   src = fetchurl {
-    url = "http://mosh.mit.edu/${name}.tar.gz";
-    sha256 = "1qsb0y882yfgwnpy6f98pi5xqm6kykdsrxzvaal37hs7szjhky0s";
+    url = "https://mosh.org/${name}.tar.gz";
+    sha256 = "118fhpm754wpklf1blnlq5xbvrxqml6rdfs3b07wg666zkxvg0ky";
   };
 
   buildInputs = [ autoreconfHook protobuf ncurses zlib pkgconfig IOTty makeWrapper perl openssl ];
 
-  patches = [
-    # remove automake detection macro patch on next release as it is already on mosh master
-    (fetchpatch {
-      name = "fix_automake_detection_macro.patch";
-      url = "https://github.com/mobile-shell/mosh/commit/a47917b97606a03f6bbf0cafd1fcd495b0229790.patch";
-      sha256 = "0ib200ffvbnns125xd58947fyxdx31m06rmnzqmxpxcnjza7k404";
-    })
-  ];
-
   postInstall = ''
       wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB
   '';
 
   meta = {
-    homepage = http://mosh.mit.edu/;
+    homepage = https://mosh.org/;
     description = "Mobile shell (ssh replacement)";
     longDescription = ''
       Remote terminal application that allows roaming, supports intermittent
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 62a46c15bc8..7f6620af4c9 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -35,11 +35,11 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram "$out/bin/nm-applet" \
       --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules:${gnome3.dconf}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
       --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \
       --prefix PATH ":" "${gnome3.gconf}/bin"
     wrapProgram "$out/bin/nm-connection-editor" \
-      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/network-manager/0.9.8/default.nix b/pkgs/tools/networking/network-manager/0.9.8/default.nix
index 4fad1ca2ab9..0c791631daa 100644
--- a/pkgs/tools/networking/network-manager/0.9.8/default.nix
+++ b/pkgs/tools/networking/network-manager/0.9.8/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, intltool, pkgconfig, dbus_glib
 , udev, libnl, libuuid, gnutls, dhcp
-, libgcrypt, perl, libgudev }:
+, libgcrypt, perl, libgudev, avahi, ppp, kmod }:
 
 stdenv.mkDerivation rec {
   name = "network-manager-${version}";
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     substituteInPlace tools/glib-mkenums --replace /usr/bin/perl ${perl}/bin/perl
+    substituteInPlace src/nm-device.c \
+      --replace @avahi@ ${avahi} \
+      --replace @kmod@ ${kmod}
+    substituteInPlace src/ppp-manager/nm-ppp-manager.c \
+      --replace @ppp@ ${ppp} \
+      --replace @kmod@ ${kmod}
   '';
 
   # Right now we hardcode quite a few paths at build time. Probably we should
diff --git a/pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch b/pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch
index 831b2010fcf..9ebc080ba96 100644
--- a/pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch
+++ b/pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch
@@ -47,7 +47,7 @@ index 1dc94ee..e60f3c8 100644
  
  	for (iter = modules; *iter; iter++) {
 -		char *argv[3] = { "/sbin/modprobe", *iter, NULL };
-+		char *argv[3] = { "/var/run/current-system/sw/bin/modprobe", *iter, NULL };
++		char *argv[3] = { "@kmod@/bin/modprobe", *iter, NULL };
  		char *envp[1] = { NULL };
  		GError *error = NULL;
  
@@ -71,7 +71,7 @@ index 59698c3..7dba0f7 100644
  	/* Make sure /dev/ppp exists (bgo #533064) */
  	if (stat ("/dev/ppp", &st) || !S_ISCHR (st.st_mode))
 -		ignored = system ("/sbin/modprobe ppp_generic");
-+		ignored = system ("/var/run/current-system/sw/bin/modprobe ppp_generic");
++		ignored = system ("@kmod@/bin/modprobe ppp_generic");
  
  	connection = nm_act_request_get_connection (req);
  	g_assert (connection);
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 63740558a27..57bf1a51a1a 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -2,7 +2,7 @@
 , systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
-, ethtool, gnused, coreutils, file, inetutils }:
+, ethtool, gnused, coreutils, file, inetutils, kmod }:
 
 stdenv.mkDerivation rec {
   name    = "network-manager-${version}";
@@ -19,13 +19,15 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace /usr/bin/uname ${coreutils}/bin/uname
     substituteInPlace configure --replace /usr/bin/file ${file}/bin/file
     substituteInPlace src/devices/nm-device.c --replace /usr/bin/ping ${inetutils}/bin/ping
-    substituteInPlace src/NetworkManagerUtils.c --replace /sbin/modprobe /run/current-system/sw/sbin/modprobe
+    substituteInPlace src/NetworkManagerUtils.c --replace /sbin/modprobe ${kmod}/bin/modprobe
     substituteInPlace data/84-nm-drivers.rules \
       --replace /bin/sh ${stdenv.shell}
     substituteInPlace data/85-nm-unmanaged.rules \
       --replace /bin/sh ${stdenv.shell} \
       --replace /usr/sbin/ethtool ${ethtool}/sbin/ethtool \
       --replace /bin/sed ${gnused}/bin/sed
+    substituteInPlace data/NetworkManager.service.in \
+      --replace /bin/kill ${coreutils}/bin/kill
     # to enable link-local connections
     configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
   '';
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index 43eb681be29..b1b24bceb57 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -23,10 +23,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
      substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/sbin/sysctl"
+       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
      substituteInPlace "src/nm-openconnect-service.c" \
-       --replace "/usr/sbin/openconnect" "${openconnect}/sbin/openconnect" \
-       --replace "/sbin/modprobe" "${kmod}/sbin/modprobe"
+       --replace "/usr/sbin/openconnect" "${openconnect}/bin/openconnect" \
+       --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index 34e3a3e2959..6fd1a666f0e 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -27,10 +27,10 @@ stdenv.mkDerivation rec {
      substituteInPlace "configure" \
        --replace "/sbin/sysctl" "${procps}/sbin/sysctl"
      substituteInPlace "src/nm-openvpn-service.c" \
-       --replace "/sbin/openvpn" "${openvpn}/sbin/openvpn" \
-       --replace "/sbin/modprobe" "${kmod}/sbin/modprobe"
+       --replace "/sbin/openvpn" "${openvpn}/bin/openvpn" \
+       --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
      substituteInPlace "properties/auth-helpers.c" \
-       --replace "/sbin/openvpn" "${openvpn}/sbin/openvpn"
+       --replace "/sbin/openvpn" "${openvpn}/bin/openvpn"
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix
index 97b2001d759..b760fe6e4f7 100644
--- a/pkgs/tools/networking/network-manager/vpnc.nix
+++ b/pkgs/tools/networking/network-manager/vpnc.nix
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
      substituteInPlace "configure" \
-       --replace "/sbin/sysctl" "${procps}/sbin/sysctl"
+       --replace "/sbin/sysctl" "${procps}/bin/sysctl"
      substituteInPlace "src/nm-vpnc-service.c" \
-       --replace "/sbin/vpnc" "${vpnc}/sbin/vpnc" \
-       --replace "/sbin/modprobe" "${kmod}/sbin/modprobe"
+       --replace "/sbin/vpnc" "${vpnc}/bin/vpnc" \
+       --replace "/sbin/modprobe" "${kmod}/bin/modprobe"
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/ngrok/deps.json b/pkgs/tools/networking/ngrok/deps.json
index 61dfbf33726..943967b7342 100644
--- a/pkgs/tools/networking/ngrok/deps.json
+++ b/pkgs/tools/networking/ngrok/deps.json
@@ -1,19 +1,101 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "gopkg.in/yaml.v1",
-      "github.com/gorilla/websocket",
-      "github.com/rcrowley/go-metrics",
-      "github.com/inconshreveable/go-vhost",
-      "code.google.com/p/log4go",
-      "github.com/daviddengcn/go-colortext",
-      "gopkg.in/yaml.v1",
-      "github.com/inconshreveable/mousetrap",
-      "github.com/nsf/termbox-go",
-      "gopkg.in/inconshreveable/go-update.v0",
-      "github.com/kardianos/osext",
-      "github.com/kr/binarydist"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/gorilla/websocket",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/gorilla/websocket",
+            "rev": "a622679ebd7a3b813862379232f645f8e690e43f",
+            "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"
+        }
+    },
+    {
+        "goPackagePath": "github.com/rcrowley/go-metrics",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/rcrowley/go-metrics",
+            "rev": "1ce93efbc8f9c568886b2ef85ce305b2217b3de3",
+            "sha256": "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/inconshreveable/go-vhost",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/inconshreveable/go-vhost",
+            "rev": "c4c28117502e4bf00960c8282b2d1c51c865fe2c",
+            "sha256": "1rway6sls6fl2s2jk20ajj36rrlzh9944ncc9pdd19kifix54z32"
+        }
+    },
+    {
+        "goPackagePath": "code.google.com/p/log4go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/ccpaging/log4go",
+            "rev": "cb4cc51cd03958183d3b637d0750497d88c2f7a8",
+            "sha256": "0l9f86zzhla9hq35q4xhgs837283qrm4gxbp5lrwwls54ifiq7k2"
+        }
+    },
+    {
+        "goPackagePath": "github.com/daviddengcn/go-colortext",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/daviddengcn/go-colortext",
+            "rev": "13eaeb896f5985a1ab74ddea58707a73d875ba57",
+            "sha256": "0618xs9lc5xfp5zkkb5j47dr7i30ps3zj5fj0zpv8afqh2cc689x"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/yaml.v1",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/go-yaml/yaml",
+            "rev": "b0c168ac0cf9493da1f9bb76c34b26ffef940b4a",
+            "sha256": "0jbdy41pplf2d1j24qwr8gc5qsig6ai5ch8rwgvg72kq9q0901cy"
+        }
+    },
+    {
+        "goPackagePath": "github.com/inconshreveable/mousetrap",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/inconshreveable/mousetrap",
+            "rev": "9dbb96d2c3a964935b0870b5abaea13c98b483aa",
+            "sha256": "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"
+        }
+    },
+    {
+        "goPackagePath": "github.com/nsf/termbox-go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/nsf/termbox-go",
+            "rev": "9aecf65084a5754f12d27508fa2e6ed56851953b",
+            "sha256": "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/inconshreveable/go-update.v0",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/inconshreveable/go-update",
+            "rev": "d8b0b1d421aa1cbf392c05869f8abbc669bb7066",
+            "sha256": "0cvkik2w368fzimx3y29ncfgw7004qkbdf2n3jy5czvzn35q7dpa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kardianos/osext",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kardianos/osext",
+            "rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc",
+            "sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kr/binarydist",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kr/binarydist",
+            "rev": "9955b0ab8708602d411341e55fffd7e0700f86bd",
+            "sha256": "11wncbbbrdcxl5ff3h6w8vqfg4bxsf8709mh6vda0cv236flkyn3"
+        }
+    }
 ]
diff --git a/pkgs/tools/networking/offlineimap/default.nix b/pkgs/tools/networking/offlineimap/default.nix
index 6f74df38ad0..564eea23184 100644
--- a/pkgs/tools/networking/offlineimap/default.nix
+++ b/pkgs/tools/networking/offlineimap/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, pythonPackages, sqlite3 }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "7.0.4";
+  version = "7.0.6";
   name = "offlineimap-${version}";
   namePrefix = "";
 
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
     owner = "OfflineIMAP";
     repo = "offlineimap";
     rev = "v${version}";
-    sha256 = "1ixm4qp3gljbnbi40h8n6j7c0pzk1ry8hpm4bcf7n68gc07r557n";
+    sha256 = "14hmr4f9zv1hhl6azh78rg4csincxzkp1sl4wydd4gwyb74cfpkc";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
index 748f41c9053..706f2434a95 100644
--- a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
+++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress
 
     wrapProgram $out/libexec/openvpn/openvpn-learnaddress \
-        --prefix PATH : ${coreutils}/bin:${gawk}/bin:${utillinux}/bin
+        --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk utillinux ]}
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/openvpn/update-resolv-conf.nix b/pkgs/tools/networking/openvpn/update-resolv-conf.nix
index 80f7d149b7f..f59e70ed318 100644
--- a/pkgs/tools/networking/openvpn/update-resolv-conf.nix
+++ b/pkgs/tools/networking/openvpn/update-resolv-conf.nix
@@ -1,27 +1,32 @@
-{ stdenv, fetchgit, makeWrapper, openresolv, coreutils }:
+{ stdenv, lib, fetchFromGitHub, makeWrapper, openresolv, coreutils, which, systemd }:
 
-stdenv.mkDerivation rec {
-  name = "update-resolv-conf-20141003";
+let
+  binPath = lib.makeBinPath [ coreutils openresolv which systemd ];
 
-  src = fetchgit {
-    url = https://github.com/masterkorp/openvpn-update-resolv-conf/;
-    rev = "dd968419373bce71b22bbd26de962e89eb470670";
-    sha256 = "0j7mg66lqhgvhybgbn98y7i5skj1ify41hmb0yhkx2xrli8027b9";
+in stdenv.mkDerivation rec {
+  name = "update-resolv-conf-2016-04-24";
+
+  src = fetchFromGitHub {
+    owner = "masterkorp";
+    repo = "openvpn-update-resolv-conf";
+    rev = "994574f36b9147cc78674a5f13874d503a625c98";
+    sha256 = "1rvzlaj53k8s09phg4clsyzlmf44dmwwyvg0nbg966sxp3xsqlxc";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     install -Dm555 update-resolv-conf.sh $out/libexec/openvpn/update-resolv-conf
-    sed -i 's,^\(RESOLVCONF=\).*,\1resolvconf,' $out/libexec/openvpn/update-resolv-conf
+    install -Dm555 update-systemd-network.sh $out/libexec/openvpn/update-systemd-network
 
-    wrapProgram $out/libexec/openvpn/update-resolv-conf \
-        --prefix PATH : ${coreutils}/bin:${openresolv}/sbin
+    for i in $out/libexec/openvpn/*; do
+      wrapProgram $i --prefix PATH : ${binPath}
+    done
   '';
 
   meta = with stdenv.lib; {
     description = "Script to update your /etc/resolv.conf with DNS settings that come from the received push dhcp-options";
-    homepage = https://github.com/masterkorp/openvpn-update-resolv-conf/;
+    homepage = "https://github.com/masterkorp/openvpn-update-resolv-conf/";
     maintainers = with maintainers; [ abbradar ];
     license = licenses.gpl2;
     platforms = platforms.unix;
diff --git a/pkgs/tools/networking/s3gof3r/deps.json b/pkgs/tools/networking/s3gof3r/deps.json
index d4a41d349b2..e73edde322f 100644
--- a/pkgs/tools/networking/s3gof3r/deps.json
+++ b/pkgs/tools/networking/s3gof3r/deps.json
@@ -1,8 +1,11 @@
 [
-  {
-    "include": "../../../go-modules/libs.json",
-    "packages": [
-      "github.com/jessevdk/go-flags"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/jessevdk/go-flags",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/jessevdk/go-flags",
+            "rev": "1b89bf73cd2c3a911d7b2a279ab085c4a18cf539",
+            "sha256": "027nglc5xx1cm03z9sisg0iqrhwcj6gh5z254rrpl8p4fwrxx680"
+        }
+    }
 ]
diff --git a/pkgs/tools/networking/snabb/default.nix b/pkgs/tools/networking/snabb/default.nix
index f6b11580598..3b405561ef9 100644
--- a/pkgs/tools/networking/snabb/default.nix
+++ b/pkgs/tools/networking/snabb/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     done
 
     # We need a way to pass $PATH to the scripts
-    sed -i '2iexport PATH=${git}/bin:${mariadb}/bin:${which}/bin:${procps}/bin:${coreutils}/bin' src/program/snabbnfv/neutron_sync_master/neutron_sync_master.sh.inc
-    sed -i '2iexport PATH=${git}/bin:${coreutils}/bin:${diffutils}/bin:${nettools}/bin' src/program/snabbnfv/neutron_sync_agent/neutron_sync_agent.sh.inc
+    sed -i '2iexport PATH=${stdenv.lib.makeBinPath [ git mariadb which procps coreutils ]}' src/program/snabbnfv/neutron_sync_master/neutron_sync_master.sh.inc
+    sed -i '2iexport PATH=${stdenv.lib.makeBinPath [ git coreutils diffutils nettools ]}' src/program/snabbnfv/neutron_sync_agent/neutron_sync_agent.sh.inc
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/networking/srelay/default.nix b/pkgs/tools/networking/srelay/default.nix
index 853a21da73c..8c413174cfb 100644
--- a/pkgs/tools/networking/srelay/default.nix
+++ b/pkgs/tools/networking/srelay/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "srelay-0.4.8b6";
 
   src = fetchurl {
-    url = "https://sourceforge.net/projects/socks-relay/files/socks-relay/srelay-0.4.8/srelay-0.4.8b6.tar.gz";
+    url = "mirror://sourceforge/project/socks-relay/socks-relay/srelay-0.4.8/srelay-0.4.8b6.tar.gz";
     sha256 = "1az9ds10hpmpw6bqk7fcd1w70001kz0mm48v3vgg2z6vrbmgn0qj";
   };
 
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 42309b49bb8..1d4791ffdde 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -13,9 +13,8 @@ stdenv.mkDerivation rec {
   patches = [ ./remove-runtime-dep-on-openssl-headers.patch ];
 
   preConfigure = ''
-    for i in "doc/texi2pod.pl" "util/rmold.pl"; do
-      sed -i "$i" -e 's|/usr/bin.*perl|${perl}/bin/perl|g'
-    done
+    patchShebangs doc
+
   '' + stdenv.lib.optionalString doCheck ''
     # Work around lack of DNS resolution in chroots.
     for i in "tests/"*.pm "tests/"*.px
@@ -26,9 +25,9 @@ stdenv.mkDerivation rec {
     export LIBS="-liconv -lintl"
   '';
 
-  nativeBuildInputs = [ gettext pkgconfig ];
+  nativeBuildInputs = [ gettext pkgconfig perl ];
   buildInputs = [ libidn libiconv libpsl ]
-    ++ stdenv.lib.optionals doCheck [ perl perlPackages.IOSocketSSL LWP python3 ]
+    ++ stdenv.lib.optionals doCheck [ perlPackages.IOSocketSSL LWP python3 ]
     ++ stdenv.lib.optional (openssl != null) openssl
     ++ stdenv.lib.optional stdenv.isDarwin perl;
 
diff --git a/pkgs/tools/networking/wicd/default.nix b/pkgs/tools/networking/wicd/default.nix
index 8013e6d00cd..59bbd918d64 100644
--- a/pkgs/tools/networking/wicd/default.nix
+++ b/pkgs/tools/networking/wicd/default.nix
@@ -1,8 +1,11 @@
-{stdenv, fetchurl, python, pygobject, pycairo, pyGtkGlade, pythonDBus, 
- wpa_supplicant, dhcp, dhcpcd, wirelesstools, nettools, openresolv, iproute, iputils,
- pythonPackages, locale ? "C" }:
+{ stdenv, fetchurl, pythonPackages
+, wpa_supplicant, dhcp, dhcpcd, wirelesstools
+, nettools, openresolv, iproute, iputils
+, locale ? "C" }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject dbus-python pyGtkGlade pycairo;
+in stdenv.mkDerivation rec {
   name = "wicd-${version}";
   version = "1.7.2.4";
   
@@ -11,9 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "15ywgh60xzmp5z8l1kzics7yi95isrjg1paz42dvp7dlpdfzpzfw";
   };
 
-  buildInputs = [
-    python pythonPackages.Babel
-    pythonPackages.urwid pythonPackages.notify
+  buildInputs = with pythonPackages; [
+    python Babel urwid notify
   ];
 
   patches = [
@@ -31,20 +33,20 @@ stdenv.mkDerivation rec {
   # !!! Should use makeWrapper.
   postPatch = ''
     # We don't have "python2".
-    substituteInPlace wicd/wicd-daemon.py --replace 'misc.find_path("python2")' "'${python}/bin/python'"
+    substituteInPlace wicd/wicd-daemon.py --replace 'misc.find_path("python2")' "'${python.interpreter}'"
     
     substituteInPlace in/scripts=wicd.in --subst-var-by TEMPLATE-DEFAULT $out/share/other/dhclient.conf.template.default
 
-    sed -i "2iexport PATH=${python}/bin:${wpa_supplicant}/sbin:${dhcpcd}/sbin:${dhcp}/sbin:${wirelesstools}/sbin:${nettools}/sbin:${nettools}/bin:${iputils}/bin:${openresolv}/sbin:${iproute}/sbin\$\{PATH:+:\}\$PATH" in/scripts=wicd.in
-    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pygobject}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd.in
+    sed -i "2iexport PATH=${stdenv.lib.makeBinPath [ python wpa_supplicant dhcpcd dhcp wirelesstools nettools nettools iputils openresolv iproute ]}\$\{PATH:+:\}\$PATH" in/scripts=wicd.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pygobject}):$(toPythonPath ${dbus-python})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-client.in
-    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-client.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-client.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-gtk.in
-    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus}):$(toPythonPath ${pythonPackages.notify})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-gtk.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pygobject})/gtk-2.0:$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python}):$(toPythonPath ${pythonPackages.notify})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-gtk.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-cli.in
-    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-cli.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-cli.in
     sed -i "2iexport PATH=${python}/bin\$\{PATH:+:\}\$PATH" in/scripts=wicd-curses.in
-    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${pythonDBus}):$(toPythonPath ${pythonPackages.urwid}):$(toPythonPath ${pythonPackages.curses})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-curses.in
+    sed -i "3iexport PYTHONPATH=$(toPythonPath $out):$(toPythonPath ${pyGtkGlade})/gtk-2.0:$(toPythonPath ${pygobject}):$(toPythonPath ${pycairo}):$(toPythonPath ${dbus-python}):$(toPythonPath ${pythonPackages.urwid}):$(toPythonPath ${pythonPackages.curses})\$\{PYTHONPATH:+:\}\$PYTHONPATH" in/scripts=wicd-curses.in
     rm po/ast.po
   '';
 
@@ -90,7 +92,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    python setup.py install --prefix=$out --install-lib=$out/lib/${python.libPrefix}/site-packages
+    python setup.py install --prefix=$out --install-lib=$out/${python.sitePackages}
     mkdir -p $out/share/other
     cp other/dhclient.conf.template.default $out/share/other/dhclient.conf.template.default
 
diff --git a/pkgs/tools/networking/wrk/default.nix b/pkgs/tools/networking/wrk/default.nix
index b1a3fc85849..c8315d0c3f5 100644
--- a/pkgs/tools/networking/wrk/default.nix
+++ b/pkgs/tools/networking/wrk/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchgit, openssl }:
+{ stdenv, fetchFromGitHub, openssl, perl }:
 
-let
-  version = "4.0.0";
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "wrk-${version}";
+  version = "4.0.2";
 
-  src = fetchgit {
-    url = "https://github.com/wg/wrk.git";
-    rev = "7cdede916a53da253c995767a92eec36a245a2cc";
-    sha256 = "1zk7mx27875wkbwcjpbl9zmpyyfic9177wmkif9a16mvj7mvlw9v";
+  src = fetchFromGitHub {
+    owner = "wg";
+    repo = "wrk";
+    rev = version;
+    sha256 = "1qg6w8xz4pr227h1gxrbm6ylhqvspk95hvq2f9iakni7s56pkh1w";
   };
 
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl perl ];
   
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
deleted file mode 100644
index 88bd8f46037..00000000000
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ lib, stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null
-, pkgconfig, boehmgc, perlPackages, libsodium
-, storeDir ? "/nix/store"
-, stateDir ? "/nix/var"
-}:
-
-stdenv.mkDerivation rec {
-  name = "nix-1.9pre4100_4bbcfaf";
-
-  src = fetchurl {
-    url = "http://hydra.nixos.org/build/21565942/download/4/${name}.tar.xz";
-    sha256 = "1jcy0n8mi17k5vk89vammfh74lvsgnm4gjsk23cq1shspjnbbgxs";
-  };
-
-  nativeBuildInputs = [ perl pkgconfig ];
-
-  buildInputs = [ curl openssl sqlite ] ++ lib.optional stdenv.isLinux libsodium;
-
-  propagatedBuildInputs = [ boehmgc ];
-
-  # Note: bzip2 is not passed as a build input, because the unpack phase
-  # would end up using the wrong bzip2 when cross-compiling.
-  # XXX: The right thing would be to reinstate `--with-bzip2' in Nix.
-  postUnpack =
-    '' export CPATH="${bzip2.dev}/include"
-       export LIBRARY_PATH="${bzip2.out}/lib"
-       export CXXFLAGS="-Wno-error=reserved-user-defined-literal"
-    '';
-
-  configureFlags =
-    ''
-      --with-store-dir=${storeDir} --localstatedir=${stateDir} --sysconfdir=/etc
-      --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
-      --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
-      --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
-      --disable-init-state
-      --enable-gc
-    '';
-
-  makeFlags = "profiledir=$(out)/etc/profile.d";
-
-  installFlags = "sysconfdir=$(out)/etc";
-
-  doInstallCheck = true;
-
-  crossAttrs = {
-    postUnpack =
-      '' export CPATH="${bzip2.crossDrv}/include"
-         export NIX_CROSS_LDFLAGS="-L${bzip2.crossDrv}/lib -rpath-link ${bzip2.crossDrv}/lib $NIX_CROSS_LDFLAGS"
-      '';
-
-    configureFlags =
-      ''
-        --with-store-dir=${storeDir} --localstatedir=${stateDir}
-        --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
-        --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
-        --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
-        --disable-init-state
-        --enable-gc
-      '' + stdenv.lib.optionalString (
-          stdenv.cross ? nix && stdenv.cross.nix ? system
-      ) ''--with-system=${stdenv.cross.nix.system}'';
-
-    doInstallCheck = false;
-  };
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "The Nix Deployment System";
-    homepage = http://nixos.org/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.all;
-  };
-}
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 04a31bd30b7..2dffcef48fb 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -1,4 +1,4 @@
-{ lib, pythonPackages, fetchurl }:
+{ lib, pythonPackages, fetchurl, git }:
 
 pythonPackages.buildPythonApplication rec {
   name = "nox-${version}";
@@ -10,7 +10,7 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "11f6css8rnh7qz55z7i81cnb5h9ys98fqxq3fps3hsh64zlydj52";
   };
 
-  buildInputs = [ pythonPackages.pbr ];
+  buildInputs = [ pythonPackages.pbr git ];
 
   propagatedBuildInputs = with pythonPackages; [
       dogpile_cache
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index dbac7be10d7..af8a162357b 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchFromGitHub, intltool, glib, pkgconfig, polkit, python, sqlite, systemd
-, gobjectIntrospection, vala, gtk_doc, autoreconfHook, autoconf-archive
+{ stdenv, fetchFromGitHub, lib
+, intltool, glib, pkgconfig, polkit, python, sqlite, systemd
+, gobjectIntrospection, vala_0_23, gtk_doc, autoreconfHook, autoconf-archive
 , nix, boost
 , enableCommandNotFound ? false
 , enableBashCompletion ? false, bashCompletion ? null }:
 
-with stdenv.lib;
-
 stdenv.mkDerivation rec {
-  name = "packagekit-2016-06-03";
+  name = "packagekit-${version}";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "PackageKit";
-    rev = "99fd83bbb26badf43c6a17a9f0c6dc054c7484c8";
-    sha256 = "0y42vl6r1wh57sbjfkn4khjs78q54wshf4p0v4nly9s7hydxpi6a";
+    rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "150mpar7bhlvwfpwsr6zrjn3yggvklzr6nlhk0shaxnrfkfxvvb6";
   };
 
-  buildInputs = [ glib polkit systemd python gobjectIntrospection vala ]
-                  ++ optional enableBashCompletion bashCompletion;
+  buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_23 ]
+                  ++ lib.optional enableBashCompletion bashCompletion;
   propagatedBuildInputs = [ sqlite nix boost ];
   nativeBuildInputs = [ intltool pkgconfig autoreconfHook autoconf-archive gtk_doc ];
 
@@ -38,8 +38,8 @@ stdenv.mkDerivation rec {
     "--with-dbus-sys=$(out)/etc/dbus-1/system.d"
     "--with-systemdsystemunitdir=$(out)/lib/systemd/system/"
   ]
-  ++ optional (!enableBashCompletion) "--disable-bash-completion"
-  ++ optional (!enableCommandNotFound) "--disable-command-not-found";
+  ++ lib.optional (!enableBashCompletion) "--disable-bash-completion"
+  ++ lib.optional (!enableCommandNotFound) "--disable-command-not-found";
 
   enableParallelBuilding = true;
 
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     "localstatedir=\${TMPDIR}"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "System to facilitate installing and updating packages";
     longDescription = ''
       PackageKit is a system designed to make installing and updating software
diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix
new file mode 100644
index 00000000000..914d79965c3
--- /dev/null
+++ b/pkgs/tools/security/crunch/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, which }:
+
+stdenv.mkDerivation  rec {
+  name = "crunch-${version}";
+  version = "3.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/crunch-wordlist/${name}.tgz";
+    sha256 = "0mgy6ghjvzr26yrhj1bn73qzw6v9qsniskc5wqq1kk0hfhy6r3va";
+  };
+
+  buildInputs = [ which ];
+
+  configurePhase = "true";
+
+  preBuild = ''
+    sed 's/sudo //' -i Makefile
+    sed 's/-g root -o root//' -i Makefile
+  '';
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = with stdenv.lib; {
+    description = "Wordlist generator";
+    homepage = https://sourceforge.net/projects/crunch-wordlist/;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index c886b10e220..70dfb9e82c6 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -17,11 +17,6 @@ pythonPackages.buildPythonApplication {
     ++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd);
 
   preConfigure = ''
-    for i in fail2ban-client fail2ban-regex fail2ban-server; do
-      substituteInPlace $i \
-        --replace /usr/share/fail2ban $out/share/fail2ban
-    done
-
     for i in config/action.d/sendmail*.conf; do
       substituteInPlace $i \
         --replace /usr/sbin/sendmail sendmail \
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index fb903003620..8441fbbb761 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoconf, automake, intltool, libtool, pkgconfig, encfs
-, glib , gnome3, gtk3, libgnome_keyring, vala, wrapGAppsHook, xorg }:
+, glib , gnome3, gtk3, libgnome_keyring, vala_0_23, wrapGAppsHook, xorg }:
 
 stdenv.mkDerivation rec {
   version = "1.8.16";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "06sz6zcmvxkqww5gx4brcqs4hlpy9d8sal9nmw0pdsvh8k5vmpgn";
   };
 
-  buildInputs = [ autoconf automake intltool libtool pkgconfig vala glib encfs
+  buildInputs = [ autoconf automake intltool libtool pkgconfig vala_0_23 glib encfs
     gtk3 libgnome_keyring gnome3.libgee_1 xorg.libSM xorg.libICE
     wrapGAppsHook ];
 
diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix
index 4766968b06f..0dbea652959 100644
--- a/pkgs/tools/security/gnupg/1.nix
+++ b/pkgs/tools/security/gnupg/1.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, readline, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.20";
+  name = "gnupg-1.4.21";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1k7d6zi0zznqsmcjic0yrgfhqklqz3qgd3yac7wxsa7s6088p604";
+    sha256 = "0xi2mshq8f6zbarb5f61c9w2qzwrdbjm4q8fqsrwlzc51h8a6ivb";
   };
 
   buildInputs = [ readline bzip2 ];
diff --git a/pkgs/tools/security/gnupg/1compat.nix b/pkgs/tools/security/gnupg/1compat.nix
index 7ff19c212e8..0fe294e5a11 100644
--- a/pkgs/tools/security/gnupg/1compat.nix
+++ b/pkgs/tools/security/gnupg/1compat.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index 30ce33bd6a5..418f622fafd 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -27,14 +27,16 @@ stdenv.mkDerivation rec {
     readline libusb gnutls adns openldap zlib bzip2
   ];
 
+  # gpgsm-linking is fixed by commit (c49c43d7) in the gnupg master branch;
+  # fix-gpgsm-linking.patch should be dropped after gnupg 2.1.15 is released
+  patches = [ ./fix-gpgsm-linking.patch ];
+
   postPatch = stdenv.lib.optionalString stdenv.isLinux ''
     sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
   ''; #" fix Emacs syntax highlighting :-(
 
   configureFlags = optional x11Support "--with-pinentry-pgm=${pinentry}/bin/pinentry";
 
-  postConfigure = "substituteAllInPlace tools/gpgkey2ssh.c";
-
   meta = with stdenv.lib; {
     homepage = http://gnupg.org;
     description = "A complete and free implementation of the OpenPGP standard";
diff --git a/pkgs/tools/security/gnupg/fix-gpgsm-linking.patch b/pkgs/tools/security/gnupg/fix-gpgsm-linking.patch
new file mode 100644
index 00000000000..290d43f5b0d
--- /dev/null
+++ b/pkgs/tools/security/gnupg/fix-gpgsm-linking.patch
@@ -0,0 +1,11 @@
+--- a/tests/gpgscm/Makefile.in
++++ b/tests/gpgscm/Makefile.in
+@@ -457,7 +457,7 @@
+ 	scheme-config.h opdefines.h scheme.c scheme.h scheme-private.h
+ 
+ gpgscm_LDADD = $(LDADD) $(common_libs) \
+-	$(NETLIBS) $(LIBICONV) $(LIBREADLINE) \
++	$(NETLIBS) $(LIBICONV) $(LIBREADLINE) $(LIBINTL) \
+ 	$(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS)
+ 
+ t_child_SOURCES = t-child.c
diff --git a/pkgs/tools/security/hologram/deps.json b/pkgs/tools/security/hologram/deps.json
index 177c960933e..3d40bfd2cee 100644
--- a/pkgs/tools/security/hologram/deps.json
+++ b/pkgs/tools/security/hologram/deps.json
@@ -1,19 +1,101 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/aybabtme/rgbterm",
-      "github.com/vaughan0/go-ini",
-      "github.com/howeyc/gopass",
-      "github.com/AdRoll/hologram",
-      "github.com/mitchellh/go-homedir",
-      "github.com/goamz/goamz",
-      "github.com/nmcclain/asn1-ber",
-      "gopkg.in/asn1-ber.v1",
-      "github.com/peterbourgon/g2s",
-      "github.com/nmcclain/ldap",
-      "github.com/golang/protobuf",
-      "golang.org/x/crypto"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/golang/protobuf",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/golang/protobuf",
+            "rev": "59b73b37c1e45995477aae817e4a653c89a858db",
+            "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/howeyc/gopass",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/howeyc/gopass",
+            "rev": "2c70fa70727c953c51695f800f25d6b44abb368e",
+            "sha256": "152lrkfxk205rlxiign0w5wb0fmfh910yz4jhlv4f4l1qr1h2lx8"
+        }
+    },
+    {
+        "goPackagePath": "github.com/aybabtme/rgbterm",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/aybabtme/rgbterm",
+            "rev": "c07e2f009ed2311e9c35bca12ec00b38ccd48283",
+            "sha256": "1qph7drds44jzx1whqlrh1hs58k0wv0v58zyq2a81hmm72gsgzam"
+        }
+    },
+    {
+        "goPackagePath": "github.com/vaughan0/go-ini",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/vaughan0/go-ini",
+            "rev": "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1",
+            "sha256": "1l1isi3czis009d9k5awsj4xdxgbxn4n9yqjc1ac7f724x6jacfa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/mitchellh/go-homedir",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/mitchellh/go-homedir",
+            "rev": "1f6da4a72e57d4e7edd4a7295a585e0a3999a2d4",
+            "sha256": "1l5lrsjrnwxn299mhvyxvz8hd0spkx0d31gszm4cyx21bg1xsiy9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/goamz/goamz",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/goamz/goamz",
+            "rev": "2a8fed5e89ab9e16210fc337d1aac780e8c7bbb7",
+            "sha256": "0rlinp0cvgw66qjndg4padr5s0wd3n7kjfggkx6czqj9bqaxcz4b"
+        }
+    },
+    {
+        "goPackagePath": "github.com/nmcclain/asn1-ber",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/go-asn1-ber/asn1-ber",
+            "rev": "f4b6f4a84f5cde443d1925b5ec185ee93c2bdc72",
+            "sha256": "0qdyax6yw3hvplzqc2ykpihi3m5y4nii581ay0mxy9c54bzs2nk9"
+        }
+    },
+    {
+        "goPackagePath": "gopkg.in/asn1-ber.v1",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/go-asn1-ber/asn1-ber",
+            "rev": "f4b6f4a84f5cde443d1925b5ec185ee93c2bdc72",
+            "sha256": "0qdyax6yw3hvplzqc2ykpihi3m5y4nii581ay0mxy9c54bzs2nk9"
+        }
+    },
+    {
+        "goPackagePath": "github.com/peterbourgon/g2s",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/peterbourgon/g2s",
+            "rev": "ec76db4c1ac16400ac0e17ca9c4840e1d23da5dc",
+            "sha256": "1p4p8755v2nrn54rik7yifpg9szyg44y5rpp0kryx4ycl72307rj"
+        }
+    },
+    {
+        "goPackagePath": "github.com/nmcclain/ldap",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/go-ldap/ldap",
+            "rev": "83e65426fd1c06626e88aa8a085e5bfed0208e29",
+            "sha256": "179lwaf0hvczl8g4xzkpcpzq25p1b23f7399bx5zl55iin62d8yz"
+        }
+    }
 ]
diff --git a/pkgs/tools/security/knockknock/default.nix b/pkgs/tools/security/knockknock/default.nix
index 089dd0de2bd..7e4ff32e880 100644
--- a/pkgs/tools/security/knockknock/default.nix
+++ b/pkgs/tools/security/knockknock/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, buildPythonApplication, python, pycrypto, hping }:
+{ stdenv, fetchFromGitHub, pythonPackages, buildPythonApplication, hping }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   rev  = "bf14bbff";
   name = "knockknock-r${rev}";
 
@@ -11,7 +11,7 @@ buildPythonApplication rec {
     sha256 = "1chpfs3w2vkjrgay69pbdr116z1jldv53fi768a1i05fdqhy1px4";
   };
 
-  propagatedBuildInputs = [ pycrypto ];
+  propagatedBuildInputs = [ pythonPackages.pycrypto ];
 
   patchPhase = ''
     sed -i '/build\//d' setup.py
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 415f8f52a47..f9c7dba5660 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -2,16 +2,15 @@
 , graphicalSupport ? false
 , libX11 ? null
 , gtk ? null
-, python ? null
-, pygtk ? null
+, pythonPackages
 , makeWrapper ? null
-, pygobject ? null
-, pycairo ? null
-, pysqlite ? null
 }:
 
 with stdenv.lib;
-stdenv.mkDerivation rec {
+
+let
+  inherit (pythonPackages) python pygtk pygobject pycairo pysqlite;
+in stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
   version = "7.12";
 
diff --git a/pkgs/tools/security/prey/default.nix b/pkgs/tools/security/prey/default.nix
index 57352f99091..ab041c8b05d 100644
--- a/pkgs/tools/security/prey/default.nix
+++ b/pkgs/tools/security/prey/default.nix
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
     cp -R . $out
     cp -R ${modulesSrc}/* $out/modules/
     wrapProgram "$out/prey.sh" \
-      --prefix PATH ":" "${xawtv}/bin:${imagemagick.out}/bin:${curl.bin}/bin:${scrot}/bin:${inetutils}/bin:${coreutils}/bin" \
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ xawtv imagemagick curl scrot inetutils coreutils ]}" \
       --set CURL_CA_BUNDLE "/etc/ssl/certs/ca-certificates.crt"
   '';
 
diff --git a/pkgs/tools/security/shc/default.nix b/pkgs/tools/security/shc/default.nix
new file mode 100644
index 00000000000..5348ecce647
--- /dev/null
+++ b/pkgs/tools/security/shc/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "shc-${version}";
+  version = "3.9.3";
+  rev = "${version}";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "neurobin";
+    repo = "shc";
+    sha256 = "00fqzg4a0f4kp4wr8swhi5zqds3gh3gf7cgi1cipn16av0818xsa";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://neurobin.github.io/shc;
+    description = "Shell Script Compiler";
+    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index 961a4d4e036..da45866ed2f 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -12,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "6.0.2";
+  version = "6.0.4";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${if stdenv.is64bit then "64" else "32"}-${version}_en-US.tar.xz";
     sha256 = if stdenv.is64bit then
-      "08zik2id1rkcl5cw4yscdgb8rdahx342j1fps576465sziy5z06x" else
-      "062ddifhdbzj9hjcnvjnqb1is2ydrv9x7hzam4jkpsfvllf4hxcg";
+      "14ds39frkg4hbim0icb372crink902f7i6mqj6dmbaiz2fi88y8q" else
+      "1d2mg46dg5y16h5lwzq0ilv3zk8aqy3vg3j4a5c3wzsxj0hpl4v5";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/tools/security/volatility/default.nix b/pkgs/tools/security/volatility/default.nix
index 511da154c50..6f1b7fe6ef4 100644
--- a/pkgs/tools/security/volatility/default.nix
+++ b/pkgs/tools/security/volatility/default.nix
@@ -1,10 +1,8 @@
-{ stdenv, fetchurl, buildPythonApplication, pycrypto }:
+{ stdenv, fetchurl, pythonPackages }:
 
-buildPythonApplication rec {
-  namePrefix = "";
+pythonPackages.buildPythonApplication rec {
   name = "volatility-2.4";
 
-
   src = fetchurl {
     url = "http://downloads.volatilityfoundation.org/releases/2.4/${name}.tar.gz";
     sha256 = "1wffrkvj2lrkqhwamyix9fy05y6g6w8h1sz2iqlm6i6ag7yxykv8";
@@ -12,7 +10,7 @@ buildPythonApplication rec {
 
   doCheck = false;
 
-  propagatedBuildInputs = [ pycrypto ];
+  propagatedBuildInputs = [ pythonPackages.pycrypto ];
 
   meta = with stdenv.lib; {
     homepage = https://code.google.com/p/volatility;
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index c428fb07fac..b0c6b073029 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -52,7 +52,8 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional (libsigrok != null) "--with-libsigrok" ++
     stdenv.lib.optional (python != null) "--with-python=${python}/bin/python";
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+  # Fix build on Glibc 2.24.
+  NIX_CFLAGS_COMPILE = "-Wno-error=cpp -Wno-error=deprecated-declarations";
 
   meta = with stdenv.lib; {
     description = "Daemon which collects system performance statistics periodically";
diff --git a/pkgs/tools/system/confd/deps.json b/pkgs/tools/system/confd/deps.json
index a3d9753927f..407870efdaa 100644
--- a/pkgs/tools/system/confd/deps.json
+++ b/pkgs/tools/system/confd/deps.json
@@ -1,15 +1,74 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/kelseyhightower/memkv",
-      "github.com/armon/consul-api",
-      "github.com/garyburd/redigo",
-      "github.com/samuel/go-zookeeper",
-      "github.com/BurntSushi/toml",
-      "github.com/Sirupsen/logrus",
-      "github.com/coreos/go-etcd",
-      "github.com/ugorji/go"
-    ]
-  }
+    {
+        "goPackagePath": "github.com/Sirupsen/logrus",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/Sirupsen/logrus",
+            "rev": "be52937128b38f1d99787bb476c789e2af1147f1",
+            "sha256": "1m6vvd4pg4lwglhk54lv5mf6cc8h7bi0d9zb3gar4crz531r66y4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/coreos/go-etcd",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/coreos/go-etcd",
+            "rev": "9847b93751a5fbaf227b893d172cee0104ac6427",
+            "sha256": "1ihq01ayqzxvn6hca5j00vl189vi5lm78f0fy2wpk5mrm3xi01l4"
+        }
+    },
+    {
+        "goPackagePath": "github.com/ugorji/go",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/ugorji/go",
+            "rev": "03e33114d4d60a1f37150325e15f51b0fa6fc4f6",
+            "sha256": "01kdzgx23cgb4k867m1pvsw14hhdr9jf2frqy6i4j4221055m57v"
+        }
+    },
+    {
+        "goPackagePath": "github.com/samuel/go-zookeeper",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/samuel/go-zookeeper",
+            "rev": "5bb5cfc093ad18a28148c578f8632cfdb4d802e4",
+            "sha256": "1kpx1ymh7rds0b2km291idnyqi0zck74nd8hnk72crgz7wmpqv6z"
+        }
+    },
+    {
+        "goPackagePath": "github.com/BurntSushi/toml",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/BurntSushi/toml",
+            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
+            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
+        }
+    },
+    {
+        "goPackagePath": "github.com/kelseyhightower/memkv",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/kelseyhightower/memkv",
+            "rev": "7f9c7f36f45ba80c62fe22779ee78d9b4ca36580",
+            "sha256": "090x65kr3gqh8fc8z4rm9hc2r0v0k7rfm5vsbmhdh21f48ixw540"
+        }
+    },
+    {
+        "goPackagePath": "github.com/armon/consul-api",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/armon/consul-api",
+            "rev": "f79efe463cdbb62f6d5a55f879a63ec554eb13e5",
+            "sha256": "1rkmzfhsazj9p2b6ywvs8yramzvxfxyvplzxi0ldvhcv04887gcp"
+        }
+    },
+    {
+        "goPackagePath": "github.com/garyburd/redigo",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/garyburd/redigo",
+            "rev": "535138d7bcd717d6531c701ef5933d98b1866257",
+            "sha256": "1m7nc1gvv5yqnq8ii75f33485il6y6prf8gxl97dimsw94qccc5v"
+        }
+    }
 ]
diff --git a/pkgs/tools/system/datefudge/default.nix b/pkgs/tools/system/datefudge/default.nix
new file mode 100644
index 00000000000..d2d14ddd110
--- /dev/null
+++ b/pkgs/tools/system/datefudge/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  pname = "datefudge";
+  version = "1.2.1";
+  name = "${pname}-${version}";
+
+  src = fetchgit {
+    sha256 = "0l83kn6c3jr3wzs880zfa64rw81cqjjk55gjxz71rjf2balp64ps";
+    url = "git://anonscm.debian.org/users/robert/datefudge.git";
+    rev = "cd141c63bebe9b579109b2232b5e83db18f222c2";
+  };
+
+  patchPhase = ''
+    substituteInPlace Makefile \
+     --replace "/usr" "/" \
+     --replace "-o root -g root" ""
+    substituteInPlace datefudge.sh \
+     --replace "@LIBDIR@" "$out/lib/"
+    '';
+
+  preInstallPhase = "mkdir -P $out/lib/datefudge";
+
+  installFlags = [ "DESTDIR=$(out)" ];
+
+  postInstall = "chmod +x $out/lib/datefudge/datefudge.so";
+
+  meta = with stdenv.lib; {
+    description = "Fake the system date";
+    longDescription = ''
+      datefudge is a small utility that pretends that the system time is
+      different by pre-loading a small library which modifies the time,
+      gettimeofday and clock_gettime system calls.
+    '';
+    homepage = http://packages.qa.debian.org/d/datefudge.html;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ leenaars ];
+  };
+}
diff --git a/pkgs/tools/system/efibootmgr/default.nix b/pkgs/tools/system/efibootmgr/default.nix
index 39fe1bdf09a..11418919e41 100644
--- a/pkgs/tools/system/efibootmgr/default.nix
+++ b/pkgs/tools/system/efibootmgr/default.nix
@@ -1,27 +1,22 @@
-{ stdenv, fetchFromGitHub, perl, efivar, pciutils, zlib }:
+{ stdenv, fetchFromGitHub, perl, efivar, pciutils, zlib, popt }:
 
 stdenv.mkDerivation rec {
   name = "efibootmgr-${version}";
-  version = "0.12";
+  version = "13";
 
-  buildInputs = [ perl efivar pciutils zlib ];
+  buildInputs = [ perl efivar pciutils zlib popt ];
 
   src = fetchFromGitHub {
     owner = "rhinstaller";
     repo = "efibootmgr";
-    rev = name;
-    sha256 = "0fmrsp67dln76896fvxalj2pamyp9dszf32kl06wdfi0km42z8sh";
+    rev = version;
+    sha256 = "1kwmvx111c3a5783kx3az76mkhpr1nsdx0yv09gp4k0hgzqlqj96";
   };
 
   NIX_CFLAGS_COMPILE = "-I${efivar}/include/efivar";
-  NIX_LDFLAGS = "-lefiboot -lefivar";
+  NIX_LDFLAGS = "-lefiboot -lefivar -lpopt";
 
-  postPatch = ''
-    substituteInPlace "./tools/install.pl" \
-      --replace "/usr/bin/perl" "${perl}/bin/perl"
-  '';
-
-  installFlags = [ "BINDIR=$(out)/sbin" ];
+  installFlags = [ "prefix=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
index 29ce0b1d897..bdc33ef749c 100644
--- a/pkgs/tools/system/efivar/default.nix
+++ b/pkgs/tools/system/efivar/default.nix
@@ -1,24 +1,16 @@
-{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, popt }:
+{ stdenv, fetchFromGitHub, pkgconfig, popt }:
 
 stdenv.mkDerivation rec {
   name = "efivar-${version}";
-  version = "0.23";
+  version = "27";
 
   src = fetchFromGitHub {
     owner = "rhinstaller";
     repo = "efivar";
     rev = version;
-    sha256 = "1fdqi053v335pjwj1i3yi9f1kasdzg3agfcp36bxsbhqjp4imlid";
+    sha256 = "1vz3hzs9k7bjg2r5bsw1irnfq77lmq9819sg9a7w6w528bvzr4lx";
   };
 
-  patches = [
-    # fix problem with linux 4.4 headers https://github.com/rhinstaller/efivar/issues/37
-    (fetchurl {
-      url = https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-libs/efivar/files/0.21-nvme_ioctl.h.patch;
-      sha256 = "1rjjpd4s1xdsnhq974j5wnwav8pfvd0jbvhk8a9wc2w029fvj7zp";
-    })
-  ];
-
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ popt ];
 
diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix
index aecab9c35d0..87c463bdac9 100644
--- a/pkgs/tools/system/proot/default.nix
+++ b/pkgs/tools/system/proot/default.nix
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
     owner = "cedric-vincent";
   };
 
-  buildInputs = [ talloc ];
+  buildInputs = [ talloc ] ++ stdenv.lib.optional enableStatic stdenv.cc.libc.static;
   nativeBuildInputs = [ docutils ];
 
   enableParallelBuilding = true;
 
   preBuild = stdenv.lib.optionalString enableStatic ''
-    export LDFLAGS="-static -L${talloc}/lib"
+    export LDFLAGS="-static"
   '';
 
   makeFlags = [ "-C src" ];
diff --git a/pkgs/tools/system/wsmancli/default.nix b/pkgs/tools/system/wsmancli/default.nix
index d66d4b57578..c1c62718de2 100644
--- a/pkgs/tools/system/wsmancli/default.nix
+++ b/pkgs/tools/system/wsmancli/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     ./bootstrap
 
     configureFlagsArray=(
-      LIBS="-L${openssl}/lib -lssl -lcrypto"
+      LIBS="-L${openssl.out}/lib -lssl -lcrypto"
     )
   '';
 
diff --git a/pkgs/tools/text/platinum-searcher/deps.json b/pkgs/tools/text/platinum-searcher/deps.json
index fc137e26298..5578478eb4c 100644
--- a/pkgs/tools/text/platinum-searcher/deps.json
+++ b/pkgs/tools/text/platinum-searcher/deps.json
@@ -1,16 +1,83 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-      "github.com/BurntSushi/toml",
-      "github.com/monochromegane/conflag",
-      "github.com/monochromegane/go-home",
-      "github.com/monochromegane/terminal",
-      "github.com/monochromegane/go-gitignore",
-      "github.com/shiena/ansicolor",
-      "golang.org/x/text",
-      "gopkg.in/yaml.v2",
-      "github.com/jessevdk/go-flags"
-    ]
-  }
+    {
+        "goPackagePath": "gopkg.in/yaml.v2",
+        "fetch": {
+            "type": "git",
+            "url": "https://gopkg.in/yaml.v2",
+            "rev": "a83829b6f1293c91addabc89d0571c246397bbf4",
+            "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"
+        }
+    },
+    {
+        "goPackagePath": "github.com/jessevdk/go-flags",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/jessevdk/go-flags",
+            "rev": "1b89bf73cd2c3a911d7b2a279ab085c4a18cf539",
+            "sha256": "027nglc5xx1cm03z9sisg0iqrhwcj6gh5z254rrpl8p4fwrxx680"
+        }
+    },
+    {
+        "goPackagePath": "github.com/BurntSushi/toml",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/BurntSushi/toml",
+            "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4",
+            "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"
+        }
+    },
+    {
+        "goPackagePath": "golang.org/x/text",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/text",
+            "rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e",
+            "sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"
+        }
+    },
+    {
+        "goPackagePath": "github.com/monochromegane/conflag",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/monochromegane/conflag",
+            "rev": "6d68c9aa4183844ddc1655481798fe4d90d483e9",
+            "sha256": "0csfr5c8d3kbna9sqhzfp2z06wq6mc6ijja1zj2i82kzsq8534wa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/monochromegane/go-home",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/monochromegane/go-home",
+            "rev": "25d9dda593924a11ea52e4ffbc8abdb0dbe96401",
+            "sha256": "172chakrj22xfm0bcda4qj5zqf7lwr53pzwc3xj6wz8vd2bcxkww"
+        }
+    },
+    {
+        "goPackagePath": "github.com/monochromegane/terminal",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/monochromegane/terminal",
+            "rev": "2da212063ce19aed90ee5bbb00ad1ad7393d7f48",
+            "sha256": "1rddaq9pk5q57ildms35iihghqk505gb349pb0f6k3svchay38nh"
+        }
+    },
+    {
+        "goPackagePath": "github.com/monochromegane/go-gitignore",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/monochromegane/go-gitignore",
+            "rev": "38717d0a108ca0e5af632cd6845ca77d45b50729",
+            "sha256": "0r1inabpgg6sn6i47b02hcmd2p4dc1ab1mcy20mn1b2k3mpdj4b7"
+        }
+    },
+    {
+        "goPackagePath": "github.com/shiena/ansicolor",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/shiena/ansicolor",
+            "rev": "a5e2b567a4dd6cc74545b8a4f27c9d63b9e7735b",
+            "sha256": "0gwplb1b4fvav1vjf4b2dypy5rcp2w41vrbxkd1dsmac870cy75p"
+        }
+    }
 ]
diff --git a/pkgs/tools/text/sift/deps.json b/pkgs/tools/text/sift/deps.json
index 649660353ad..3869e6e5ca9 100644
--- a/pkgs/tools/text/sift/deps.json
+++ b/pkgs/tools/text/sift/deps.json
@@ -1,10 +1,29 @@
 [
-  {
-    "include": "../../libs.json",
-    "packages": [
-        "github.com/svent/go-flags",
-        "github.com/svent/go-nbreader",
-        "golang.org/x/crypto"
-    ]
-  }
+    {
+        "goPackagePath": "golang.org/x/crypto",
+        "fetch": {
+            "type": "git",
+            "url": "https://go.googlesource.com/crypto",
+            "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6",
+            "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"
+        }
+    },
+    {
+        "goPackagePath": "github.com/svent/go-flags",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/svent/go-flags",
+            "rev": "4bcbad344f0318adaf7aabc16929701459009aa3",
+            "sha256": "1gb416fgxl9gq4q6wsv3i2grq1mzbi7lvfvmfdqbxqbv9vizzh34"
+        }
+    },
+    {
+        "goPackagePath": "github.com/svent/go-nbreader",
+        "fetch": {
+            "type": "git",
+            "url": "https://github.com/svent/go-nbreader",
+            "rev": "7cef48da76dca6a496faa7fe63e39ed665cbd219",
+            "sha256": "0hw11jj5r3f6qwydg41nc3c6aadlbkhc1qpxra2609lis0qa9h4r"
+        }
+    }
 ]
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index d9d69a4a4c0..59059c632b9 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -235,7 +235,7 @@ stdenv.mkDerivation rec {
     # use it to work around an impurity in the tetex package; tetex tools
     # cannot find their neighbours (e.g. pdflatex doesn't find mktextfm).
     # We can remove PATH= when those impurities are fixed.
-    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${tetex}/bin:${coreutils}/bin:${gnused}/bin')|" \
+    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${stdenv.lib.makeBinPath [ tetex coreutils gnused ]}')|" \
         -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \
         -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \
         -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \
diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix
index a426356a09f..ce8a60dca86 100644
--- a/pkgs/tools/typesetting/djvu2pdf/default.nix
+++ b/pkgs/tools/typesetting/djvu2pdf/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp -p djvu2pdf $out/bin
-    wrapProgram $out/bin/djvu2pdf --prefix PATH : ${ghostscript}/bin:${djvulibre.bin}/bin:${which}/bin
+    wrapProgram $out/bin/djvu2pdf --prefix PATH : ${stdenv.lib.makeBinPath [ ghostscript djvulibre which ]}
 
     mkdir -p $out/man/man1
     cp -p djvu2pdf.1.gz $out/man/man1
diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix
index 90b2ff61f34..029227cd118 100644
--- a/pkgs/tools/typesetting/docbook2odf/default.nix
+++ b/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     sed -i "s|/usr/share/docbook2odf|$out/share/docbook2odf|" "$out/bin/docbook2odf"
 
     wrapProgram "$out/bin/docbook2odf" \
-      --prefix PATH : "${zip}/bin:${libxslt}/bin" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ zip libxslt ]}" \
       --prefix PERL5PATH : "${stdenv.lib.makePerlPath [PerlMagick]}"
   '';
 
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
index cef212b2a13..6e5f98d4a71 100644
--- a/pkgs/tools/typesetting/pdfgrep/default.nix
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }:
+{ fetchurl, stdenv, pkgconfig, poppler, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "pdfgrep-${version}";
@@ -9,19 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437";
   };
 
-  buildInputs = [ pkgconfig poppler poppler_data makeWrapper ];
+  buildInputs = [ pkgconfig poppler makeWrapper ];
 
   patchPhase = ''
     sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc
     sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc
   '';
 
-  # workarround since it can't be hardcoded in pdfgrep
-  preFixup = ''
-    wrapProgram "$out/bin/pdfgrep" \
-      --set POPPLER_DATADIR "${poppler_data}/share/poppler"
-  '';
-
   meta = {
     description = "A tool to search text in PDF files";
     homepage = http://pdfgrep.sourceforge.net/;
diff --git a/pkgs/tools/typesetting/tex/texlive-new/pkgs.nix b/pkgs/tools/typesetting/tex/texlive-new/pkgs.nix
index aa0e4690248..4345e9744b7 100644
--- a/pkgs/tools/typesetting/tex/texlive-new/pkgs.nix
+++ b/pkgs/tools/typesetting/tex/texlive-new/pkgs.nix
@@ -22857,7 +22857,7 @@ tl: { # no indentation
   version = "prot2.5";
 };
 "xdvi" = {
-  md5.run = "ada6dc1ceffd19a5fdd33d0536c8f82a";
+  md5.run = "0d66ffa281d713e3395ee0f5db93c9bd";
   md5.doc = "eda28e06fbd79ed2bb26aff4d4d2fd22";
   hasRunfiles = true;
   version = "22.87";
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index 2ed846cb070..ed3dad64f16 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/bin/xmlto" \
-       --prefix PATH : "${libxslt.bin}/bin:${libxml2.bin}/bin:${getopt}/bin"
+       --prefix PATH : "${stdenv.lib.makeBinPath [ libxslt libxml2 getopt ]}"
 
     # `w3m' is needed for HTML to text conversions.
     substituteInPlace "$out/share/xmlto/format/docbook/txt" \
diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix
index 4aee9064d72..40fe5eb0147 100644
--- a/pkgs/tools/video/mjpegtools/default.nix
+++ b/pkgs/tools/video/mjpegtools/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ libdv libjpeg libpng pkgconfig ]
               ++ lib.optional (!withMinimal) [ gtk libX11 SDL SDL_gfx ];
 
+  NIX_CFLAGS_COMPILE = lib.optional (!withMinimal) "-I${SDL}/include/SDL";
+
   postPatch = ''
     sed -i -e '/ARCHFLAGS=/s:=.*:=:' configure
   '';
@@ -28,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A suite of programs for processing MPEG or MJPEG video";
-    homepage = http://mjpeg.sourceforge.net/;
+    homepage = "http://mjpeg.sourceforge.net/";
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/tools/virtualization/ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
index 6ccce4684ad..edb3d6add16 100644
--- a/pkgs/tools/virtualization/ec2-ami-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       for i in $out/bin/*; do
           wrapProgram $i \
             --set EC2_HOME $out \
-            --prefix PATH : ${ruby}/bin:${openssl.bin}/bin
+            --prefix PATH : ${stdenv.lib.makeBinPath [ ruby openssl ]}
       done
 
       sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index dd458deb289..ec1df4cf166 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -28,7 +28,9 @@ doNotDisplayTwice rec {
   btrfsProgs = btrfs-progs; # added 2016-01-03
   buildbotSlave = buildbot-slave;  # added 2014-12-09
   bundler_HEAD = bundler; # added 2015-11-15
+  checkbashism = checkbashisms; # added 2016-08-16
   cheetahTemplate = pythonPackages.cheetah; # 2015-06-15
+  cifs_utils = cifs-utils; # added 2016-08
   clangAnalyzer = clang-analyzer;  # added 2015-02-20
   clawsMail = claws-mail; # added 2016-04-29
   conkerorWrapper = conkeror; # added 2015-01
@@ -49,6 +51,7 @@ doNotDisplayTwice rec {
   git-hub = gitAndTools.git-hub; # added 2016-04-29
   grantlee5 = qt5.grantlee;  # added 2015-12-19
   gupnptools = gupnp-tools;  # added 2015-12-19
+  gnustep-make = gnustep.make; # added 2016-7-6
   htmlTidy = html-tidy;  # added 2014-12-06
   inherit (haskell.compiler) jhc uhc;   # 2015-05-15
   inotifyTools = inotify-tools;
@@ -73,17 +76,13 @@ doNotDisplayTwice rec {
   mupen64plus1_5 = mupen64plus; # added 2016-02-12
   ncat = nmap;  # added 2016-01-26
   nfsUtils = nfs-utils;  # added 2014-12-06
+  owncloudclient = owncloud-client;  # added 2016-08
   pidgin-with-plugins = pidgin; # added 2016-06
   pidginlatexSF = pidginlatex; # added 2014-11-02
   poppler_qt5 = qt5.poppler;  # added 2015-12-19
   qca-qt5 = qt5.qca-qt5;  # added 2015-12-19
   QmidiNet = qmidinet;  # added 2016-05-22
   quake3game = ioquake3; # added 2016-01-14
-  quassel_kf5 = kde5.quassel; # added 2015-09-30
-  quassel_qt5 = kde5.quassel_qt5; # added 2015-09-30
-  quasselClient_kf5 = kde5.quasselClient; # added 2015-09-30
-  quasselClient_qt5 = kde5.quasselClient_qt5; # added 2015-09-30
-  quasselDaemon_qt5 = kde5.quasselDaemon; # added 2015-09-30
   qwt6 = qt5.qwt;  # added 2015-12-19
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   rekonqWrapper = rekonq; # added 2015-01
@@ -111,4 +110,5 @@ doNotDisplayTwice rec {
   xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   xlibs = xorg; # added 2015-09
   youtubeDL = youtube-dl;  # added 2014-10-26
+  m3d-linux = m33-linux; # added 2016-08-13
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3137da9d36c..845ee5fb406 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -162,6 +162,8 @@ in
 
   fetchdarcs = callPackage ../build-support/fetchdarcs { };
 
+  fetchfossil = callPackage ../build-support/fetchfossil { };
+
   fetchgit = callPackage ../build-support/fetchgit {
     git = gitMinimal;
   };
@@ -646,9 +648,7 @@ in
     sha256 = "0p2sxrpzd0vsk11zf3kb5h12yl1nq4yypb5mpjrm8ww0cfaijck2";
   };
 
-  btfs = callPackage ../os-specific/linux/btfs {
-    libtorrentRasterbar = libtorrentRasterbar_1_09;
-  };
+  btfs = callPackage ../os-specific/linux/btfs { };
 
   cabal2nix = self.haskell.lib.overrideCabal self.haskellPackages.cabal2nix (drv: {
     isLibrary = false;
@@ -666,6 +666,12 @@ in
 
   caddy = callPackage ../servers/caddy { };
 
+  calamares = qt5.callPackage ../tools/misc/calamares rec {
+    python = python3;
+    boost = pkgs.boost.override { python=python3; };
+    libyamlcpp = callPackage ../development/libraries/libyaml-cpp { makePIC=true; boost=boost; };
+  };
+
   capstone = callPackage ../development/libraries/capstone { };
 
   catch = callPackage ../development/libraries/catch { };
@@ -700,6 +706,8 @@ in
 
   clib = callPackage ../tools/package-management/clib { };
 
+  colord-kde = qt5.callPackage ../tools/misc/colord-kde/0.5.nix {};
+
   consul = callPackage ../servers/consul { };
 
   consul-ui = callPackage ../servers/consul/ui.nix { };
@@ -724,16 +732,18 @@ in
 
   coturn = callPackage ../servers/coturn { };
 
+  crunch = callPackage ../tools/security/crunch { };
+
   daemontools = callPackage ../tools/admin/daemontools { };
 
   datamash = callPackage ../tools/misc/datamash { };
 
+  datefudge = callPackage ../tools/system/datefudge { };
+
   ddate = callPackage ../tools/misc/ddate { };
 
   deis = callPackage ../development/tools/deis {};
 
-  dfilemanager = self.kde5.dfilemanager;
-
   diagrams-builder = callPackage ../tools/graphics/diagrams-builder {
     inherit (haskellPackages) ghcWithPackages diagrams-builder;
   };
@@ -837,14 +847,7 @@ in
 
   mpdcron = callPackage ../tools/audio/mpdcron { };
 
-  mpdris2 = callPackage ../tools/audio/mpdris2 {
-    python = pythonFull;
-    wrapPython = pythonPackages.wrapPython;
-    mpd = pythonPackages.mpd;
-    pygtk = pythonPackages.pygtk;
-    dbus = pythonPackages.dbus;
-    pynotify = pythonPackages.notify;
-  };
+  mpdris2 = callPackage ../tools/audio/mpdris2 { };
 
   playerctl = callPackage ../tools/audio/playerctl { };
 
@@ -1162,7 +1165,7 @@ in
 
   biosdevname = callPackage ../tools/networking/biosdevname { };
 
-  checkbashism = callPackage ../development/tools/misc/checkbashisms { };
+  checkbashisms = callPackage ../development/tools/misc/checkbashisms { };
 
   clamav = callPackage ../tools/security/clamav { };
 
@@ -1396,7 +1399,6 @@ in
   duo-unix = callPackage ../tools/security/duo-unix { };
 
   duplicity = callPackage ../tools/backup/duplicity {
-    inherit (pythonPackages) boto lockfile paramiko ecdsa pycrypto;
     gnupg = gnupg1;
   };
 
@@ -1528,6 +1530,8 @@ in
 
     hangul = callPackage ../tools/inputmethods/fcitx-engines/fcitx-hangul { };
 
+    unikey = callPackage ../tools/inputmethods/fcitx-engines/fcitx-unikey { };
+
     m17n = callPackage ../tools/inputmethods/fcitx-engines/fcitx-m17n { };
 
     mozc = callPackage ../tools/inputmethods/fcitx-engines/fcitx-mozc {
@@ -2202,6 +2206,8 @@ in
 
   keybase-go = callPackage ../tools/security/keybase { };
 
+  kbfs = callPackage ../tools/security/kbfs { };
+
   keychain = callPackage ../tools/misc/keychain { };
 
   keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };
@@ -2216,6 +2222,8 @@ in
 
   kpcli = callPackage ../tools/security/kpcli { };
 
+  kronometer = qt5.callPackage ../tools/misc/kronometer { };
+
   kst = qt5.callPackage ../tools/graphics/kst { gsl = gsl_1; };
 
   leocad = callPackage ../applications/graphics/leocad { };
@@ -2386,8 +2394,12 @@ in
 
   libevhtp = callPackage ../development/libraries/libevhtp { };
 
+  libircclient = callPackage ../development/libraries/libircclient { };
+
   liboauth = callPackage ../development/libraries/liboauth { };
 
+  libsidplayfp = callPackage ../development/libraries/libsidplayfp { };
+
   libsrs2 = callPackage ../development/libraries/libsrs2 { };
 
   libtermkey = callPackage ../development/libraries/libtermkey { };
@@ -2768,7 +2780,6 @@ in
   nmap = callPackage ../tools/security/nmap { };
 
   nmap_graphical = callPackage ../tools/security/nmap {
-    inherit (pythonPackages) pysqlite;
     graphicalSupport = true;
   };
 
@@ -2926,7 +2937,7 @@ in
     owncloud82
     owncloud90;
 
-  owncloudclient = callPackage ../applications/networking/owncloud-client { };
+  owncloud-client = callPackage ../applications/networking/owncloud-client { };
 
   p2pvc = callPackage ../applications/video/p2pvc {};
 
@@ -3186,8 +3197,6 @@ in
 
   pwnat = callPackage ../tools/networking/pwnat { };
 
-  pyatspi = python3Packages.pyatspi;
-
   pycangjie = pythonPackages.pycangjie;
 
   pydb = callPackage ../development/tools/pydb { };
@@ -3196,8 +3205,6 @@ in
 
   pystringtemplate = callPackage ../development/python-modules/stringtemplate { };
 
-  pythonDBus = self.dbus_python;
-
   pythonIRClib = pythonPackages.pythonIRClib;
 
   pythonSexy = callPackage ../development/python-modules/libsexy { };
@@ -3214,9 +3221,7 @@ in
 
   openmodelica = callPackage ../applications/science/misc/openmodelica { };
 
-  qarte = callPackage ../applications/video/qarte {
-    sip = pythonPackages.sip_4_16;
-  };
+  qarte = callPackage ../applications/video/qarte { };
 
   qnial = callPackage ../development/interpreters/qnial {};
 
@@ -3456,9 +3461,7 @@ in
 
   sharutils = callPackage ../tools/archivers/sharutils { };
 
-  shotwell = callPackage ../applications/graphics/shotwell {
-    vala = vala_0_28;
-  };
+  shotwell = callPackage ../applications/graphics/shotwell { };
 
   shout = callPackage ../applications/networking/irc/shout { };
 
@@ -3526,9 +3529,7 @@ in
 
   sonarr = callPackage ../servers/sonarr { };
 
-  sonata = callPackage ../applications/audio/sonata {
-    inherit (python3Packages) buildPythonApplication python isPy3k dbus pygobject3 mpd2;
-  };
+  sonata = callPackage ../applications/audio/sonata { };
 
   sparsehash = callPackage ../development/libraries/sparsehash { };
 
@@ -3624,9 +3625,7 @@ in
 
   svnfs = callPackage ../tools/filesystems/svnfs { };
 
-  svtplay-dl = callPackage ../tools/misc/svtplay-dl {
-    inherit (pythonPackages) nose mock requests2;
-  };
+  svtplay-dl = callPackage ../tools/misc/svtplay-dl { };
 
   sysbench = callPackage ../development/tools/misc/sysbench {};
 
@@ -3760,6 +3759,8 @@ in
 
   tracefilesim = callPackage ../development/tools/analysis/garcosim/tracefilesim { };
 
+  translate-shell = callPackage ../applications/misc/translate-shell { };
+
   trash-cli = callPackage ../tools/misc/trash-cli { };
 
   trickle = callPackage ../tools/networking/trickle {};
@@ -3977,6 +3978,8 @@ in
 
   uemacs = callPackage ../applications/editors/uemacs { };
 
+  uftp = callPackage ../servers/uftp { };
+
   uhttpmock = callPackage ../development/libraries/uhttpmock { };
 
   uim = callPackage ../tools/inputmethods/uim {
@@ -4021,6 +4024,8 @@ in
 
   ugarit-manifest-maker = callPackage ../tools/backup/ugarit-manifest-maker { };
 
+  unar = callPackage ../tools/archivers/unar { stdenv = clangStdenv; };
+
   unarj = callPackage ../tools/archivers/unarj { };
 
   unshield = callPackage ../tools/archivers/unshield { };
@@ -4044,7 +4049,6 @@ in
 
   valum = callPackage ../development/web/valum {
     inherit (gnome3) libgee;
-    vala = vala_0_28;
   };
 
   varnish = callPackage ../servers/varnish { };
@@ -4387,13 +4391,11 @@ in
     else {}
   ) // {
     ocamlPackages = ocamlPackages_4_02;
+    coq = coq_8_5;
   });
 
   cryptol = self.haskell.packages.lts.cryptol;
 
-  cython = pythonPackages.cython;
-  cython3 = python3Packages.cython;
-
   devpi-client = callPackage ../development/tools/devpi-client {};
 
   drumstick = callPackage ../development/libraries/drumstick { };
@@ -4795,10 +4797,14 @@ in
   openjdk = if stdenv.isDarwin then self.openjdk7 else self.openjdk8;
 
   jdk7 = self.openjdk7 // { outputs = [ "out" ]; };
-  jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}" (self.openjdk7.jre // { outputs = [ "jre" ]; });
+  jre7 = lib.setName "openjre-${lib.getVersion pkgs.openjdk7.jre}"
+    (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
+      (self.openjdk7.jre // { outputs = [ "jre" ]; }));
 
   jdk8 = self.openjdk8 // { outputs = [ "out" ]; };
-  jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (self.openjdk8.jre // { outputs = [ "jre" ]; });
+  jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}"
+    (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
+      (self.openjdk8.jre // { outputs = [ "jre" ]; }));
 
   jdk = if stdenv.isDarwin then self.jdk7 else self.jdk8;
   jre = if stdenv.isDarwin then self.jre7 else self.jre8;
@@ -5400,6 +5406,8 @@ in
 
     stringext = callPackage ../development/ocaml-modules/stringext { };
 
+    topkg = callPackage ../development/ocaml-modules/topkg { };
+
     tsdl = callPackage ../development/ocaml-modules/tsdl { };
 
     twt = callPackage ../development/ocaml-modules/twt { };
@@ -5541,6 +5549,8 @@ in
             then callPackage ../development/compilers/smlnj { }
             else callPackage_i686 ../development/compilers/smlnj { };
 
+  solc = callPackage ../development/compilers/solc { };
+
   sqldeveloper = callPackage ../development/tools/database/sqldeveloper { };
 
   squeak = callPackage ../development/compilers/squeak { };
@@ -5592,7 +5602,7 @@ in
 
   urweb = callPackage ../development/compilers/urweb { };
 
-  vala = callPackage ../development/compilers/vala/default.nix { };
+  vala_0_23 = callPackage ../development/compilers/vala/0.23.nix { };
 
   vala_0_26 = callPackage ../development/compilers/vala/0.26.nix { };
 
@@ -5969,7 +5979,6 @@ in
   regina = callPackage ../development/interpreters/regina { };
 
   renpy = callPackage ../development/interpreters/renpy {
-    wrapPython = pythonPackages.wrapPython;
     ffmpeg = ffmpeg_2;
   };
 
@@ -6121,9 +6130,10 @@ in
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
-  apacheKafka = apacheKafka_0_9;
+  apacheKafka = apacheKafka_0_10;
   apacheKafka_0_8 = callPackage ../servers/apache-kafka { majorVersion = "0.8"; };
   apacheKafka_0_9 = callPackage ../servers/apache-kafka { majorVersion = "0.9"; };
+  apacheKafka_0_10 = callPackage ../servers/apache-kafka { majorVersion = "0.10"; };
 
   astyle = callPackage ../development/tools/misc/astyle { };
 
@@ -6427,6 +6437,8 @@ in
     inherit (xorg) libX11 libXext libXi libXtst;
   };
 
+  github-release = callPackage ../development/tools/github/github-release { };
+
   global = callPackage ../development/tools/misc/global { };
 
   gnome_doc_utils = callPackage ../development/tools/documentation/gnome-doc-utils {};
@@ -6442,6 +6454,8 @@ in
   gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
   gnumake = self.gnumake42;
 
+  gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep {});
+  
   gob2 = callPackage ../development/tools/misc/gob2 { };
 
   gocd-agent = callPackage ../development/tools/continuous-integration/gocd-agent { };
@@ -6451,8 +6465,9 @@ in
   gotty = callPackage ../servers/gotty { };
 
   gradleGen = callPackage ../development/tools/build-managers/gradle { };
-  gradle = self.gradleGen.gradleLatest;
-  gradle25 = self.gradleGen.gradle25;
+  gradle = self.gradleGen.gradle_latest;
+  gradle_2_14 = self.gradleGen.gradle_2_14;
+  gradle_2_5 = self.gradleGen.gradle_2_5;
 
   gperf = callPackage ../development/tools/misc/gperf { };
 
@@ -6596,6 +6611,8 @@ in
 
   oprofile = callPackage ../development/tools/profiling/oprofile { };
 
+  pahole = callPackage ../development/tools/misc/pahole {};
+
   parse-cli-bin = callPackage ../development/tools/parse-cli-bin { };
 
   patchelf = callPackage ../development/tools/misc/patchelf { };
@@ -6801,6 +6818,8 @@ in
     ocamlPackages = ocamlPackages_4_02;
   });
 
+  visualvm = callPackage ../development/tools/java/visualvm { };
+
   xc3sprog = callPackage ../development/tools/misc/xc3sprog { };
 
   xmlindent = callPackage ../development/web/xmlindent {};
@@ -7077,8 +7096,12 @@ in
 
   cutee = callPackage ../development/libraries/cutee { };
 
+  cxxtools = callPackage ../development/libraries/cxxtools { };
+
   cwiid = callPackage ../development/libraries/cwiid { };
 
+  cxx-prettyprint = callPackage ../development/libraries/cxx-prettyprint { };
+
   cyrus_sasl = callPackage ../development/libraries/cyrus-sasl {
     kerberos = if stdenv.isFreeBSD then libheimdal else kerberos;
   };
@@ -7100,7 +7123,6 @@ in
   dbus_cplusplus  = callPackage ../development/libraries/dbus-cplusplus { };
   dbus_glib       = callPackage ../development/libraries/dbus-glib { };
   dbus_java       = callPackage ../development/libraries/java/dbus-java { };
-  dbus_python     = self.pythonPackages.dbus;
 
   dbus-sharp-1_0 = callPackage ../development/libraries/dbus-sharp/dbus-sharp-1.0.nix { };
   dbus-sharp-2_0 = callPackage ../development/libraries/dbus-sharp { };
@@ -8769,7 +8791,6 @@ in
   minmay = callPackage ../development/libraries/minmay { };
 
   miro = callPackage ../applications/video/miro {
-    inherit (pythonPackages) pywebkitgtk pycurl mutagen;
     avahi = avahi.override {
       withLibdnssdCompat = true;
     };
@@ -8782,7 +8803,9 @@ in
     withGUI = false;
   };
 
-  mlt-qt4 = callPackage ../development/libraries/mlt {
+  mlt = callPackage ../development/libraries/mlt {};
+
+  mlt-qt4 = callPackage ../development/libraries/mlt/qt-4.nix {
     ffmpeg = ffmpeg_2;
     qt = qt4;
   };
@@ -8899,7 +8922,8 @@ in
 
   oniguruma = callPackage ../development/libraries/oniguruma { };
 
-  openal = openalSoft;
+  openal = self.openalSoft;
+
   openalSoft = callPackage ../development/libraries/openal-soft {
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
   };
@@ -9088,6 +9112,8 @@ in
 
   protobuf = protobuf2_6;
   protobuf3_0 = lowPrio (callPackage ../development/libraries/protobuf/3.0.nix { });
+  # 3.0.0-beta-2 is only introduced for tensorflow. remove this version when tensorflow is moved to 3.0.
+  protobuf3_0_0b2 = lowPrio (callPackage ../development/libraries/protobuf/3.0.0-beta-2.nix { });
   protobuf2_6 = callPackage ../development/libraries/protobuf/2.6.nix { };
   protobuf2_5 = callPackage ../development/libraries/protobuf/2.5.nix { };
 
@@ -9228,6 +9254,8 @@ in
       ffmpeg = ffmpeg_2;
     });
 
+    qtwebkit-plugins = callPackage ../development/libraries/qtwebkit-plugins { };
+
   } // kdeFrameworks;
 
   qtEnv = qt5.env;
@@ -9324,9 +9352,7 @@ in
     openglSupport = mesaSupported;
     alsaSupport = stdenv.isLinux;
     x11Support = !stdenv.isCygwin;
-    pulseaudioSupport = if (config ? pulseaudio)
-                        then config.pulseaudio
-                        else stdenv.isLinux;
+    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
     inherit (darwin.apple_sdk.frameworks) OpenGL CoreAudio CoreServices AudioUnit Kernel Cocoa;
   };
 
@@ -9350,7 +9376,8 @@ in
     openglSupport = mesaSupported;
     alsaSupport = stdenv.isLinux;
     x11Support = !stdenv.isCygwin;
-    pulseaudioSupport = config.pulseaudio or false; # better go through ALSA
+    udevSupport = stdenv.isLinux;
+    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
     inherit (darwin.apple_sdk.frameworks) AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL;
   };
 
@@ -9557,12 +9584,18 @@ in
 
   tnt = callPackage ../development/libraries/tnt { };
 
+  tntnet = callPackage ../development/libraries/tntnet { };
+
+  tntdb = callPackage ../development/libraries/tntdb { };
+
   kyotocabinet = callPackage ../development/libraries/kyotocabinet { };
 
   tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
 
   tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { };
 
+  torch = callPackage ../development/libraries/torch {};
+
   tremor = callPackage ../development/libraries/tremor { };
 
   udns = callPackage ../development/libraries/udns { };
@@ -9714,6 +9747,8 @@ in
 
   wiredtiger = callPackage ../development/libraries/wiredtiger { };
 
+  wt = callPackage ../development/libraries/wt { };
+
   wvstreams = callPackage ../development/libraries/wvstreams { };
 
   wxGTK = wxGTK28;
@@ -9763,6 +9798,8 @@ in
   xcb-util-cursor = xorg.xcbutilcursor;
   xcb-util-cursor-HEAD = callPackage ../development/libraries/xcb-util-cursor/HEAD.nix { };
 
+  xcbutilxrm = callPackage ../servers/x11/xorg/xcb-util-xrm.nix { };
+
   xdo = callPackage ../tools/misc/xdo { };
 
   xineLib = callPackage ../development/libraries/xine-lib {
@@ -9818,6 +9855,8 @@ in
     fetchurl = fetchurlBoot;
   };
 
+  libdynd = callPackage ../development/libraries/libdynd { };
+
   zlog = callPackage ../development/libraries/zlog { };
 
   zlibStatic = lowPrio (appendToName "static" (callPackage ../development/libraries/zlib {
@@ -9976,6 +10015,8 @@ in
 
   go2nix = callPackage ../development/tools/go2nix { };
 
+  leaps = callPackage ../development/tools/leaps { };
+
   ### DEVELOPMENT / LISP MODULES
 
   asdf = callPackage ../development/lisp-modules/asdf {
@@ -10062,22 +10103,10 @@ in
     self = pypyPackages;
   };
 
-  bsddb3 = pythonPackages.bsddb3;
-
-  ecdsa = pythonPackages.ecdsa;
-
-  pycairo = pythonPackages.pycairo;
-
   pycapnp = pythonPackages.pycapnp;
 
-  pycrypto = pythonPackages.pycrypto;
-
-  pycups = pythonPackages.pycups;
-
   pyexiv2 = pythonPackages.pyexiv2;
 
-  pygame = pythonPackages.pygame;
-
   pygobject = pythonPackages.pygobject;
 
   pygobject3 = pythonPackages.pygobject3;
@@ -10088,14 +10117,8 @@ in
 
   pyGtkGlade = pythonPackages.pyGtkGlade;
 
-  pylint = pythonPackages.pylint;
-
-  pyopenssl = pythonPackages.pyopenssl;
-
   rhpl = pythonPackages.rhpl;
 
-  pyqt4 = pythonPackages.pyqt4;
-
   pysideApiextractor = pythonPackages.pysideApiextractor;
 
   pysideGeneratorrunner = pythonPackages.pysideGeneratorrunner;
@@ -10112,12 +10135,8 @@ in
 
   rebol =  callPackage ../development/interpreters/rebol { };
 
-  setuptools = pythonPackages.setuptools;
-
   slowaes = pythonPackages.slowaes;
 
-  twisted = pythonPackages.twisted;
-
   yolk = callPackage ../development/python-modules/yolk {};
 
   ZopeInterface = pythonPackages.zope_interface;
@@ -10332,6 +10351,9 @@ in
 
   mailman = callPackage ../servers/mail/mailman { };
 
+  mattermost = callPackage ../servers/mattermost { };
+  matterircd = callPackage ../servers/mattermost/matterircd.nix { };
+
   mediatomb = callPackage ../servers/mediatomb {
     spidermonkey = spidermonkey_185;
   };
@@ -10470,6 +10492,8 @@ in
 
   influxdb = (callPackage ../servers/nosql/influxdb/v0.nix { }).bin // { outputs = [ "bin" ]; };
 
+  influxdb10 = (callPackage ../servers/nosql/influxdb/v1.nix { }).bin // { outputs = [ "bin" ]; }; 
+
   hyperdex = callPackage ../servers/nosql/hyperdex { };
 
   mysql55 = callPackage ../servers/sql/mysql/5.5.x.nix {
@@ -10787,10 +10811,6 @@ in
 
   blktrace = callPackage ../os-specific/linux/blktrace { };
 
-  bluez4 = lowPrio (callPackage ../os-specific/linux/bluez {
-    pygobject = pygobject3;
-  });
-
   bluez5 = callPackage ../os-specific/linux/bluez/bluez5.nix { };
 
   # Needed for LibreOffice
@@ -10810,7 +10830,7 @@ in
 
   checksec = callPackage ../os-specific/linux/checksec { };
 
-  cifs_utils = callPackage ../os-specific/linux/cifs-utils { };
+  cifs-utils = callPackage ../os-specific/linux/cifs-utils { };
 
   conky = callPackage ../os-specific/linux/conky ({
     lua = lua5_1; # conky can use 5.2, but toluapp can not
@@ -10874,12 +10894,6 @@ in
     stubs = callPackages ../os-specific/darwin/stubs {};
   };
 
-  gnustep-make = callPackage ../development/tools/build-managers/gnustep/make {};
-  gnustep-xcode = callPackage ../development/tools/build-managers/gnustep/xcode {
-    inherit (darwin.apple_sdk.frameworks) Foundation;
-    inherit (darwin) libobjc;
-  };
-
   devicemapper = self.lvm2;
 
   disk_indicator = callPackage ../os-specific/linux/disk-indicator { };
@@ -10939,7 +10953,9 @@ in
 
   fatrace = callPackage ../os-specific/linux/fatrace { };
 
-  ffadoFull = callPackage ../os-specific/linux/ffado { };
+  ffadoFull = callPackage ../os-specific/linux/ffado {
+    inherit (pythonPackages) python pyqt4 dbus-python;
+  };
   libffado = self.ffadoFull.override { prefix = "lib"; };
 
   fbterm = callPackage ../os-specific/linux/fbterm { };
@@ -10974,6 +10990,8 @@ in
     flex = flex_2_5_35;
   };
 
+  hd-idle = callPackage ../os-specific/linux/hd-idle { };
+
   hdparm = callPackage ../os-specific/linux/hdparm { };
 
   hibernate = callPackage ../os-specific/linux/hibernate { };
@@ -11088,7 +11106,10 @@ in
   klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
 
   linux_mptcp = callPackage ../os-specific/linux/kernel/linux-mptcp.nix {
-    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+    kernelPatches =
+      [ kernelPatches.bridge_stp_helper
+        kernelPatches.hiddev_CVE_2016_5829
+      ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -11139,7 +11160,6 @@ in
   linux_4_1 = callPackage ../os-specific/linux/kernel/linux-4.1.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
-        kernelPatches.hiddev_CVE_2016_5829
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11159,19 +11179,6 @@ in
       ];
   };
 
-  linux_4_5 = callPackage ../os-specific/linux/kernel/linux-4.5.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.qat_common_Makefile
-        kernelPatches.hiddev_CVE_2016_5829
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
-  };
-
   linux_4_6 = callPackage ../os-specific/linux/kernel/linux-4.6.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
@@ -11363,7 +11370,6 @@ in
   linuxPackages_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_18 linuxPackages_3_18);
   linuxPackages_4_1 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_1 linuxPackages_4_1);
   linuxPackages_4_4 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_4 linuxPackages_4_4);
-  linuxPackages_4_5 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_5 linuxPackages_4_5);
   linuxPackages_4_6 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_6 linuxPackages_4_6);
   linuxPackages_4_7 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_7 linuxPackages_4_7);
   # Don't forget to update linuxPackages_latest!
@@ -12284,9 +12290,6 @@ in
   alpine = callPackage ../applications/networking/mailreaders/alpine {
     tcl = tcl-8_5;
   };
-  realpine = callPackage ../applications/networking/mailreaders/realpine {
-    tcl = tcl-8_5;
-  };
 
   AMB-plugins = callPackage ../applications/audio/AMB-plugins { };
 
@@ -12311,6 +12314,8 @@ in
 
   antiword = callPackage ../applications/office/antiword {};
 
+  ao = callPackage ../applications/graphics/ao {};
+
   ardour = self.ardour4;
 
   ardour3 =  callPackage ../applications/audio/ardour/ardour3.nix {
@@ -12442,6 +12447,10 @@ in
 
   bitmeter = callPackage ../applications/audio/bitmeter { };
 
+  bitwig-studio =  callPackage ../applications/audio/bitwig-studio {
+    inherit (gnome2) zenity;
+  };
+
   bleachbit = callPackage ../applications/misc/bleachbit { };
 
   blender = callPackage  ../applications/misc/blender {
@@ -12482,7 +12491,7 @@ in
   calcurse = callPackage ../applications/misc/calcurse { };
 
   calibre = qt55.callPackage ../applications/misc/calibre {
-    inherit (pythonPackages) pyqt5 sip_4_16;
+    inherit (pythonPackages) pyqt5 sip;
   };
 
   camlistore = callPackage ../applications/misc/camlistore { };
@@ -12680,6 +12689,8 @@ in
 
   dfasma = qt5.callPackage ../applications/audio/dfasma { };
 
+  dfilemanager = qt5.callPackage ../applications/misc/dfilemanager { };
+
   dia = callPackage ../applications/graphics/dia {
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
@@ -13056,9 +13067,7 @@ in
 
   focuswriter = callPackage ../applications/editors/focuswriter { };
 
-  font-manager = callPackage ../applications/misc/font-manager {
-    vala = vala_0_32;
-  };
+  font-manager = callPackage ../applications/misc/font-manager { };
 
   foo-yc20 = callPackage ../applications/audio/foo-yc20 { };
 
@@ -13080,7 +13089,7 @@ in
   gksu = callPackage ../applications/misc/gksu { };
 
   gnuradio = callPackage ../applications/misc/gnuradio {
-    inherit (pythonPackages) lxml numpy scipy matplotlib pyopengl wxPython;
+    inherit (pythonPackages) lxml matplotlib numpy python pyopengl pyqt4 scipy wxPython;
     fftw = fftwFloat;
   };
 
@@ -13114,6 +13123,8 @@ in
 
   gsimplecal = callPackage ../applications/misc/gsimplecal { };
 
+  gthumb = callPackage ../applications/graphics/gthumb { };
+
   gtimelog = pythonPackages.gtimelog;
 
   inherit (gnome3) gucharmap;
@@ -13259,6 +13270,16 @@ in
 
   gimpPlugins = recurseIntoAttrs (callPackage ../applications/graphics/gimp/plugins {});
 
+  girara = callPackage ../applications/misc/girara {
+    gtk = gtk3;
+  };
+
+  girara-light = callPackage ../applications/misc/girara {
+    gtk = gtk3;
+    withBuildColors = false;
+    ncurses = null;
+  };
+
   gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {});
 
   inherit (self.gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt git-crypt;
@@ -13448,7 +13469,6 @@ in
   hakuneko = callPackage ../tools/misc/hakuneko { };
 
   hamster-time-tracker = callPackage ../applications/misc/hamster-time-tracker {
-    inherit (pythonPackages) pyxdg pygtk dbus sqlite3;
     inherit (gnome) gnome_python;
   };
 
@@ -13569,11 +13589,7 @@ in
   imagemagickBig = callPackage ../applications/graphics/ImageMagick { };
 
   # Impressive, formerly known as "KeyJNote".
-  impressive = callPackage ../applications/office/impressive {
-    # XXX These are the PyOpenGL dependencies, which we need here.
-    inherit (pythonPackages) pyopengl;
-    inherit (pythonPackages) pillow;
-  };
+  impressive = callPackage ../applications/office/impressive { };
 
   inferno = callPackage_i686 ../applications/inferno { };
 
@@ -13654,6 +13670,10 @@ in
     boost = boost155;
   };
 
+  k9copy = qt5.callPackage ../applications/video/k9copy {};
+
+  kdeconnect = qt5.callPackage ../applications/misc/kdeconnect { };
+
   keepnote = callPackage ../applications/office/keepnote {
     pygtk = pyGtkGlade;
   };
@@ -13674,15 +13694,26 @@ in
     qt = qt4;
   };
 
+  kile = kde5.callPackage ../applications/editors/kile/frameworks.nix { };
+
   kino = callPackage ../applications/video/kino {
     inherit (gnome) libglade;
     ffmpeg = ffmpeg_2;
   };
 
-  kiwix = callPackage ../applications/misc/kiwix { };
+  kiwix = callPackage ../applications/misc/kiwix {
+    stdenv = overrideCC stdenv gcc49;
+  };
 
   koji = callPackage ../tools/package-management/koji { };
 
+  konversation = qt5.callPackage ../applications/networking/irc/konversation/1.6.nix { };
+
+  krita = qt5.callPackage ../applications/graphics/krita {
+    vc = vc_0_7;
+    openjpeg = openjpeg_1;
+  };
+
   ksuperkey = callPackage ../tools/X11/ksuperkey { };
 
   kubernetes = callPackage ../applications/networking/cluster/kubernetes {
@@ -13872,7 +13903,6 @@ in
   mendeley = callPackage ../applications/office/mendeley { };
 
   mercurial = callPackage ../applications/version-management/mercurial {
-    inherit (pythonPackages) curses docutils hg-git dulwich;
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
     inherit (darwin) cf-private;
     guiSupport = false; # use mercurialFull to get hgk GUI
@@ -13890,9 +13920,7 @@ in
 
   mid2key = callPackage ../applications/audio/mid2key { };
 
-  midori-unwrapped = callPackage ../applications/networking/browsers/midori {
-    webkitgtk = webkitgtk24x;
-  };
+  midori-unwrapped = callPackage ../applications/networking/browsers/midori { };
   midori = wrapFirefox midori-unwrapped { };
 
   mikmod = callPackage ../applications/audio/mikmod { };
@@ -13997,6 +14025,8 @@ in
 
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
 
+  ympd = callPackage ../applications/audio/ympd { };
+
   nload = callPackage ../applications/networking/nload { };
 
   normalize = callPackage ../applications/audio/normalize { };
@@ -14141,9 +14171,7 @@ in
 
   pdfdiff = callPackage ../applications/misc/pdfdiff { };
 
-  mupdf = callPackage ../applications/misc/mupdf {
-    openjpeg = openjpeg_2_0;
-  };
+  mupdf = callPackage ../applications/misc/mupdf { };
 
   diffpdf = callPackage ../applications/misc/diffpdf { };
 
@@ -14284,7 +14312,6 @@ in
   pdfgrep  = callPackage ../tools/typesetting/pdfgrep { };
 
   pdfpc = callPackage ../applications/misc/pdfpc {
-    vala = vala_0_26;
     inherit (gnome3) libgee;
     inherit (gst_all_1) gstreamer gst-plugins-base;
   };
@@ -14301,10 +14328,7 @@ in
 
   pianobooster = callPackage ../applications/audio/pianobooster { };
 
-  picard = callPackage ../applications/audio/picard {
-    python-libdiscid = pythonPackages.discid;
-    mutagen = pythonPackages.mutagen;
-  };
+  picard = callPackage ../applications/audio/picard { };
 
   picocom = callPackage ../tools/misc/picocom { };
 
@@ -14421,6 +14445,10 @@ in
     inherit (darwin.stubs) rez setfile;
   };
 
+  qgis = callPackage ../applications/gis/qgis {};
+
+  qgroundcontrol = qt55.callPackage ../applications/science/robotics/qgroundcontrol { };
+
   qjackctl = callPackage ../applications/audio/qjackctl { };
 
   qmidinet = callPackage ../applications/audio/qmidinet { };
@@ -14441,6 +14469,8 @@ in
 
   qsynth = callPackage ../applications/audio/qsynth { };
 
+  qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
+
   qtox = qt5.callPackage ../applications/networking/instant-messengers/qtox { };
 
   qtpass = qt5.callPackage ../applications/misc/qtpass { };
@@ -14451,21 +14481,40 @@ in
 
   qtscrobbler = callPackage ../applications/audio/qtscrobbler { };
 
-  quirc = callPackage ../tools/graphics/quirc {};
+  quassel = qt5.callPackage ../applications/networking/irc/quassel/qt-5.nix {
+    monolithic = true;
+    daemon = false;
+    client = false;
+    withKDE = true;
+    dconf = gnome3.dconf;
+    tag = "-kf5";
+  };
 
-  quodlibet = callPackage ../applications/audio/quodlibet {
-    inherit (pythonPackages) mutagen;
+  quasselClient = quassel.override {
+    monolithic = false;
+    client = true;
+    tag = "-client-kf5";
+  };
+
+  quasselDaemon = quassel.override {
+    monolithic = false;
+    daemon = true;
+    tag = "-daemon-qt5";
+    withKDE = false;
   };
 
+  quirc = callPackage ../tools/graphics/quirc {};
+
+  quodlibet = callPackage ../applications/audio/quodlibet { };
+
   quodlibet-with-gst-plugins = callPackage ../applications/audio/quodlibet {
-    inherit (pythonPackages) mutagen;
     withGstPlugins = true;
     gst_plugins_bad = null;
   };
 
-  qutebrowser = qt55.callPackage ../applications/networking/browsers/qutebrowser {
-    inherit (python34Packages) buildPythonApplication python pyqt5 jinja2 pygments pyyaml pypeg2;
-    inherit (gst_all_1) gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav;
+  qutebrowser = qt5.callPackage ../applications/networking/browsers/qutebrowser {
+    inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2;
+    inherit (gst_all_1) gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav;
   };
 
   rabbitvcs = callPackage ../applications/version-management/rabbitvcs {};
@@ -14499,6 +14548,10 @@ in
 
   rdup = callPackage ../tools/backup/rdup { };
 
+  realpine = callPackage ../applications/networking/mailreaders/realpine {
+    tcl = tcl-8_5;
+  };
+
   recode = callPackage ../tools/text/recode { };
 
   remotebox = callPackage ../applications/virtualization/remotebox { };
@@ -14704,7 +14757,11 @@ in
 
   printrun = callPackage ../applications/misc/printrun { };
 
-  sddm = kde5.sddm;
+  sddm = qt5.callPackage ../applications/display-managers/sddm {
+    themes = [];  # extra themes, etc.
+  };
+
+  skrooge2 = qt5.callPackage ../applications/office/skrooge/2.nix {};
 
   slim = callPackage ../applications/display-managers/slim {
     libpng = libpng12;
@@ -14964,7 +15021,8 @@ in
 
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
-  github-release = callPackage ../development/tools/github/github-release { };
+  # We need QtWebkit which was deprecated in Qt 5.6 although it can still be build
+  trojita = with qt55; callPackage ../applications/networking/mailreaders/trojita { };
 
   tudu = callPackage ../applications/office/tudu { };
 
@@ -14999,9 +15057,7 @@ in
 
   vanitygen = callPackage ../applications/misc/vanitygen { };
 
-  vanubi = callPackage ../applications/editors/vanubi {
-    vala = vala_0_26;
-  };
+  vanubi = callPackage ../applications/editors/vanubi { };
 
   vbindiff = callPackage ../applications/editors/vbindiff { };
 
@@ -15112,6 +15168,10 @@ in
     libva = libva-full; # also wants libva-x11
   };
 
+  vlc_npapi = callPackage ../applications/video/vlc/plugin.nix {
+    gtk = gtk2;
+  };
+
   vlc_qt5 = qt5.vlc;
 
   vmpk = callPackage ../applications/audio/vmpk { };
@@ -15462,30 +15522,24 @@ in
 
   yabar = callPackage ../applications/window-managers/yabar { };
 
-  yate = callPackage ../applications/misc/yate { };
-
-  inherit (gnome3) yelp;
-
-  inherit (python3Packages) you-get;
-
-  inherit (pythonPackages) youtube-dl;
-
-  qgis = callPackage ../applications/gis/qgis {};
-
-  qgroundcontrol = qt55.callPackage ../applications/science/robotics/qgroundcontrol { };
-
-  qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
-
-  pahole = callPackage ../development/tools/misc/pahole {};
+  yakuake = kde5.callPackage ../applications/misc/yakuake/3.0.nix {};
 
   yarp = callPackage ../applications/science/robotics/yarp {};
 
+  yate = callPackage ../applications/misc/yate { };
+
   yed = callPackage ../applications/graphics/yed {};
 
+  inherit (gnome3) yelp;
+
   ykpers = callPackage ../applications/misc/ykpers {};
 
   yoshimi = callPackage ../applications/audio/yoshimi { };
 
+  inherit (python3Packages) you-get;
+
+  inherit (pythonPackages) youtube-dl;
+
   zam-plugins = callPackage ../applications/audio/zam-plugins { };
 
   zathuraCollection = recurseIntoAttrs
@@ -15502,16 +15556,6 @@ in
 
   zexy = callPackage ../applications/audio/pd-plugins/zexy  { };
 
-  girara = callPackage ../applications/misc/girara {
-    gtk = gtk3;
-  };
-
-  girara-light = callPackage ../applications/misc/girara {
-    gtk = gtk3;
-    withBuildColors = false;
-    ncurses = null;
-  };
-
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
   zgv = callPackage ../applications/graphics/zgv {
@@ -15550,7 +15594,7 @@ in
   angband = callPackage ../games/angband { };
 
   anki = callPackage ../games/anki {
-    inherit (pythonPackages) wrapPython pysqlite sqlalchemy pyaudio beautifulsoup httplib2 matplotlib;
+    inherit (pythonPackages) wrapPython pysqlite sqlalchemy pyaudio beautifulsoup httplib2 matplotlib pyqt4;
   };
 
   armagetronad = callPackage ../games/armagetronad { };
@@ -15852,6 +15896,10 @@ in
 
   pong3d = callPackage ../games/pong3d { };
 
+  pokerth = callPackage ../games/pokerth { };
+
+  pokerth-server = with callPackage ../games/pokerth { }; server;
+
   prboom = callPackage ../games/prboom { };
 
   privateer = callPackage ../games/privateer { };
@@ -16392,76 +16440,6 @@ in
 
   numix-gtk-theme = callPackage ../misc/themes/numix { };
 
-  # We need QtWebkit which was deprecated in Qt 5.6 although it can still be build
-  trojita = with qt55; callPackage ../applications/networking/mailreaders/trojita { };
-
-  kde5PackagesFun = self: with self; {
-
-    calamares = callPackage ../tools/misc/calamares rec {
-      python = python3;
-      boost = pkgs.boost.override { python=python3; };
-      libyamlcpp = callPackage ../development/libraries/libyaml-cpp { makePIC=true; boost=boost; };
-    };
-
-    colord-kde = callPackage ../tools/misc/colord-kde/0.5.nix {};
-
-    dfilemanager = callPackage ../applications/misc/dfilemanager { };
-
-    k9copy = callPackage ../applications/video/k9copy {};
-
-    kdeconnect = callPackage ../applications/misc/kdeconnect { };
-
-    kile = callPackage ../applications/editors/kile/frameworks.nix { };
-
-    konversation = callPackage ../applications/networking/irc/konversation/1.6.nix { };
-
-    kronometer = callPackage ../tools/misc/kronometer { };
-
-    krita = callPackage ../applications/graphics/krita {
-      vc = vc_0_7;
-      openjpeg = openjpeg_1;
-    };
-
-    quassel = callPackage ../applications/networking/irc/quassel/qt-5.nix {
-      monolithic = true;
-      daemon = false;
-      client = false;
-      withKDE = true;
-      dconf = gnome3.dconf;
-      tag = "-kf5";
-    };
-
-    quasselClient = quassel.override {
-      monolithic = false;
-      client = true;
-      tag = "-client-kf5";
-    };
-
-    quassel_qt5 = quassel.override {
-      withKDE = false;
-      tag = "-qt5";
-    };
-
-    quasselClient_qt5 = quasselClient.override {
-      withKDE = false;
-      tag = "-client-qt5";
-    };
-
-    quasselDaemon = quassel.override {
-      monolithic = false;
-      daemon = true;
-      tag = "-daemon-qt5";
-      withKDE = false;
-    };
-
-    sddm = callPackage ../applications/display-managers/sddm {
-      themes = [];  # extra themes, etc.
-    };
-
-    yakuake = callPackage ../applications/misc/yakuake/3.0.nix {};
-
-  };
-
   kde5 =
     let
       plasma = import ../desktops/kde-5/plasma { inherit pkgs; };
@@ -16472,8 +16450,7 @@ in
           applications = applications self; }
         // qt5.kdeFrameworks
         // plasma self
-        // applications self
-        // kde5PackagesFun self;
+        // applications self;
     in
       recurseIntoAttrs (lib.makeScope qt5.newScope merged);
 
@@ -17268,14 +17245,13 @@ in
 
   lkproof = callPackage ../tools/typesetting/tex/lkproof { };
 
-  m3d-linux = callPackage ../misc/drivers/m3d-linux { };
+  m33-linux = callPackage ../misc/drivers/m33-linux { };
 
   mnemonicode = callPackage ../misc/mnemonicode { };
 
   mysqlWorkbench = newScope gnome ../applications/misc/mysql-workbench {
     lua = lua5_1;
     libctemplate = libctemplate_2_2;
-    inherit (pythonPackages) pexpect paramiko;
   };
 
   redis-desktop-manager = qt55.callPackage ../applications/misc/redis-desktop-manager { };
@@ -17346,6 +17322,8 @@ in
 
   sailsd = callPackage ../misc/sailsd { };
 
+  shc = callPackage ../tools/security/shc { };
+
   canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { };
 
   mfcj470dw = callPackage_i686 ../misc/cups/drivers/mfcj470dw { };
@@ -17572,6 +17550,8 @@ in
     inherit (gnome2) zenity;
   };
 
+  with-shell = callPackage ../applications/misc/with-shell { };
+
   wmutils-core = callPackage ../tools/X11/wmutils-core { };
 
   wraith = callPackage ../applications/networking/irc/wraith { };
@@ -17621,6 +17601,8 @@ in
     qt = qt4;
   };
 
+  yadm = callPackage ../applications/version-management/yadm { };
+
   yafc = callPackage ../applications/networking/yafc { };
 
   yamdi = callPackage ../tools/video/yamdi { };
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index e8273f35cde..f287a35bdc4 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -489,6 +489,54 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
   #   };
   # };
 
+  GitVersionTree = buildDotnetPackage rec {
+    baseName = "GitVersionTree";
+    version = "2013-10-01";
+
+    src = fetchFromGitHub {
+      owner = "crc8";
+      repo = "GitVersionTree";
+      rev = "58dc39c43cffea44f721ee4425835e56518f7da2";
+      sha256 = "0mna5pkpqkdr5jgn8paz004h1pa24ncsvmi2c8s4gp94nfw34x05";
+    };
+
+    buildInputs = with pkgs; [ ed ];
+
+    postPatch = ''
+      ed -v -p: -s GitVersionTree/Program.cs << EOF
+      /Main()
+      c
+      static void Main(string[] args)
+      .
+      /EnableVisualStyles
+      i
+      Reg.Write("GitPath", "${pkgs.gitMinimal}/bin/git");
+      Reg.Write("GraphvizPath", "${pkgs.graphviz}/bin/dot");
+      if (args.Length > 0) {
+        Reg.Write("GitRepositoryPath", args[0]);
+      }
+      .
+      w
+      EOF
+
+      substituteInPlace GitVersionTree/Forms/MainForm.cs \
+        --replace 'Directory.GetParent(Application.ExecutablePath)' 'Environment.CurrentDirectory' \
+        --replace '\\' '/' \
+        --replace '@"\"' '"/"'
+    '';
+
+    outputFiles = [ "GitVersionTree/bin/Release/*" ];
+    exeFiles = [ "GitVersionTree.exe" ];
+
+    meta = with stdenv.lib; {
+      description = "A tool to help visualize git revisions and branches";
+      homepage = https://github.com/crc8/GitVersionTree;
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ obadz ];
+      platforms = platforms.all;
+    };
+  };
+
   MathNetNumerics = buildDotnetPackage rec {
     baseName = "MathNet.Numerics";
     version = "3.7.0";
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 8e4896b3fee..092a61c4383 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1508,6 +1508,10 @@ let self = _self // overrides; _self = with self; {
       url = mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.02.tar.gz;
       sha256 = "0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5";
     };
+    patches = [
+      # See Nixpkgs issues #16074 and #17624
+      ../development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
+    ];
     buildInputs = [ TestWWWMechanizeCatalyst ];
     propagatedBuildInputs = [ CatalystRuntime Moose namespaceautoclean Starman ];
     meta = {
@@ -3324,10 +3328,13 @@ let self = _self // overrides; _self = with self; {
     name = "DateTime-Format-SQLite-0.11";
     src = fetchurl {
       url = "mirror://cpan/authors/id/C/CF/CFAERBER/${name}.tar.gz";
-      sha256 = "1d4ln8x5bjpqmgnbbi2h16knfz674dsgvk6x7m60v6ykw454w7yc";
+      sha256 = "cc1f4e0ae1d39b0d4c3dddccfd7423c77c67a70950c4b5ecabf8ca553ab294b4";
     };
-
     propagatedBuildInputs = [ DateTime DateTimeFormatBuilder ];
+    meta = {
+      description = "Parse and format SQLite dates and times";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
   };
 
   DateTimeFormatW3CDTF = buildPerlPackage {
@@ -11662,14 +11669,15 @@ let self = _self // overrides; _self = with self; {
   };
 
   SubName = buildPerlPackage rec {
-    name = "Sub-Name-0.15";
+    name = "Sub-Name-0.19";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "dabc9a4abcbe067d120ce005b4203b8a44291cbda013900152ba19a1e7c1c8c8";
+      sha256 = "b06ba8252ce3b1bb88fa0ea0fe9ec8b572e5ed36c69f55e9e3d9db8a73efe22b";
     };
+    buildInputs = [ self."if" ];
     meta = {
       homepage = https://github.com/p5sagit/Sub-Name;
-      description = "(re)name a sub";
+      description = "(Re)name a sub";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
     };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index a0d340826f5..e8af3c2dbf9 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -28,14 +28,14 @@ let
   imagick31 = assert !isPhp7; buildPecl {
     name = "imagick-3.1.2";
     sha256 = "14vclf2pqcgf3w8nzqbdw0b9v30q898344c84jdbw2sa62n6k1sj";
-    configureFlags = "--with-imagick=${pkgs.imagemagick}";
+    configureFlags = "--with-imagick=${pkgs.imagemagick.dev}";
     buildInputs = [ pkgs.pkgconfig ];
   };
 
   imagick34 = buildPecl {
     name = "imagick-3.4.0RC4";
     sha256 = "0fdkzdv3r8sm6y1x11kp3rxsimq6zf15xvi0mhn57svmnan4zh0i";
-    configureFlags = "--with-imagick=${pkgs.imagemagick}";
+    configureFlags = "--with-imagick=${pkgs.imagemagick.dev}";
     buildInputs = [ pkgs.pkgconfig ];
   };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index c889db26bc5..177607098ea 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -42,6 +42,7 @@ in modules // {
     { deps = pkgs.makeWrapper;
       substitutions.libPrefix = python.libPrefix;
       substitutions.executable = python.interpreter;
+      substitutions.python = python;
       substitutions.magicalSedExpression = let
         # Looks weird? Of course, it's between single quoted shell strings.
         # NOTE: Order DOES matter here, so single character quotes need to be
@@ -53,19 +54,31 @@ in modules // {
           isSingle = elem quote [ "\"" "'\"'\"'" ];
           endQuote = if isSingle then "[^\\\\]${quote}" else quote;
         in ''
-          /^ *[a-z]?${quote}/ {
+          /^[a-z]?${quote}/ {
             /${quote}${quote}|${quote}.*${endQuote}/{n;br}
             :${label}; n; /^${quote}/{n;br}; /${endQuote}/{n;br}; b${label}
           }
         '';
 
+        # This preamble does two things:
+        # * Sets argv[0] to the original application's name; otherwise it would be .foo-wrapped.
+        #   Python doesn't support `exec -a`.
+        # * Adds all required libraries to sys.path via `site.addsitedir`. It also handles *.pth files.
+        preamble = ''
+          import sys
+          import site
+          import functools
+          sys.argv[0] = '"'$(basename "$f")'"'
+          functools.reduce(lambda k, p: site.addsitedir(p, k), ['"$([ -n "$program_PYTHONPATH" ] && (echo "'$program_PYTHONPATH'" | sed "s|:|','|g") || true)"'], site._init_pathinfo())
+        '';
+
       in ''
         1 {
-          /^#!/!b; :r
-          /\\$/{N;br}
-          /__future__|^ *(#.*)?$/{n;br}
+          :r
+          /\\$|,$/{N;br}
+          /__future__|^ |^ *(#.*)?$/{n;br}
           ${concatImapStrings mkStringSkipper quoteVariants}
-          /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$f")'"'
+          /^[^# ]/i ${replaceStrings ["\n"] [";"] preamble}
         }
       '';
     }
@@ -191,7 +204,7 @@ in modules // {
     };
   };
 
-  dbus = callPackage ../development/python-modules/dbus {
+  dbus-python = callPackage ../development/python-modules/dbus {
     dbus = pkgs.dbus;
   };
 
@@ -240,8 +253,7 @@ in modules // {
 
   pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}";
 
-  pycairo = callPackage ../development/python-modules/pycairo {
-  };
+  pycairo = callPackage ../development/python-modules/pycairo { };
 
   pycangjie = if isPy3k then callPackage ../development/python-modules/pycangjie { } else throw "pycangjie not supported for interpreter ${python.executable}";
 
@@ -266,14 +278,11 @@ in modules // {
   };
 
   pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
-    pythonDBus = self.dbus;
     pythonPackages = self;
   };
 
-  pyqt5 = pkgs.qt55.callPackage ../development/python-modules/pyqt/5.x.nix {
-    sip = self.sip_4_16;
-    pythonDBus = self.dbus;
-    python = self.python;
+  pyqt5 = pkgs.qt5.callPackage ../development/python-modules/pyqt/5.x.nix {
+    pythonPackages = self;
   };
 
   pyside = callPackage ../development/python-modules/pyside { };
@@ -311,8 +320,6 @@ in modules // {
 
   sip = callPackage ../development/python-modules/sip { };
 
-  sip_4_16 = callPackage ../development/python-modules/sip/4.16.nix { };
-
   tables = callPackage ../development/python-modules/tables {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
@@ -1941,7 +1948,7 @@ in modules // {
       sha256 = "0grid93yz6i6jb2zggrqncp5awdf7qi88j5y2k7dq0k9r6b8zydw";
     };
 
-    propagatedBuildInputs = with stdenv.lib; with pkgs; [ modules.curses zlib xz ncompress gzip bzip2 gnutar p7zip cabextract lzma pycrypto ]
+    propagatedBuildInputs = with stdenv.lib; with pkgs; [ modules.curses zlib xz ncompress gzip bzip2 gnutar p7zip cabextract lzma self.pycrypto ]
       ++ optional visualizationSupport [ pyqtgraph ];
 
     meta = with stdenv.lib; {
@@ -3314,7 +3321,7 @@ in modules // {
     disabled = isPy3k;
 
     src = pkgs.fetchurl {
-      url = "http://downloads.sourceforge.net/project/cgkit/cgkit/cgkit-${version}/cgkit-${version}-py2k.tar.gz";
+      url = "mirror://sourceforge/project/cgkit/cgkit/cgkit-${version}/cgkit-${version}-py2k.tar.gz";
       sha256 = "0vvllc42mdyma3c7yqhahs4bfxymm2kvmc4va7dxqr5x0rzh6rd6";
     };
 
@@ -4338,12 +4345,12 @@ in modules // {
 
 
   pkginfo = buildPythonPackage rec {
-    version = "1.2.1";
+    version = "1.3.2";
     name = "pkginfo-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pkginfo/${name}.tar.gz";
-      sha256 = "0g0g6avplfqw1adzqybbrh1a2z0kfjl8qn3annkrc7w3ibz6sgxd";
+      sha256 = "0qg4sq3m0pxvjahc3sncwhw42z5rfw22k0ybskmdqkl2agykay7q";
     };
 
     doCheck = false; # I don't know why, but with doCheck = true it fails.
@@ -4950,6 +4957,8 @@ in modules // {
       sha256 = "0fwydaahgflz9w753v1cmkfzrlfq1vb8zp4i20m2d3lvkm4crv93";
     };
 
+    buildInputs = with self; [ pytest ];
+
     meta = with stdenv.lib; {
       description = "Scripting library for tmux";
       homepage = https://libtmux.readthedocs.io/;
@@ -5466,11 +5475,11 @@ in modules // {
 
   dill = buildPythonPackage rec {
     name = "dill-${version}";
-    version = "0.2.4";
+    version = "0.2.5";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/d/dill/${name}.tgz";
-      sha256 = "deca57da33ad2121ab1b9c4493bf8eb2b3a72b6426d4b9a3a853a073c68b97ca";
+      sha256 = "431c9d46e190dcdf1397234cf659d66e2e22e33b0474ed6ee2d0b16c9c0ea319";
     };
 
     propagatedBuildInputs = with self; [objgraph];
@@ -5753,10 +5762,6 @@ in modules // {
       sha256 = "1ikj72kd4cdcq7pmmcd5p6s9dvp7wi0zw01635v4xzkid5vi598f";
     };
 
-    preConfigure = ''
-      substituteInPlace test-requirements.txt --replace 'nose==1.3' 'nose'
-    '';
-
     doCheck = !isPy3k;  # lots of transient failures
     checkPhase = ''
       # Not worth the trouble
@@ -5769,7 +5774,6 @@ in modules // {
       nosetests -v --cover-min-percentage 1
     '';
 
-
     buildInputs = with self; [ coverage tornado mock nose ];
 
     meta = {
@@ -7744,7 +7748,7 @@ in modules // {
       sha256 = "00e3f89f4e23a844844d082918a89c2cbb1e8231ecb011b81d592e7e3c33a74c";
     };
 
-    propagatedBuildInputs = [ pkgs.pyqt4 pkgs.pkgconfig pkgs.poppler_qt4 ];
+    propagatedBuildInputs = [ self.pyqt4 pkgs.pkgconfig pkgs.poppler_qt4 ];
 
     preBuild = "${python}/bin/${python.executable} setup.py build_ext" +
                " --include-dirs=${pkgs.poppler_qt4.dev}/include/poppler/";
@@ -7780,6 +7784,29 @@ in modules // {
     };
   };
 
+  pycallgraph = buildPythonPackage rec {
+    name = "pycallgraph-${version}";
+    version = "1.0.1";
+
+    src = pkgs.fetchurl {
+      url = mirror://pypi/p/pycallgraph/pycallgraph-1.0.1.tar.gz;
+      sha256 = "0w8yr43scnckqcv5nbyd2dq4kpv74ai856lsdsf8iniik07jn9mi";
+    };
+
+    buildInputs = with self; [ pytest ];
+
+    # Tests do not work due to this bug: https://github.com/gak/pycallgraph/issues/118
+    doCheck = false;
+
+    meta = {
+      homepage = http://pycallgraph.slowchop.com;
+      description = "Call graph visualizations for Python applications";
+      maintainers = with maintainers; [ auntie ];
+      license = licenses.gpl2;
+      platform = platforms.all;
+    };
+  };
+
   pycares = buildPythonPackage rec {
     name = "pycares-${version}";
     version = "1.0.0";
@@ -8507,20 +8534,7 @@ in modules // {
     installPhase = ''
       mkdir -p $out/${python.sitePackages}
       cp -r scfbuild $out/${python.sitePackages}
-      # Workaround for #16133
-      mkdir -p $out/bin
-
-      cat >$out/bin/scfbuild <<EOF
-      #!/usr/bin/env python2
-
-      import sys
-      from scfbuild.main import main
-
-      if __name__ == '__main__':
-        sys.exit(main())
-      EOF
-
-      chmod +x $out/bin/scfbuild
+      cp -r bin $out
     '';
 
     meta = with stdenv.lib; {
@@ -10101,11 +10115,11 @@ in modules // {
 
   flask_assets = buildPythonPackage rec {
     name = "Flask-Assets-${version}";
-    version = "0.10";
+    version = "0.11";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/F/Flask-Assets/${name}.tar.gz";
-      sha256 = "1v6ika3ias21xzhg7kglki99nwfx1i33rdhnw9kdqbwxkpwbwkyl";
+      sha256 = "1vs59gygwhwqj37if8hiw6vd2rns09xkblaz4qkmpp6hpy3shrvf";
     };
 
     propagatedBuildInputs = with self; [ flask webassets flask_script nose ];
@@ -10114,7 +10128,6 @@ in modules // {
       homepage = http://github.com/miracle2k/flask-assets;
       description = "Asset management for Flask, to compress and merge CSS and Javascript files";
       license = licenses.bsd2;
-      platforms = platforms.all;
       maintainers = with maintainers; [ abbradar ];
     };
   };
@@ -10813,7 +10826,7 @@ in modules // {
     # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase)
     doCheck = false;
 
-    buildInputs = with self; [ pkgs.setuptools ];
+    buildInputs = with self; [ setuptools ];
 
     meta = {
       description = "Python components for parsing HTML, XML and other textual content";
@@ -10907,7 +10920,7 @@ in modules // {
       sha256 = "c77d007cc32cdff836ecf8df6192371767976c108a75b055e057bb6f4a09cd42";
     };
 
-    buildInputs = with self; [ pkgs.setuptools ] ++ (optional isPy26 argparse);
+    buildInputs = with self; [ setuptools ] ++ (optional isPy26 argparse);
 
     meta = {
       description = "Automatically generated zsh completion function for Python's option parser modules";
@@ -11749,12 +11762,12 @@ in modules // {
   };
 
   ipython = buildPythonPackage rec {
-    version = "5.0.0";
+    version = "5.1.0";
     name = "ipython-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/i/ipython/${name}.tar.gz";
-      sha256 = "7ec0737169c74056c7fc8298246db5478a2d6c90cfd19c3253222112357545df";
+      sha256 = "7ef4694e1345913182126b219aaa4a0047e191af414256da6772cf249571b961";
     };
 
     prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -13538,6 +13551,27 @@ in modules // {
     };
   };
 
+  multiprocess = buildPythonPackage rec {
+    name = "multiprocess-${version}";
+    version = "0.70.4";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/m/multiprocess/${name}.tgz";
+      sha256 = "73f8b9b7009860e3c3c8b9bdcad7e8366b130929775f89c114d4346a9cfcb31b";
+    };
+
+    propagatedBuildInputs = with self; [ dill ];
+
+    # Python-version dependent tests
+    doCheck = false;
+
+    meta = {
+      description = "Better multiprocessing and multithreading in python";
+      homepage = https://github.com/uqfoundation;
+      license = licenses.bsd3;
+    };
+  };
+
   munkres = buildPythonPackage rec {
     name = "munkres-1.0.6";
 
@@ -14575,7 +14609,7 @@ in modules // {
       sha256 = "0yjxwisxpxy3vpnqk9nw5k3db3xx6wyf6sk1px9m94s30glcq2cc";
     };
 
-    propagatedBuildInputs = with self; [ appdirs pyyaml requests2 dbus emoji sleekxmpp mock ];
+    propagatedBuildInputs = with self; [ appdirs pyyaml requests2 dbus-python emoji sleekxmpp mock ];
 
     meta = {
       description = "A utility for sending notifications, on demand and when commands finish";
@@ -14674,6 +14708,51 @@ in modules // {
     };
   };
 
+  Nuitka = let
+    # scons is needed but using it requires Python 2.7
+    # Therefore we create a separate env for it.
+    scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]);
+  in buildPythonPackage rec {
+    version = "0.5.21.3";
+    name = "Nuitka-${version}";
+
+    # Latest version is not yet on PyPi
+    src = pkgs.fetchurl {
+      url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz";
+      sha256 = "1i2069hxb94q9kkwcbky59fin8hk1vlj90lwgmrdhn1srvig1cq3";
+    };
+
+    buildInputs = with self; stdenv.lib.optionals doCheck [ vmprof pyqt4 ];
+
+    propagatedBuildInputs = [ scons ];
+
+    postPatch = ''
+      patchShebangs tests/run-tests
+    '' + stdenv.lib.optionalString stdenv.isLinux ''
+      substituteInPlace nuitka/plugins/standard/ImplicitImports.py --replace 'locateDLL("uuid")' '"${pkgs.utillinux.out}/lib/libuuid.so"'
+    '';
+
+    # We do not want any wrappers here.
+    postFixup = '''';
+
+    checkPhase = ''
+      tests/run-tests
+    '';
+
+    # Problem with a subprocess (parts)
+    doCheck = false;
+
+    # Requires CPython
+    disabled = isPyPy;
+
+    meta = {
+      description = "Python compiler with full language support and CPython compatibility";
+      license = licenses.asl20;
+      homepage = http://nuitka.net/;
+    };
+  };
+
+
   buildNumpyPackage = callPackage ../development/python-modules/numpy.nix {
     gfortran = pkgs.gfortran;
     blas = pkgs.openblasCompat;
@@ -14760,6 +14839,39 @@ in modules // {
     };
   };
 
+  dynd = buildPythonPackage rec {
+    version = "0.7.2";
+    name = "dynd-${version}";
+    disabled = isPyPy;
+
+    src = pkgs.fetchFromGitHub {
+      owner = "libdynd";
+      repo = "dynd-python";
+      rev = "v${version}";
+      sha256 = "19igd6ibf9araqhq9bxmzbzdz05vp089zxvddkiik3b5gb7l17nh";
+    };
+
+    # setup.py invokes git on build but we're fetching a tarball, so
+    # can't retrieve git version. We hardcode:
+    preConfigure = ''
+      substituteInPlace setup.py --replace "ver = check_output(['git', 'describe', '--dirty'," "ver = '${version}'"
+      substituteInPlace setup.py --replace "'--always', '--match', 'v*']).decode('ascii').strip('\n')" ""
+    '';
+
+    # Python 3 works but has a broken import test that I couldn't
+    # figure out.
+    doCheck = !isPy3k;
+    buildInputs = with pkgs; [ cmake libdynd.dev self.cython ];
+    propagatedBuildInputs = with self; [ numpy pkgs.libdynd ];
+
+    meta = {
+      homepage = http://libdynd.org;
+      license = licenses.bsd2;
+      description = "Python exposure of dynd";
+      maintainers = with maintainers; [ teh ];
+    };
+  };
+
   livestreamer = buildPythonPackage rec {
     version = "1.12.2";
     name = "livestreamer-${version}";
@@ -16648,8 +16760,27 @@ in modules // {
       license = with licenses; [ bsd3 ];
       homepage = http://github.com/dask/partd/;
     };
+  };
+
+  pathos = buildPythonPackage rec {
+    name = "pathos-${version}";
+    version = "0.2.0";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/pathos/${name}.tgz";
+      sha256 = "e35418af733bf434da83746d46acca94375d6e306b3df330b2a1808db026a188";
+    };
 
+    propagatedBuildInputs = with self; [ dill pox ppft multiprocess ];
 
+    # Require network
+    doCheck = false;
+
+    meta = {
+      description = "Parallel graph management and execution in heterogeneous computing";
+      homepage = http://www.cacr.caltech.edu/~mmckerns/pathos.htm;
+      license = licenses.bsd3;
+    };
   };
 
   patsy = buildPythonPackage rec {
@@ -17360,11 +17491,11 @@ in modules // {
   };
 
   pillow = buildPythonPackage rec {
-    name = "Pillow-3.2.0";
+    name = "Pillow-3.3.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/P/Pillow/${name}.tar.gz";
-      sha256 = "0jkqjnqj3bz3cwrvbw6q1zy6dn0c328r6v20k7m0lj0c45bs1c34";
+      sha256 = "1lfc197rj4b4inib9b0q0g3rsi204gywfrnk38yk8kssi2f7q7h3";
     };
 
     # Check is disabled because of assertion errors, see
@@ -17515,7 +17646,39 @@ in modules // {
     };
   };
 
+  pox = buildPythonPackage rec {
+    name = "pox-${version}";
+    version = "0.2.2";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/pox/${name}.tgz";
+      sha256 = "22e97ac6d2918c754e65a9581dbe02e9d00ae4a54ca48d05118f87c1ea92aa19";
+    };
+
+    meta = {
+      description = "Utilities for filesystem exploration and automated builds";
+      license = licenses.bsd3;
+      homepage = http://www.cacr.caltech.edu/~mmckerns/pox.htm;
+    };
+  };
+
+  ppft = buildPythonPackage rec {
+    name = "ppft-${version}";
+    version = "1.6.4.6";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/p/ppft/${name}.tgz";
+      sha256 = "6f99c861822884cb00badbd5f364ee32b90a157084a6768040793988c6b92bff";
+    };
+
+    propagatedBuildInputs = with self; [ six ];
 
+    meta = {
+      description = "Distributed and parallel python";
+      homepage = https://github.com/uqfoundation;
+      license = licenses.bsd3;
+    };
+  };
 
   praw = buildPythonPackage rec {
     name = "praw-3.5.0";
@@ -17614,6 +17777,7 @@ in modules // {
 
   protobuf = self.protobuf2_6;
   protobuf3_0 = (self.protobufBuild pkgs.protobuf3_0).override { doCheck = false; };
+  protobuf3_0_0b2 = (self.protobufBuild pkgs.protobuf3_0_0b2).override { doCheck = false; };
   protobuf2_6 = self.protobufBuild pkgs.protobuf2_6;
   protobuf2_5 = self.protobufBuild pkgs.protobuf2_5;
   protobufBuild = protobuf: buildPythonPackage rec {
@@ -17655,11 +17819,11 @@ in modules // {
 
   psutil = buildPythonPackage rec {
     name = "psutil-${version}";
-    version = "3.4.2";
+    version = "4.3.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/psutil/${name}.tar.gz";
-      sha256 = "b17fa01aa766daa388362d0eda5c215d77e03a8d37676b68971f37bf3913b725";
+      sha256 = "1w4r09fvn6kd80m5mx4ws1wz100brkaq6hzzpwrns8cgjzjpl6c6";
     };
 
     # Certain tests fail due to being in a chroot.
@@ -18005,11 +18169,11 @@ in modules // {
 
 
   Babel = buildPythonPackage (rec {
-    name = "Babel-2.2.0";
+    name = "Babel-2.3.4";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/B/Babel/${name}.tar.gz";
-      sha256 = "d8cb4c0e78148aee89560f9fe21587aa57739c975bb89ff66b1e842cc697428f";
+      sha256 = "0x98qqqw35xllpcama013a9788ly84z8dm1w2wwfpxh2710c8df5";
     };
 
     buildInputs = with self; [ pytest ];
@@ -19522,11 +19686,11 @@ in modules // {
 
   pyopenssl = buildPythonPackage rec {
     name = "pyopenssl-${version}";
-    version = "0.15.1";
+    version = "16.0.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyOpenSSL/pyOpenSSL-${version}.tar.gz";
-      sha256 = "0wnnq15rhj7fhdcd8ycwiw6r6g3w9f9lcy6cigg8226vsrq618ph";
+      sha256 = "0zfijaxlq4vgi6jz0d4i5xq9ygqnyps6br7lmigjhqnh8gp10g9n";
     };
 
     # 12 tests failing, 26 error out
@@ -19833,6 +19997,12 @@ in modules // {
 
     propagatedBuildInputs = with self; [ urllib3 dns];
 
+    postPatch = ''
+      sed -i '19s/dns/"dnspython"/' setup.py
+    '';
+
+    # Some issues with etcd not in path even though most tests passed
+    doCheck = false;
 
     meta = {
       description = "A python client for Etcd";
@@ -20155,14 +20325,14 @@ in modules // {
 
   requests2 = buildPythonPackage rec {
     name = "requests-${version}";
-    version = "2.9.1";
+    version = "2.11.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/r/requests/${name}.tar.gz";
-      sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
+      sha256 = "11d3vrbiqrz30qbplv80y72y9i47hihs35p5n04fl4ggjcz0bzxj";
     };
 
-    buildInputs = [ self.pytest ];
+    nativeBuildInputs = [ self.pytest ];
     # sadly, tests require networking
     doCheck = false;
 
@@ -20235,11 +20405,11 @@ in modules // {
 
       src = pkgs.qscintilla.src;
 
-      buildInputs = with pkgs; [ xorg.lndir qt4 pyqt4 python ];
+      buildInputs = with self; [ pkgs.xorg.lndir pyqt4.qt pyqt4 python ];
 
       preConfigure = ''
         mkdir -p $out
-        lndir ${pkgs.pyqt4} $out
+        lndir ${self.pyqt4} $out
         cd Python
         ${python.executable} ./configure-old.py \
             --destdir $out/lib/${python.libPrefix}/site-packages/PyQt4 \
@@ -20571,7 +20741,7 @@ in modules // {
 
     doCheck = false;  # too much
 
-    buildInputs = with self; [ mock tox pkgs.pylint ];
+    buildInputs = with self; [ mock tox pylint ];
     meta = with stdenv.lib; {
       homepage = "https://github.com/geopy/geopy";
     };
@@ -20886,7 +21056,7 @@ in modules // {
     patches = [ ../development/python-modules/rpkg-buildfix.diff ];
 
     propagatedBuildInputs = with self; [ pycurl pkgs.koji GitPython pkgs.git
-                              pkgs.rpm pkgs.pyopenssl ];
+                              pkgs.rpm pyopenssl ];
 
   });
 
@@ -20932,22 +21102,18 @@ in modules // {
 
   rsa = buildPythonPackage rec {
     name = "rsa-${version}";
-    version = "3.3";
+    version = "3.4.2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/r/rsa/${name}.tar.gz";
-      sha256 = "03f3d9bebad06681771016b8752a40b12f615ff32363c7aa19b3798e73ccd615";
+      sha256 = "1dcxvszbikgzh99ybdc7jq0zb9wspy2ds8z9mjsqiyv3q884xpr5";
     };
 
     nativeBuildInputs = with self; [ unittest2 ];
     propagatedBuildInputs = with self; [ pyasn1 ];
 
-    checkPhase = ''
-      ${python.interpreter} run_tests.py
-    '';
-
     meta = {
-      homepage = http://stuvel.eu/rsa;
+      homepage = "http://stuvel.eu/rsa";
       license = licenses.asl20;
       description = "A pure-Python RSA implementation";
     };
@@ -21220,7 +21386,7 @@ in modules // {
       sha256 = "768e568f3299966c294b7eb8cd114fc648f7bfaef422ee9cc750dd8d9d09e44b";
     };
 
-    buildInputs = with self; [ pkgs.cython nose numpy six ];
+    buildInputs = with self; [ cython nose numpy six ];
 
     propagatedBuildInputs = with self; [ pillow matplotlib networkx scipy ];
 
@@ -22298,7 +22464,7 @@ in modules // {
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = with self; [ pkgs.xorg.libX11 pkgs.pythonDBus pygobject ];
+    propagatedBuildInputs = with self; [ pkgs.xorg.libX11 dbus-python pygobject ];
 
     meta = {
       description = "High-level, platform independent Skype API wrapper for Python";
@@ -22671,7 +22837,7 @@ in modules // {
 
     checkPhase = ''
       cd tests
-      export MAGICK_HOME="${pkgs.imagemagick}"
+      export MAGICK_HOME="${pkgs.imagemagick.dev}"
       export PYTHONPATH=$PYTHONPATH:../
       py.test
       cd ..
@@ -22694,7 +22860,7 @@ in modules // {
       sha256 = "00z0lzjs4ksr9yr31zs26csyacjvavhpz6r74xaw1r89kk75qg7q";
     };
 
-    buildInputs = with self; [ unittest2 scripttest pytz pkgs.pylint tempest-lib mock testtools ];
+    buildInputs = with self; [ unittest2 scripttest pytz pylint tempest-lib mock testtools ];
     propagatedBuildInputs = with self; [ pbr tempita decorator sqlalchemy six sqlparse ];
 
     checkPhase = ''
@@ -23564,7 +23730,7 @@ in modules // {
 
     PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
 
-    propagatedBuildInputs = with self; [ genshi pkgs.setuptools modules.sqlite3 ];
+    propagatedBuildInputs = with self; [ genshi setuptools modules.sqlite3 ];
 
     meta = {
       description = "Enhanced wiki and issue tracking system for software development projects";
@@ -24142,11 +24308,11 @@ in modules // {
   };
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-13.1.2";
+    name = "virtualenv-15.0.3";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/v/virtualenv/${name}.tar.gz";
-      sha256 = "1p732accxwqfjbdna39k8w8lp9gyw91vr4kzkhm8mgfxikqqxg5a";
+      sha256 = "6d9c760d3fc5fa0894b0f99b9de82a4647e1164f0b700a7f99055034bf548b1d";
     };
 
     pythonPath = [ self.recursivePthLoader ];
@@ -24252,6 +24418,29 @@ in modules // {
     };
   });
 
+  vmprof = buildPythonPackage rec {
+    version = "0.3.3";
+    name = "vmprof-${version}";
+
+    # Url using old scheme doesn't seem to work
+    src = pkgs.fetchurl {
+      url = "https://files.pythonhosted.org/packages/c3/f3/f039ca77e727c5c2d3e61967a2a5c9ecc0ef6ca235012fd5559febb77cd0/vmprof-0.3.3.tar.gz";
+      sha256 = "991bc2f1dc824c63e9b399f9e8606deded92a52378d0e449f258807d7556b039";
+    };
+
+    propagatedBuildInputs = with self; [ requests2 six];
+
+    # No tests included
+    doCheck = false;
+
+    meta = {
+      description = "A vmprof client";
+      license = licenses.mit;
+      homepage = https://vmprof.readthedocs.org/;
+    };
+
+  };
+
   vultr = buildPythonPackage rec {
     version = "0.1.2";
     name = "vultr-${version}";
@@ -24476,21 +24665,24 @@ in modules // {
 
 
   werkzeug = buildPythonPackage rec {
-    name = "Werkzeug-0.10.4";
+    name = "Werkzeug-0.11.10";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/W/Werkzeug/${name}.tar.gz";
-      sha256 = "9d2771e4c89be127bc4bac056ab7ceaf0e0064c723d6b6e195739c3af4fd5c1d";
+      sha256 = "1vpf98k4jp4yhbv2jbyq8dj5fdasrd26rkq34pacs5n7mkxxlr6c";
     };
 
+    LC_ALL = "en_US.UTF-8";
+
     propagatedBuildInputs = with self; [ itsdangerous ];
+    buildInputs = with self; [ pytest requests2 pkgs.glibcLocales ];
+
 
-    doCheck = false;            # tests fail, not sure why
 
     meta = {
       homepage = http://werkzeug.pocoo.org/;
       description = "A WSGI utility library for Python";
-      license = "BSD";
+      license = licenses.bsd3;
     };
   };
 
@@ -26055,7 +26247,7 @@ in modules // {
       sha256 = "472a4403fd5b5364939aee10e78f171b1489e5f6bfe6f150ed9cae8476410114";
     };
 
-    propagatedBuildInputs = with self; [ django_1_5 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ];
+    propagatedBuildInputs = with self; [ django_1_5 django_tagging modules.sqlite3 whisper pycairo ldap memcached ];
 
     postInstall = ''
       wrapProgram $out/bin/run-graphite-devel-server.py \
@@ -26340,13 +26532,13 @@ in modules // {
   };
 
   libvirt = let
-    version = "2.0.0";
+    version = "2.1.0";
   in assert version == pkgs.libvirt.version; pkgs.stdenv.mkDerivation rec {
     name = "libvirt-python-${version}";
 
     src = pkgs.fetchurl {
       url = "http://libvirt.org/sources/python/${name}.tar.gz";
-      sha256 = "0h0x5lpsx97bvw20pzfcsdmmivximddq4qmn8fk0n55dqv0wn5kq";
+      sha256 = "1jxsxnhy303l3wpxzkyip39yq65zwc0pxni6ww0jgnv0pshpz23l";
     };
 
     buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ];
@@ -26376,7 +26568,8 @@ in modules // {
 
     postPatch = ''
       substituteInPlace requirements.txt \
-        --replace 'certifi==2015.11.20.1' 'certifi==2016.2.28'
+        --replace 'certifi==2015.11.20.1' 'certifi==2016.2.28' \
+        --replace 'pyopenssl==0.15.1' 'pyopenssl==16.0.0'
     '';
 
     propagatedBuildInputs = with self; [
@@ -26428,11 +26621,11 @@ in modules // {
   };
 
   flaskbabel = buildPythonPackage rec {
-    name = "Flask-Babel-0.9";
+    name = "Flask-Babel-0.11.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/F/Flask-Babel/${name}.tar.gz";
-      sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa";
+      sha256 = "16b80cipdba9xj3jlaiaq6wgrgpjb70w3j01jjy9hbp4k71kd6yj";
     };
 
     propagatedBuildInputs = with self; [ flask jinja2 speaklater Babel pytz ];
@@ -26543,7 +26736,7 @@ in modules // {
     };
 
     preConfigure = ''
-      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${self.dbus}/include/dbus-1.0 $NIX_CFLAGS_COMPILE"
+      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags efl) -I${self.dbus-python}/include/dbus-1.0 $NIX_CFLAGS_COMPILE"
     '';
     preBuild = "${python}/bin/${python.executable} setup.py build_ext";
     installPhase= "${python}/bin/${python.executable} setup.py install --prefix=$out";
@@ -26613,7 +26806,7 @@ in modules // {
     # no tests available
     doCheck = false;
 
-    propagatedBuildInputs = with self; [ pygobject3 dbus ];
+    propagatedBuildInputs = with self; [ pygobject3 dbus-python ];
 
     meta = {
       homepage = https://github.com/ricardomv/snapper-gui;
@@ -26729,7 +26922,7 @@ in modules // {
       url = mirror://pypi/g/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.tar.gz;
       sha256 = "0jy62y5bmaf1mb735lqwry1s5nx2qqrxvl5sxip9yg4miih3qkyb";
     };
-    propagatedBuildInputs = with self; [ boto-230 httplib2 google_api_python_client retry_decorator pkgs.pyopenssl socksipy-branch ];
+    propagatedBuildInputs = with self; [ boto-230 httplib2 google_api_python_client retry_decorator pyopenssl socksipy-branch ];
     meta = {
       homepage = https://developers.google.com/storage/docs/gspythonlibrary;
       description = "Provides OAuth 2.0 credentials that can be used with Google Cloud Storage";
@@ -26754,7 +26947,7 @@ in modules // {
     };
 
     propagatedBuildInputs = with self; [ boto-230 crcmod httplib2 gcs-oauth2-boto-plugin google_api_python_client gflags
-                                         retry_decorator pkgs.pyopenssl socksipy-branch crcmod ];
+                                         retry_decorator pyopenssl socksipy-branch crcmod ];
   };
 
   svg2tikz = self.buildPythonPackage {
@@ -26915,15 +27108,15 @@ in modules // {
 
   service-identity = buildPythonPackage rec {
     name = "service-identity-${version}";
-    version = "14.0.0";
+    version = "16.0.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/service_identity/service_identity-${version}.tar.gz";
-      sha256 = "0njg9bklkkp4rl2b9vsfh9aasxy3w2dmjkv9cq34jn65lwcs619i";
+      sha256 = "0dih7i7d36nbllcxgfkvbnaj1wlzhwfnpr4b97dz74czylif4c06";
     };
 
     propagatedBuildInputs = with self; [
-      characteristic pyasn1 pyasn1-modules pyopenssl idna
+      characteristic pyasn1 pyasn1-modules pyopenssl idna attrs
     ];
 
     buildInputs = with self; [
@@ -28685,15 +28878,15 @@ in modules // {
 
   tensorflowNoGpuSupport = buildPythonPackage rec {
     name = "tensorflow";
-    version = "0.8.0";
+    version = "0.9.0";
     format = "wheel";
 
     src = pkgs.fetchurl {
       url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${version}-cp27-none-linux_x86_64.whl";
-      sha256 = "07lb6rknngq9bicd7z1q9caiqxlqn4fdx8q24s3rqvv9wi79szws";
+      sha256 = "15v7iyry8bmp5wcc1rr4bkp80f3887rl99zqf8pys5bad4gldbkh";
     };
 
-    propagatedBuildInputs = with self; [ numpy six protobuf3_0 pkgs.swig ];
+    propagatedBuildInputs = with self; [ numpy six protobuf3_0_0b2 pkgs.swig ];
 
     preFixup = ''
       RPATH="${stdenv.lib.makeLibraryPath [ pkgs.gcc.cc.lib pkgs.zlib ]}"
@@ -28709,6 +28902,23 @@ in modules // {
     };
   };
 
+  tflearn = buildPythonPackage rec {
+    name = "tflearn-0.2.1";
+
+    meta = {
+      description = "Deep learning library featuring a higher-level API for TensorFlow";
+      homepage    = "https://github.com/tflearn/tflearn";
+      license     = licenses.mit;
+    };
+
+    propagatedBuildInputs = with self; [ scipy h5py pillow tensorflow ];
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/t/tflearn/${name}.tar.gz";
+      sha256 = "1n884c4j35409id2bncyj5fvmmfpdqj3pk6wrv0s1znnvs0lkii0";
+    };
+  };
+
   simpleai = buildPythonPackage rec {
      version = "0.7.11";
      name = "simpleai-${version}";